Vive Tracker support

Removed readme
This commit is contained in:
Pascal Serrarens 2022-06-01 16:54:16 +02:00
parent 59558c09e3
commit eeb0009545
17 changed files with 71 additions and 54 deletions

View File

@ -33,7 +33,7 @@ namespace Passer {
private void InitEditors() { private void InitEditors() {
allProps = new TargetProps[] { allProps = new TargetProps[] {
#if hOPENVR && hVIVETRACKER && (UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX) #if hVIVETRACKER
new ViveTracker_Editor.FootTargetProps(serializedObject, footTarget), new ViveTracker_Editor.FootTargetProps(serializedObject, footTarget),
#endif #endif
#if hKINECT1 #if hKINECT1

View File

@ -7,7 +7,8 @@
"PhotonVoice", "PhotonVoice",
"PhotonVoice.PUN", "PhotonVoice.PUN",
"PhotonRealtime", "PhotonRealtime",
"PhotonVoice.API" "PhotonVoice.API",
"SteamVR"
], ],
"includePlatforms": [ "includePlatforms": [
"Editor" "Editor"

View File

@ -1,13 +0,0 @@
Humanoid Control
Version: 4.0 beta 3
Improvements
- Support for hand tracking (Oculus, Leap & Vive)
- Support for startup.json in persistentData on Android
- Add Enter Site URL for Desktop Visitor
- Add site loading message
- Add Visitor Name
- Switch to Assembly Definitions
- Support for Unity 2021.2+
- Interaction pointer color is now default orange
- Visitor pointing with hand tracking support

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a4d5a0f617cc7a04194adb993af84560
timeCreated: 1487237018
licenseType: Free
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,11 +12,10 @@ namespace Passer.Humanoid {
get { return target as HandTarget; } get { return target as HandTarget; }
} }
protected HumanoidControl humanoid { protected HumanoidControl humanoid => handTarget.humanoid;
get { return handTarget.humanoid; }
}
protected new Humanoid.Tracking.ArmSensor sensor; public SensorComponent sensorComponent;
protected new Tracking.ArmSensor sensor;
public HandSkeleton handSkeleton; public HandSkeleton handSkeleton;
@ -41,8 +40,8 @@ namespace Passer.Humanoid {
if (this.handTarget == null) if (this.handTarget == null)
return; return;
if (this.tracker == null) //if (this.tracker == null)
this.tracker = tracker; // this.tracker = tracker;
if (enabled && tracker.enabled) { if (enabled && tracker.enabled) {
if (handSkeleton == null) { if (handSkeleton == null) {

View File

@ -11,13 +11,11 @@ namespace Passer.Humanoid {
get { return target as HeadTarget; } get { return target as HeadTarget; }
} }
protected HumanoidControl humanoid { protected HumanoidControl humanoid => headTarget.humanoid;
get { return headTarget.humanoid; }
}
protected new Humanoid.Tracking.HeadSensor sensor;
public SensorComponent sensorComponent; public SensorComponent sensorComponent;
protected new Tracking.HeadSensor sensor;
#region Manage #region Manage
@ -26,7 +24,7 @@ namespace Passer.Humanoid {
this.target = headTarget; this.target = headTarget;
} }
#endregion #endregion Manage
#region Start #region Start
public virtual void Init(HeadTarget headTarget) { public virtual void Init(HeadTarget headTarget) {

View File

@ -10,7 +10,8 @@ namespace Passer.Humanoid {
enabled = true; enabled = true;
} }
public new HumanoidTracker tracker; //public new HumanoidTracker tracker;
public new virtual HumanoidTracker tracker => null;
protected Tracking.Sensor sensor; protected Tracking.Sensor sensor;
@ -24,9 +25,9 @@ namespace Passer.Humanoid {
public Quaternion sensor2TargetRotation; public Quaternion sensor2TargetRotation;
#region Start #region Start
public virtual void Init(HumanoidTracker _tracker) { //public virtual void Init(HumanoidTracker _tracker) {
tracker = _tracker; // tracker = _tracker;
} //}
public virtual void Start(HumanoidControl _humanoid, Transform targetTransform) { public virtual void Start(HumanoidControl _humanoid, Transform targetTransform) {
target = targetTransform.GetComponent<Target>(); target = targetTransform.GetComponent<Target>();

View File

@ -4,12 +4,24 @@ using UnityEditor;
#endif #endif
namespace Passer.Humanoid { namespace Passer.Humanoid {
using Passer.Tracking;
public class LegSensor : HumanoidSensor { public class LegSensor : HumanoidSensor {
protected FootTarget footTarget { protected FootTarget footTarget => target as FootTarget;
get { return (FootTarget)target; }
protected HumanoidControl humanoid => footTarget.humanoid;
public SensorComponent sensorComponent;
//protected new Tracking.LegSensor sensor;
#region Manage
public virtual void CheckSensor(FootTarget footTarget) {
if (this.footTarget == null)
this.target = footTarget;
} }
protected new Humanoid.Tracking.LegSensor sensor;
#endregion Manage
#region Start #region Start
public virtual void Init(FootTarget footTarget) { public virtual void Init(FootTarget footTarget) {

View File

@ -4,13 +4,27 @@ using UnityEditor;
#endif #endif
namespace Passer.Humanoid { namespace Passer.Humanoid {
using Passer.Tracking;
public class TorsoSensor : HumanoidSensor { public class TorsoSensor : HumanoidSensor {
//protected HipsTarget hipsTarget;
protected HipsTarget hipsTarget { protected HipsTarget hipsTarget {
get { return (HipsTarget)target; } get { return (HipsTarget)target; }
} }
protected new Humanoid.Tracking.TorsoSensor sensor;
protected HumanoidControl humanoid => hipsTarget.humanoid;
public SensorComponent sensorComponent;
protected new Tracking.TorsoSensor sensor;
#region Manage
public virtual void CheckSensor(HipsTarget hipsTarget) {
if (this.hipsTarget == null)
this.target = hipsTarget;
}
#endregion Manage
#region Start #region Start
public virtual void Init(HipsTarget hipsTarget) { public virtual void Init(HipsTarget hipsTarget) {

View File

@ -8,6 +8,10 @@ namespace Passer.Humanoid {
#if pUNITYXR #if pUNITYXR
public override string name => "Unity XR"; public override string name => "Unity XR";
#if hCUSTOM
public override HumanoidTracker tracker => humanoid.unityXR;
#endif
protected UnityXRTracker unityXR => humanoid.unityXR; protected UnityXRTracker unityXR => humanoid.unityXR;
#region Manage #region Manage
@ -66,7 +70,7 @@ namespace Passer.Humanoid {
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { public override void Start(HumanoidControl _humanoid, Transform targetTransform) {
base.Start(_humanoid, targetTransform); base.Start(_humanoid, targetTransform);
tracker = handTarget.humanoid.unityXR; //tracker = handTarget.humanoid.unityXR;
if (tracker == null || tracker.enabled == false) if (tracker == null || tracker.enabled == false)
return; return;

View File

@ -10,6 +10,10 @@ namespace Passer.Humanoid {
get { return "Unity XR"; } get { return "Unity XR"; }
} }
#if hCUSTOM
public override HumanoidTracker tracker => humanoid.unityXR;
#endif
protected UnityXRTracker unityXR { protected UnityXRTracker unityXR {
get { return humanoid.unityXR; } get { return humanoid.unityXR; }
} }
@ -58,7 +62,7 @@ namespace Passer.Humanoid {
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { public override void Start(HumanoidControl _humanoid, Transform targetTransform) {
base.Start(_humanoid, targetTransform); base.Start(_humanoid, targetTransform);
tracker = headTarget.humanoid.unityXR; //tracker = headTarget.humanoid.unityXR;
if (tracker == null || !tracker.enabled || !enabled) if (tracker == null || !tracker.enabled || !enabled)
return; return;

View File

@ -16,6 +16,7 @@
/// ------- /// -------
/// * \ref UnityXRTracker "UnityXR" /// * \ref UnityXRTracker "UnityXR"
/// * \ref LeapTracker "Leap Motion" /// * \ref LeapTracker "Leap Motion"
/// * \ref ViveTrackerComponent "Vive Tracker"
/// ///
/// Input /// Input
/// ----- /// -----

View File

@ -137,7 +137,7 @@ namespace Passer.Humanoid {
if (sensors == null) { if (sensors == null) {
sensors = new LegSensor[] { sensors = new LegSensor[] {
legAnimator, legAnimator,
#if hOPENVR && hVIVETRACKER && (UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX) #if hVIVETRACKER
viveTracker, viveTracker,
#endif #endif
#if hKINECT1 #if hKINECT1

View File

@ -11,7 +11,8 @@
"PhotonVoice.API", "PhotonVoice.API",
"LeapMotion", "LeapMotion",
"LeapMotion.LeapCSharp", "LeapMotion.LeapCSharp",
"SteamVR" "SteamVR",
"Unity.XR.OpenVR"
], ],
"includePlatforms": [], "includePlatforms": [],
"excludePlatforms": [], "excludePlatforms": [],

View File

@ -13,8 +13,9 @@ Material:
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: 3000
stringTagMap: {} stringTagMap:
RenderType: Transparent
disabledShaderPasses: [] disabledShaderPasses: []
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3

View File

@ -13,8 +13,9 @@ Material:
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: 3000
stringTagMap: {} stringTagMap:
RenderType: Transparent
disabledShaderPasses: [] disabledShaderPasses: []
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3

View File

@ -13,8 +13,9 @@ Material:
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: 3000
stringTagMap: {} stringTagMap:
RenderType: Transparent
disabledShaderPasses: [] disabledShaderPasses: []
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3