diff --git a/Editor/HumanoidControl/Extensions/UnityXR/UnityXR_Editor.cs b/Editor/HumanoidControl/Extensions/UnityXR/UnityXR_Editor.cs
index f07ed11..5e3fe2c 100644
--- a/Editor/HumanoidControl/Extensions/UnityXR/UnityXR_Editor.cs
+++ b/Editor/HumanoidControl/Extensions/UnityXR/UnityXR_Editor.cs
@@ -122,7 +122,7 @@ namespace Passer.Humanoid {
EditorGUILayout.LabelField("Hmd", GUILayout.Width(120));
if (GUILayout.Button("Show")) {
//headTarget.unityXR.CheckSensor(headTarget);
- headTarget.unityXR.GetSensorComponent();
+ headTarget.unityXR.CheckSensor(headTarget); //.GetSensorComponent();
}
}
}
diff --git a/Editor/HumanoidControl/HumanoidControl_Editor.cs b/Editor/HumanoidControl/HumanoidControl_Editor.cs
index e315275..33330e7 100644
--- a/Editor/HumanoidControl/HumanoidControl_Editor.cs
+++ b/Editor/HumanoidControl/HumanoidControl_Editor.cs
@@ -312,7 +312,7 @@ namespace Passer {
new Hydra_Editor.TrackerProps(serializedObject, targetObjs, humanoid.hydra),
#endif
#if hLEAP && (UNITY_STANDALONE_WIN || UNITY_WSA_10_0)
- new LeapMotion_Editor.TrackerProps(serializedObject, targetObjs, humanoid.leapTracker),
+ new LeapMotion_Editor.TrackerProps(serializedObject, targetObjs, humanoid.leap),
#endif
#if hKINECT1 && (UNITY_STANDALONE_WIN || UNITY_WSA_10_0)
new Kinect1_Editor.TrackerProps(serializedObject, targetObjs, humanoid.kinect1),
@@ -1082,7 +1082,7 @@ namespace Passer {
using (new EditorGUILayout.HorizontalScope()) {
EditorGUILayout.LabelField("Tracker", GUILayout.Width(120));
if (TrackerComponentShowButton())
- tracker.GetTrackerComponent();
+ tracker.CheckTracker(humanoid);
}
}
else {
@@ -1136,7 +1136,7 @@ namespace Passer {
private void RemoveControllers() {
foreach (HumanoidSensor sensor in tracker.sensors)
- RemoveTransform(sensor.sensorTransform);
+ RemoveSensor(sensor.sensorComponent);
if (tracker.headSensor != null)
tracker.headSensor.RemoveController(headSensorProp);
@@ -1152,11 +1152,16 @@ namespace Passer {
tracker.rightFootSensor.RemoveController(rightFootSensorProp);
}
- private void RemoveTransform(Transform trackerTransform) {
- if (trackerTransform != null)
- DestroyImmediate(trackerTransform.gameObject, true);
+ private void RemoveSensor(Tracking.SensorComponent sensorComponent) {
+ if (sensorComponent != null)
+ DestroyImmediate(sensorComponent.gameObject, true);
}
+ //private void RemoveTransform(Transform trackerTransform) {
+ // if (trackerTransform != null)
+ // DestroyImmediate(trackerTransform.gameObject, true);
+ //}
+
private void SetSensors2Target() {
foreach (HumanoidSensor sensor in tracker.sensors) {
sensor.SetSensor2Target();
diff --git a/Editor/HumanoidControl/Targets/FootTarget_Editor.cs b/Editor/HumanoidControl/Targets/FootTarget_Editor.cs
index ca2d9d4..a981db1 100644
--- a/Editor/HumanoidControl/Targets/FootTarget_Editor.cs
+++ b/Editor/HumanoidControl/Targets/FootTarget_Editor.cs
@@ -572,7 +572,7 @@ namespace Passer {
public abstract class TargetProps {
public SerializedProperty enabledProp;
- public SerializedProperty sensorTransformProp;
+ public SerializedProperty sensorComponentProp;
public SerializedProperty sensor2TargetPositionProp;
public SerializedProperty sensor2TargetRotationProp;
@@ -581,7 +581,7 @@ namespace Passer {
public TargetProps(SerializedObject serializedObject, LegSensor _sensor, FootTarget _footTarget, string unitySensorName) {
enabledProp = serializedObject.FindProperty(unitySensorName + ".enabled");
- sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ sensorComponentProp = serializedObject.FindProperty(unitySensorName + ".sensorComponent");
sensor2TargetPositionProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetPosition");
sensor2TargetRotationProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetRotation");
@@ -592,11 +592,11 @@ namespace Passer {
}
public virtual void SetSensor2Target() {
- if (sensor.sensorTransform == null)
+ if (sensor.sensorComponent == null)
return;
- sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorTransform.rotation) * footTarget.foot.target.transform.rotation;
- sensor2TargetPositionProp.vector3Value = -footTarget.foot.target.transform.InverseTransformPoint(sensor.sensorTransform.position);
+ sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorComponent.transform.rotation) * footTarget.foot.target.transform.rotation;
+ sensor2TargetPositionProp.vector3Value = -footTarget.foot.target.transform.InverseTransformPoint(sensor.sensorComponent.transform.position);
}
public abstract void Inspector();
diff --git a/Editor/HumanoidControl/Targets/HandTarget_Editor.cs b/Editor/HumanoidControl/Targets/HandTarget_Editor.cs
index d83bfc8..aeb96e8 100644
--- a/Editor/HumanoidControl/Targets/HandTarget_Editor.cs
+++ b/Editor/HumanoidControl/Targets/HandTarget_Editor.cs
@@ -721,7 +721,8 @@ namespace Passer.Humanoid {
public abstract class TargetProps {
public SerializedProperty enabledProp;
- public SerializedProperty sensorTransformProp;
+ //public SerializedProperty sensorTransformProp;
+ public SerializedProperty sensorComponentProp;
public SerializedProperty sensor2TargetPositionProp;
public SerializedProperty sensor2TargetRotationProp;
@@ -730,7 +731,8 @@ namespace Passer.Humanoid {
public TargetProps(SerializedObject serializedObject, Humanoid.ArmSensor _sensor, HandTarget _handTarget, string unitySensorName) {
enabledProp = serializedObject.FindProperty(unitySensorName + ".enabled");
- sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ //sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ sensorComponentProp = serializedObject.FindProperty(unitySensorName + ".sensorComponent");
sensor2TargetPositionProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetPosition");
sensor2TargetRotationProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetRotation");
diff --git a/Editor/HumanoidControl/Targets/HeadTarget_Editor.cs b/Editor/HumanoidControl/Targets/HeadTarget_Editor.cs
index 21a7493..d3db18d 100644
--- a/Editor/HumanoidControl/Targets/HeadTarget_Editor.cs
+++ b/Editor/HumanoidControl/Targets/HeadTarget_Editor.cs
@@ -507,7 +507,8 @@ namespace Passer.Humanoid {
public abstract class TargetProps {
public SerializedProperty enabledProp;
- public SerializedProperty sensorTransformProp;
+ //public SerializedProperty sensorTransformProp;
+ public SerializedProperty sensorComponentProp;
public SerializedProperty sensor2TargetPositionProp;
public SerializedProperty sensor2TargetRotationProp;
@@ -516,7 +517,7 @@ namespace Passer.Humanoid {
public TargetProps(SerializedObject serializedObject, HeadSensor _sensor, HeadTarget _headTarget, string unitySensorName) {
enabledProp = serializedObject.FindProperty(unitySensorName + ".enabled");
- sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ sensorComponentProp = serializedObject.FindProperty(unitySensorName + ".sensorComponent");
sensor2TargetPositionProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetPosition");
sensor2TargetRotationProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetRotation");
@@ -527,11 +528,11 @@ namespace Passer.Humanoid {
}
public virtual void SetSensor2Target() {
- if (sensor.sensorTransform == null)
+ if (sensor.sensorComponent == null)
return;
- sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorTransform.rotation) * headTarget.head.target.transform.rotation;
- sensor2TargetPositionProp.vector3Value = -headTarget.head.target.transform.InverseTransformPoint(sensor.sensorTransform.position);
+ sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorComponent.transform.rotation) * headTarget.head.target.transform.rotation;
+ sensor2TargetPositionProp.vector3Value = -headTarget.head.target.transform.InverseTransformPoint(sensor.sensorComponent.transform.position);
}
public abstract void Inspector();
diff --git a/Editor/HumanoidControl/Targets/HipsTarget_Editor.cs b/Editor/HumanoidControl/Targets/HipsTarget_Editor.cs
index 29f1111..c71f368 100644
--- a/Editor/HumanoidControl/Targets/HipsTarget_Editor.cs
+++ b/Editor/HumanoidControl/Targets/HipsTarget_Editor.cs
@@ -32,7 +32,7 @@ namespace Passer {
private void InitEditors() {
allProps = new TargetProps[] {
-#if hOPENVR && hVIVETRACKER && (UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX)
+#if hVIVETRACKER
new ViveTracker_Editor.HipsTargetProps(serializedObject, hipsTarget),
#endif
#if hKINECT1
@@ -297,7 +297,8 @@ namespace Passer {
public abstract class TargetProps {
public SerializedProperty enabledProp;
- public SerializedProperty sensorTransformProp;
+ //public SerializedProperty sensorTransformProp;
+ public SerializedProperty sensorComponentProp;
public SerializedProperty sensor2TargetPositionProp;
public SerializedProperty sensor2TargetRotationProp;
@@ -306,7 +307,8 @@ namespace Passer {
public TargetProps(SerializedObject serializedObject, TorsoSensor _sensor, HipsTarget _hipsTarget, string unitySensorName) {
enabledProp = serializedObject.FindProperty(unitySensorName + ".enabled");
- sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ //sensorTransformProp = serializedObject.FindProperty(unitySensorName + ".sensorTransform");
+ sensorComponentProp = serializedObject.FindProperty(unitySensorName + ".sensorComponent");
sensor2TargetPositionProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetPosition");
sensor2TargetRotationProp = serializedObject.FindProperty(unitySensorName + ".sensor2TargetRotation");
@@ -317,11 +319,11 @@ namespace Passer {
}
public virtual void SetSensor2Target() {
- if (sensor.sensorTransform == null)
+ if (sensor.sensorComponent == null)
return;
- sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorTransform.rotation) * hipsTarget.hips.target.transform.rotation;
- sensor2TargetPositionProp.vector3Value = -hipsTarget.hips.target.transform.InverseTransformPoint(sensor.sensorTransform.position);
+ sensor2TargetRotationProp.quaternionValue = Quaternion.Inverse(sensor.sensorComponent.transform.rotation) * hipsTarget.hips.target.transform.rotation;
+ sensor2TargetPositionProp.vector3Value = -hipsTarget.hips.target.transform.InverseTransformPoint(sensor.sensorComponent.transform.position);
}
public abstract void Inspector();
diff --git a/Runtime/HumanoidControl/Scripts/Animator/ArmAnimator.cs b/Runtime/HumanoidControl/Scripts/Animator/ArmAnimator.cs
index 07c6935..2d541bc 100644
--- a/Runtime/HumanoidControl/Scripts/Animator/ArmAnimator.cs
+++ b/Runtime/HumanoidControl/Scripts/Animator/ArmAnimator.cs
@@ -12,9 +12,9 @@ namespace Passer.Humanoid {
set { }
}
- public override SensorComponent GetSensorComponent() {
- return null;
- }
+ //public override SensorComponent GetSensorComponent() {
+ // return null;
+ //}
}
[System.Serializable]
@@ -26,9 +26,9 @@ namespace Passer.Humanoid {
set { }
}
- public override SensorComponent GetSensorComponent() {
- return null;
- }
+ //public override SensorComponent GetSensorComponent() {
+ // return null;
+ //}
public bool armSwing;
[HideInInspector]
diff --git a/Runtime/HumanoidControl/Scripts/Animator/HeadAnimator.cs b/Runtime/HumanoidControl/Scripts/Animator/HeadAnimator.cs
index 9ef0bfc..e54baa4 100644
--- a/Runtime/HumanoidControl/Scripts/Animator/HeadAnimator.cs
+++ b/Runtime/HumanoidControl/Scripts/Animator/HeadAnimator.cs
@@ -8,10 +8,6 @@ namespace Passer.Humanoid {
public bool headAnimation = true;
public bool faceAnimation = true;
- public override SensorComponent GetSensorComponent() {
- return null;
- }
-
#region Update
public override void Update() {
if (!headTarget.humanoid.animatorEnabled || !enabled || headTarget.humanoid.targetsRig.runtimeAnimatorController != null)
diff --git a/Runtime/HumanoidControl/Scripts/Animator/HeadPredictor.cs b/Runtime/HumanoidControl/Scripts/Animator/HeadPredictor.cs
index a118ceb..128a2ae 100644
--- a/Runtime/HumanoidControl/Scripts/Animator/HeadPredictor.cs
+++ b/Runtime/HumanoidControl/Scripts/Animator/HeadPredictor.cs
@@ -8,10 +8,6 @@ namespace Passer.Humanoid {
private Vector3 positionalVelocity;
private Quaternion rotationalVelocity;
- public override SensorComponent GetSensorComponent() {
- return null;
- }
-
public override void Start(HumanoidControl _humanoid, Transform targetTransform) {
base.Start(_humanoid, targetTransform);
}
diff --git a/Runtime/HumanoidControl/Scripts/Animator/LegAnimator.cs b/Runtime/HumanoidControl/Scripts/Animator/LegAnimator.cs
index 70714fd..a0f3446 100644
--- a/Runtime/HumanoidControl/Scripts/Animator/LegAnimator.cs
+++ b/Runtime/HumanoidControl/Scripts/Animator/LegAnimator.cs
@@ -6,10 +6,6 @@ namespace Passer.Humanoid {
[System.Serializable]
public class LegAnimator : LegSensor {
- public override SensorComponent GetSensorComponent() {
- return null;
- }
-
private LegAnimator leftAnimator;
private LegAnimator rightAnimator;
diff --git a/Runtime/HumanoidControl/Scripts/Animator/TorsoAnimator.cs b/Runtime/HumanoidControl/Scripts/Animator/TorsoAnimator.cs
index acefb35..7d00801 100644
--- a/Runtime/HumanoidControl/Scripts/Animator/TorsoAnimator.cs
+++ b/Runtime/HumanoidControl/Scripts/Animator/TorsoAnimator.cs
@@ -6,10 +6,6 @@ namespace Passer.Humanoid {
[System.Serializable]
public class TorsoAnimator : TorsoSensor {
- public override SensorComponent GetSensorComponent() {
- return null;
- }
-
public enum BodyRotation {
HeadRotation = 1,
HeadAndHandRotation = 2,
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs
index 4d9ea96..2a1960e 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs
@@ -93,8 +93,8 @@ namespace Passer.Humanoid {
Init(handTarget);
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
SerializedProperty targetProp = sensorProp.FindPropertyRelative("target");
targetProp.objectReferenceValue = target;
@@ -103,7 +103,7 @@ namespace Passer.Humanoid {
return;
CheckSensorTransform();
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
ShowSensor(handTarget.humanoid.showRealObjects && handTarget.showRealObjects);
@@ -114,18 +114,18 @@ namespace Passer.Humanoid {
}
public void RemoveController(SerializedProperty sensorProp) {
- if (sensorProp == null)
- return;
+ //if (sensorProp == null)
+ // return;
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = null;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = null;
}
#endif
public void CheckSensorTransform(Transform targetTransform, bool isLeft) {
- if (enabled && sensorTransform == null)
+ if (enabled && sensorComponent == null)
CreateSensorTransform(targetTransform, isLeft);
- else if (!enabled && sensorTransform != null)
+ else if (!enabled && sensorComponent != null)
RemoveSensorTransform();
}
@@ -136,22 +136,22 @@ namespace Passer.Humanoid {
}
public override void SetSensor2Target() {
- if (sensorTransform == null || target == null)
+ if (sensorComponent == null || target == null)
return;
- sensor2TargetRotation = Quaternion.Inverse(sensorTransform.rotation) * target.transform.rotation;
- sensor2TargetPosition = -target.transform.InverseTransformPoint(sensorTransform.position);
+ sensor2TargetRotation = Quaternion.Inverse(sensorComponent.transform.rotation) * target.transform.rotation;
+ sensor2TargetPosition = -target.transform.InverseTransformPoint(sensorComponent.transform.position);
}
public virtual void SetSensor2Target(Vector3 targetPosition, Quaternion targetRotation) {
- if (sensorTransform == null)
+ if (sensorComponent == null)
return;
- sensor2TargetRotation = Quaternion.Inverse(sensorTransform.rotation) * targetRotation;
+ sensor2TargetRotation = Quaternion.Inverse(sensorComponent.transform.rotation) * targetRotation;
//sensor2TargetPosition = -targetTransform.InverseTransformPoint(sensorTransform.position);
var worldToLocalMatrix = Matrix4x4.TRS(targetPosition, targetRotation, Vector3.one).inverse;
- sensor2TargetPosition = -worldToLocalMatrix.MultiplyPoint3x4(sensorTransform.position);
+ sensor2TargetPosition = -worldToLocalMatrix.MultiplyPoint3x4(sensorComponent.transform.position);
}
#endregion
@@ -248,11 +248,11 @@ namespace Passer.Humanoid {
protected virtual void UpdateHandTargetTransform(Humanoid.Tracking.ArmSensor armSensor) {
if (handTarget.hand.target.transform != null) {
if (armSensor.hand.confidence.rotation > 0 && armSensor.hand.confidence.rotation >= handTarget.hand.target.confidence.rotation) {
- handTarget.hand.target.transform.rotation = sensorTransform.rotation * sensor2TargetRotation;
+ handTarget.hand.target.transform.rotation = sensorComponent.transform.rotation * sensor2TargetRotation;
handTarget.hand.target.confidence.rotation = armSensor.hand.confidence.rotation;
}
if (armSensor.hand.confidence.position > 0 && armSensor.hand.confidence.position >= handTarget.hand.target.confidence.position) {
- handTarget.hand.target.transform.position = sensorTransform.position + handTarget.hand.target.transform.rotation * sensor2TargetPosition;
+ handTarget.hand.target.transform.position = sensorComponent.transform.position + handTarget.hand.target.transform.rotation * sensor2TargetPosition;
handTarget.hand.target.confidence.position = armSensor.hand.confidence.position;
}
else if (handTarget.hand.target.confidence.position == 0) // Hmm. I could insert the arm model here when confidence.rotation > 0.5F for example!
@@ -370,19 +370,21 @@ namespace Passer.Humanoid {
public abstract class ArmController : Humanoid.ArmSensor {
protected Humanoid.Tracking.Sensor.ID sensorID;
protected Controller controllerInput;
- public Humanoid.Tracking.ArmController oldController;
- public Passer.Tracking.ControllerComponent controller;
+ //public Humanoid.Tracking.ArmController oldController;
+ public Passer.Tracking.ControllerComponent controller => sensorComponent as Passer.Tracking.ControllerComponent;
+
+
public override Tracker.Status status {
get {
- if (oldController == null)
+ if (sensorComponent == null)
return Tracker.Status.Unavailable;
else
- return oldController.status;
+ return sensorComponent.status;
}
set {
- if (oldController != null)
- oldController.status = value;
+ if (sensorComponent != null)
+ sensorComponent.status = value;
}
}
@@ -399,11 +401,11 @@ namespace Passer.Humanoid {
if (tracker == null || !tracker.enabled || !enabled)
return;
- oldController.Update();
- if (oldController.status != Tracker.Status.Tracking)
- return;
+ //oldController.Update();
+ //if (oldController.status != Tracker.Status.Tracking)
+ // return;
- UpdateSensorTransform(oldController);
+ //UpdateSensorTransform(oldController);
UpdateTargetTransform();
}
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs
index c6b1d9a..568ab40 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs
@@ -7,13 +7,13 @@ namespace Passer.Humanoid {
using Passer.Tracking;
public abstract class HeadSensor : HumanoidSensor {
- protected HeadTarget headTarget {
- get { return target as HeadTarget; }
- }
+ protected HeadTarget headTarget => target as HeadTarget;
+ // get { return target as HeadTarget; }
+ //}
protected HumanoidControl humanoid => headTarget.humanoid;
- protected new Tracking.HeadSensor sensor;
+ //protected new Tracking.HeadSensor sensor;
#region Manage
@@ -42,8 +42,8 @@ namespace Passer.Humanoid {
Init(target);
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
SerializedProperty targetProp = sensorProp.FindPropertyRelative("target");
targetProp.objectReferenceValue = base.target;
@@ -61,11 +61,11 @@ namespace Passer.Humanoid {
}
public void RemoveController(SerializedProperty sensorProp) {
- if (sensorProp == null)
- return;
+ //if (sensorProp == null)
+ // return;
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = null;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = null;
}
#endif
@@ -79,13 +79,13 @@ namespace Passer.Humanoid {
if (tracker == null || !tracker.enabled || !enabled)
return;
- status = sensor.Update();
- UpdateSensorTransform(sensor);
+ //status = sensor.Update();
+ //UpdateSensorTransform(sensor);
- if (status != Tracker.Status.Tracking)
- return;
+ //if (status != Tracker.Status.Tracking)
+ // return;
- UpdateHeadTargetTransform(sensor);
+ //UpdateHeadTargetTransform(sensor);
}
protected virtual void UpdateHeadTargetTransform(Humanoid.Tracking.HeadSensor headTracker) {
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs
index b11898a..8584921 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs
@@ -12,7 +12,7 @@ namespace Passer.Humanoid {
public new virtual HumanoidTracker tracker => null;
- protected Tracking.Sensor sensor;
+ //protected Tracking.Sensor sensor;
[System.NonSerialized]
public const string _name = "";
@@ -30,9 +30,9 @@ namespace Passer.Humanoid {
}
public virtual void CheckSensorTransform() {
- if (enabled && sensorTransform == null)
+ if (enabled && sensorComponent == null)
CreateSensorTransform();
- else if (!enabled && sensorTransform != null)
+ else if (!enabled && sensorComponent != null)
RemoveSensorTransform();
if (sensor2TargetRotation.x + sensor2TargetRotation.y + sensor2TargetRotation.z + sensor2TargetRotation.w == 0)
@@ -57,8 +57,9 @@ namespace Passer.Humanoid {
sensorObject.name = resourceName;
}
- sensorTransform = sensorObject.transform;
- sensorTransform.parent = tracker.trackerComponent.transform;
+ //sensorTransform = sensorObject.transform;
+ //tracker.trackerComponent = tracker.GetTrackerComponent();
+ sensorObject.transform.parent = tracker.trackerComponent.transform;
sensor2TargetPosition = -_sensor2TargetPosition;
sensor2TargetRotation = Quaternion.Inverse(_sensor2TargetRotation);
@@ -68,17 +69,17 @@ namespace Passer.Humanoid {
protected void RemoveSensorTransform() {
if (Application.isPlaying)
- Object.Destroy(sensorTransform.gameObject);
+ Object.Destroy(sensorComponent.gameObject);
else
- Object.DestroyImmediate(sensorTransform.gameObject, true);
+ Object.DestroyImmediate(sensorComponent.gameObject, true);
}
public virtual void SetSensor2Target() {
- if (sensorTransform == null || target == null)
+ if (sensorComponent == null || target == null)
return;
- sensor2TargetRotation = Quaternion.Inverse(sensorTransform.rotation) * target.transform.rotation;
- sensor2TargetPosition = -InverseTransformPointUnscaled(target.transform, sensorTransform.position);
+ sensor2TargetRotation = Quaternion.Inverse(sensorComponent.transform.rotation) * target.transform.rotation;
+ sensor2TargetPosition = -InverseTransformPointUnscaled(target.transform, sensorComponent.transform.position);
}
public static Vector3 InverseTransformPointUnscaled(Transform transform, Vector3 position) {
@@ -92,28 +93,28 @@ namespace Passer.Humanoid {
if (tracker == null || !tracker.enabled || !enabled)
return;
- if (sensor == null)
- return;
+ //if (sensor == null)
+ // return;
- sensor.Update();
- if (sensor.status != Tracker.Status.Tracking)
- return;
+ //sensor.Update();
+ //if (sensor.status != Tracker.Status.Tracking)
+ // return;
- UpdateSensorTransform(sensor);
+ //UpdateSensorTransform(sensor);
UpdateTargetTransform();
}
protected void UpdateSensorTransform(Tracking.Sensor sensor) {
- if (sensorTransform == null)
+ if (sensorComponent == null)
return;
if (status == Tracker.Status.Tracking) {
- sensorTransform.gameObject.SetActive(true);
- sensorTransform.position = HumanoidTarget.ToVector3(sensor.sensorPosition);
- sensorTransform.rotation = HumanoidTarget.ToQuaternion(sensor.sensorRotation);
+ sensorComponent.gameObject.SetActive(true);
+ sensorComponent.transform.position = HumanoidTarget.ToVector3(sensor.sensorPosition);
+ sensorComponent.transform.rotation = HumanoidTarget.ToQuaternion(sensor.sensorRotation);
}
else {
- sensorTransform.gameObject.SetActive(false);
+ sensorComponent.gameObject.SetActive(false);
}
}
@@ -124,11 +125,11 @@ namespace Passer.Humanoid {
return;
}
- if (sensorTransform == null)
+ if (sensorComponent == null)
return;
- sensorTransform.position = TransformPointUnscaled(targetTransform, -sensor2TargetPosition);
- sensorTransform.rotation = targetTransform.rotation * Quaternion.Inverse(sensor2TargetRotation);
+ sensorComponent.transform.position = TransformPointUnscaled(targetTransform, -sensor2TargetPosition);
+ sensorComponent.transform.rotation = targetTransform.rotation * Quaternion.Inverse(sensor2TargetRotation);
}
protected static Vector3 TransformPointUnscaled(Transform transform, Vector3 position) {
@@ -137,8 +138,8 @@ namespace Passer.Humanoid {
}
protected virtual void UpdateTargetTransform() {
- target.transform.rotation = sensorTransform.rotation * sensor2TargetRotation;
- target.transform.position = sensorTransform.position + target.transform.rotation * sensor2TargetPosition;
+ target.transform.rotation = sensorComponent.transform.rotation * sensor2TargetRotation;
+ target.transform.position = sensorComponent.transform.position + target.transform.rotation * sensor2TargetPosition;
}
#endregion
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs
index b169c46..2a714fc 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs
@@ -39,8 +39,8 @@ namespace Passer.Humanoid {
Init(footTarget);
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
SerializedProperty targetProp = sensorProp.FindPropertyRelative("target");
targetProp.objectReferenceValue = target;
@@ -49,7 +49,7 @@ namespace Passer.Humanoid {
return;
CheckSensorTransform();
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
ShowSensor(footTarget.humanoid.showRealObjects && footTarget.showRealObjects);
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/Sensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/Sensor.cs
index 8825c45..042d0b5 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/Sensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/Sensor.cs
@@ -13,15 +13,9 @@ namespace Passer {
public virtual string name { get { return ""; } }
- public Transform sensorTransform;
+ //public Transform sensorTransform;
public SensorComponent sensorComponent;
- ///
- /// Returns sensorComponent and creates a new SensorComponent if it does not exist
- ///
- ///
- public abstract SensorComponent GetSensorComponent();
-
public virtual void Start(Transform targetTransform) {
target = targetTransform.GetComponent();
@@ -33,13 +27,16 @@ namespace Passer {
}
public virtual void ShowSensor(bool shown) {
- if (sensorTransform == null)
+ if (sensorComponent == null)
return;
- if (!Application.isPlaying)
- sensorTransform.gameObject.SetActive(shown);
+ //if (sensorTransform == null)
+ // return;
- Renderer[] renderers = sensorTransform.GetComponentsInChildren();
+ if (!Application.isPlaying)
+ sensorComponent.gameObject.SetActive(shown);
+
+ Renderer[] renderers = sensorComponent.GetComponentsInChildren();
for (int i = 0; i < renderers.Length; i++) {
if (!(renderers[i] is LineRenderer))
renderers[i].enabled = shown;
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs
index 14a4005..c44ea3c 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs
@@ -15,7 +15,7 @@ namespace Passer.Humanoid {
protected HumanoidControl humanoid => hipsTarget.humanoid;
//public SensorComponent sensorComponent;
- protected new Tracking.TorsoSensor sensor;
+ //protected new Tracking.TorsoSensor sensor;
#region Manage
@@ -43,8 +43,8 @@ namespace Passer.Humanoid {
Init(hipsTarget);
- SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //SerializedProperty sensorTransformProp = sensorProp.FindPropertyRelative("sensorTransform");
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
SerializedProperty targetProp = sensorProp.FindPropertyRelative("target");
targetProp.objectReferenceValue = target;
@@ -53,7 +53,7 @@ namespace Passer.Humanoid {
return;
CheckSensorTransform();
- sensorTransformProp.objectReferenceValue = sensorTransform;
+ //sensorTransformProp.objectReferenceValue = sensorTransform;
ShowSensor(hipsTarget.humanoid.showRealObjects && hipsTarget.showRealObjects);
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/Tracker.cs b/Runtime/HumanoidControl/Scripts/Extensions/Tracker.cs
index 14a6888..984e121 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/Tracker.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/Tracker.cs
@@ -36,11 +36,12 @@ namespace Passer {
/// The tracking device
///
public TrackerComponent trackerComponent;
- ///
- /// Returns trackerComponent and creates a new TrackerComponent if it does not exist
- ///
- ///
- public abstract TrackerComponent GetTrackerComponent();
+
+ /////
+ ///// Returns trackerComponent and creates a new TrackerComponent if it does not exist
+ /////
+ /////
+ //public abstract TrackerComponent GetTrackerComponent();
#region SubTrackers
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs
index 78cf983..50db6a6 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs
@@ -8,79 +8,61 @@ namespace Passer.Humanoid {
#if pUNITYXR
public override string name => "Unity XR";
-#if hCUSTOM
public override HumanoidTracker tracker => humanoid.unityXR;
-#endif
- public override SensorComponent GetSensorComponent() {
- if (sensorComponent != null)
- return sensorComponent;
+ // public override SensorComponent GetSensorComponent() {
+ // if (sensorComponent != null)
+ // return sensorComponent;
- Vector3 position = handTarget.transform.TransformPoint(handTarget.isLeft ? -0.1F : 0.1F, -0.05F, 0.04F);
- Quaternion localRotation = handTarget.isLeft ? Quaternion.Euler(180, 90, 90) : Quaternion.Euler(180, -90, -90);
- Quaternion rotation = handTarget.transform.rotation * localRotation;
-#if hSTEAMVR
- if (UnityXRDevice.xrDevice == UnityXRDevice.XRDeviceType.OpenVR) {
- SteamVR steamVR = unityXR.trackerComponent as SteamVR;
- controller = steamVR.GetController(handTarget.isLeft, position, rotation);
- }
- else
-#endif
- {
- UnityXR unityXRcomponent = unityXR.trackerComponent as UnityXR;
- controller = unityXRcomponent.GetController(handTarget.isLeft, position, rotation);
- }
- return controller as SensorComponent;
- }
+ // Vector3 position = handTarget.transform.TransformPoint(handTarget.isLeft ? -0.1F : 0.1F, -0.05F, 0.04F);
+ // Quaternion localRotation = handTarget.isLeft ? Quaternion.Euler(180, 90, 90) : Quaternion.Euler(180, -90, -90);
+ // Quaternion rotation = handTarget.transform.rotation * localRotation;
+ //#if hSTEAMVR
+ // if (UnityXRDevice.xrDevice == UnityXRDevice.XRDeviceType.OpenVR) {
+ // SteamVR steamVR = unityXR.trackerComponent as SteamVR;
+ // controller = steamVR.GetController(handTarget.isLeft, position, rotation);
+ // }
+ // else
+ //#endif
+ // {
+ // UnityXR unityXRcomponent = unityXR.trackerComponent as UnityXR;
+ // controller = unityXRcomponent.GetController(handTarget.isLeft, position, rotation);
+ // }
+ // return controller as SensorComponent;
+ // }
- protected UnityXRTracker unityXR => humanoid.unityXR;
+ protected UnityXR unityXR => tracker.trackerComponent as UnityXR;
#region Manage
public override void CheckSensor(HandTarget handTarget) {
-#if pUNITYXR
if (this.handTarget == null)
this.target = handTarget;
if (this.handTarget == null)
return;
- if (unityXR.trackerComponent == null && enabled)
- unityXR.CheckTracker(handTarget.humanoid);
+ if (tracker.trackerComponent == null && enabled)
+ tracker.CheckTracker(humanoid);
- if (enabled && unityXR.trackerComponent != null && unityXR.trackerComponent.enabled) {
- if (controller == null) {
+ if (enabled && tracker.trackerComponent != null && tracker.trackerComponent.enabled) {
+ if (sensorComponent == null) {
Vector3 position = handTarget.transform.TransformPoint(handTarget.isLeft ? -0.1F : 0.1F, -0.05F, 0.04F);
Quaternion localRotation = handTarget.isLeft ? Quaternion.Euler(180, 90, 90) : Quaternion.Euler(180, -90, -90);
Quaternion rotation = handTarget.transform.rotation * localRotation;
-#if hSTEAMVR
- if (UnityXRDevice.xrDevice == UnityXRDevice.XRDeviceType.OpenVR) {
- SteamVR steamVR = unityXR.trackerComponent as SteamVR;
- controller = steamVR.GetController(handTarget.isLeft, position, rotation);
- }
- else
-#endif
- {
- UnityXR unityXRcomponent = unityXR.trackerComponent as UnityXR;
- controller = unityXRcomponent.GetController(handTarget.isLeft, position, rotation);
- }
+ sensorComponent = unityXR.GetController(handTarget.isLeft, position, rotation);
}
- if (controller != null)
- sensorTransform = controller.transform;
-
if (!Application.isPlaying)
SetSensor2Target();
}
else {
#if UNITY_EDITOR
if (!Application.isPlaying) {
- if (controller != null)
- Object.DestroyImmediate(controller.gameObject, true);
+ if (sensorComponent != null)
+ Object.DestroyImmediate(sensorComponent.gameObject, true);
}
#endif
- controller = null;
- sensorTransform = null;
+ sensorComponent = null;
}
-#endif
}
#endregion Manage
@@ -98,13 +80,13 @@ namespace Passer.Humanoid {
Quaternion localRotation = handTarget.isLeft ? Quaternion.Euler(180, 90, 90) : Quaternion.Euler(180, -90, -90);
Quaternion rotation = handTarget.transform.rotation * localRotation;
- UnityXR unityXRcomponent = unityXR.trackerComponent as UnityXR;
+ UnityXR unityXRcomponent = unityXR; //.trackerComponent as UnityXR;
if (unityXRcomponent != null)
- controller = unityXRcomponent.GetController(handTarget.isLeft, position, rotation);
+ sensorComponent = unityXRcomponent.GetController(handTarget.isLeft, position, rotation);
- if (controller != null) {
- controller.show = handTarget.humanoid.showRealObjects && handTarget.showRealObjects;
- sensorTransform = controller.transform;
+ if (sensorComponent != null) {
+ sensorComponent.show = handTarget.humanoid.showRealObjects && handTarget.showRealObjects;
+ //sensorTransform = controller.transform;
}
SetSensor2Target();
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs
index 5262a37..91aee63 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs
@@ -15,26 +15,26 @@ namespace Passer.Humanoid {
public UnityXR unityXR => tracker.trackerComponent as UnityXR;
//protected UnityXRTracker unityXR => humanoid.unityXR;
- public override SensorComponent GetSensorComponent() {
- if (sensorComponent != null)
- return sensorComponent;
+ //public override SensorComponent GetSensorComponent() {
+ // if (sensorComponent != null)
+ // return sensorComponent;
- // Make sure the unityXR component exists
- humanoid.unityXR.GetTrackerComponent();
+ // // Make sure the unityXR component exists
+ // humanoid.unityXR.CheckTracker(humanoid);
- Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
- Quaternion rotation = headTarget.transform.rotation;
- UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
- sensorComponent = unityXRtracker.GetHmd(position, rotation);
+ // Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
+ // Quaternion rotation = headTarget.transform.rotation;
+ // UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
+ // sensorComponent = unityXRtracker.GetHmd(position, rotation);
- if (sensorComponent != null)
- sensorTransform = sensorComponent.transform;
+ // //if (sensorComponent != null)
+ // // sensorTransform = sensorComponent.transform;
- if (!Application.isPlaying)
- SetSensor2Target();
+ // if (!Application.isPlaying)
+ // SetSensor2Target();
- return sensorComponent;
- }
+ // return sensorComponent;
+ //}
#region Manage
@@ -44,19 +44,15 @@ namespace Passer.Humanoid {
if (this.headTarget == null)
return;
- if (tracker.trackerComponent == null) {
+ if (tracker.trackerComponent == null)
tracker.CheckTracker(humanoid);
- }
if (enabled && tracker.trackerComponent != null && tracker.trackerComponent.enabled) {
if (sensorComponent == null) {
Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
Quaternion rotation = headTarget.transform.rotation;
- UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
- sensorComponent = unityXRtracker.GetHmd(position, rotation);
+ sensorComponent = unityXR.GetHmd(position, rotation);
}
- if (sensorComponent != null)
- sensorTransform = sensorComponent.transform;
if (!Application.isPlaying)
SetSensor2Target();
@@ -69,7 +65,6 @@ namespace Passer.Humanoid {
}
#endif
sensorComponent = null;
- sensorTransform = null;
}
}
@@ -112,8 +107,8 @@ namespace Passer.Humanoid {
UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
sensorComponent = unityXRtracker.GetHmd(position, rotation);
}
- if (sensorComponent != null)
- sensorTransform = sensorComponent.transform;
+ //if (sensorComponent != null)
+ // sensorTransform = sensorComponent.transform;
SetSensor2Target();
CheckSensorTransform();
diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRTracker.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRTracker.cs
index 2828921..0ce3d29 100644
--- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRTracker.cs
+++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRTracker.cs
@@ -129,11 +129,6 @@ namespace Passer.Humanoid {
#region Manage
- public override TrackerComponent GetTrackerComponent() {
- CheckTracker(humanoid, UnityXR.Get);
- return trackerComponent;
- }
-
public override void CheckTracker(HumanoidControl humanoid) {
CheckTracker(humanoid, UnityXR.Get);
}
diff --git a/Runtime/HumanoidControl/Scripts/HumanoidControl.cs b/Runtime/HumanoidControl/Scripts/HumanoidControl.cs
index 2cf2460..dbbfbe9 100644
--- a/Runtime/HumanoidControl/Scripts/HumanoidControl.cs
+++ b/Runtime/HumanoidControl/Scripts/HumanoidControl.cs
@@ -688,6 +688,7 @@ namespace Passer.Humanoid {
/// Checks the humanoid for presence of Targets and adds them if they are not found
public void DetermineTargets() {
+ CheckTargetRig(this);
HeadTarget.DetermineTarget(this);
HandTarget.DetermineTarget(this, true);
HandTarget.DetermineTarget(this, false);
@@ -762,7 +763,7 @@ namespace Passer.Humanoid {
public void UpdateSensorsFromTargets() {
#if hLEAP
// temporary solution? Leap may need a Head Sensor Component for the camera tracker?
- leapTracker.UpdateTrackerFromTarget(leapTracker.isHeadMounted);
+ leap.UpdateTrackerFromTarget(leap.isHeadMounted);
#endif
hipsTarget.UpdateSensorsFromTarget();
headTarget.UpdateSensorsFromTarget();
@@ -1023,7 +1024,7 @@ namespace Passer.Humanoid {
#endif
/// The Leap Motion tracker
#if hLEAP
- public LeapTracker leapTracker = new LeapTracker();
+ public LeapTracker leap = new LeapTracker();
#endif
/// The Intel RealSense tracker
#if hREALSENSE
@@ -1119,7 +1120,7 @@ namespace Passer.Humanoid {
neuronTracker,
#endif
#if hLEAP
- leapTracker,
+ leap,
#endif
#if hREALSENSE
realsense,
@@ -1358,7 +1359,7 @@ namespace Passer.Humanoid {
#region Stop
public void OnApplicationQuit() {
#if hLEAP
- leapTracker.StopTracker();
+ leap.StopTracker();
#endif
#if hNEURON
neuronTracker.StopTracker();