Code improvement
This commit is contained in:
parent
59f4add2ac
commit
ae7112de56
@ -104,7 +104,7 @@ namespace Passer.Humanoid {
|
|||||||
public HeadTargetProps(SerializedObject serializedObject, HeadTarget headTarget)
|
public HeadTargetProps(SerializedObject serializedObject, HeadTarget headTarget)
|
||||||
: base(serializedObject, headTarget.unityXR, headTarget, nameof(HeadTarget.unityXR)) {
|
: base(serializedObject, headTarget.unityXR, headTarget, nameof(HeadTarget.unityXR)) {
|
||||||
|
|
||||||
hmdProp = serializedObject.FindProperty(nameof(HeadTarget.unityXR) + ".hmd");
|
hmdProp = serializedObject.FindProperty(nameof(HeadTarget.unityXR) + ".sensorComponent");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Inspector() {
|
public override void Inspector() {
|
||||||
@ -121,7 +121,8 @@ namespace Passer.Humanoid {
|
|||||||
using (new EditorGUILayout.HorizontalScope()) {
|
using (new EditorGUILayout.HorizontalScope()) {
|
||||||
EditorGUILayout.LabelField("Hmd", GUILayout.Width(120));
|
EditorGUILayout.LabelField("Hmd", GUILayout.Width(120));
|
||||||
if (GUILayout.Button("Show")) {
|
if (GUILayout.Button("Show")) {
|
||||||
headTarget.unityXR.CheckSensor(headTarget);
|
//headTarget.unityXR.CheckSensor(headTarget);
|
||||||
|
headTarget.unityXR.GetSensorComponent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,6 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
protected HumanoidControl humanoid => headTarget.humanoid;
|
protected HumanoidControl humanoid => headTarget.humanoid;
|
||||||
|
|
||||||
//public SensorComponent sensorComponent;
|
|
||||||
protected new Tracking.HeadSensor sensor;
|
protected new Tracking.HeadSensor sensor;
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,13 +14,6 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
protected Tracking.Sensor sensor;
|
protected Tracking.Sensor sensor;
|
||||||
|
|
||||||
public SensorComponent sensorComponent;
|
|
||||||
/// <summary>
|
|
||||||
/// Returns sensorComponent and creates a new SensorComponent if it does not exist
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public abstract SensorComponent GetSensorComponent();
|
|
||||||
|
|
||||||
[System.NonSerialized]
|
[System.NonSerialized]
|
||||||
public const string _name = "";
|
public const string _name = "";
|
||||||
public override string name { get { return _name; } }
|
public override string name { get { return _name; } }
|
||||||
@ -125,6 +118,12 @@ namespace Passer.Humanoid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public virtual void UpdateSensorTransformFromTarget(Transform targetTransform) {
|
public virtual void UpdateSensorTransformFromTarget(Transform targetTransform) {
|
||||||
|
if (sensorComponent != null) {
|
||||||
|
sensorComponent.transform.position = TransformPointUnscaled(targetTransform, -sensor2TargetPosition);
|
||||||
|
sensorComponent.transform.rotation = targetTransform.rotation * Quaternion.Inverse(sensor2TargetRotation);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (sensorTransform == null)
|
if (sensorTransform == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Passer {
|
namespace Passer {
|
||||||
|
using Tracking;
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public abstract class Sensor {
|
public abstract class Sensor {
|
||||||
@ -14,6 +15,14 @@ namespace Passer {
|
|||||||
|
|
||||||
public Transform sensorTransform;
|
public Transform sensorTransform;
|
||||||
|
|
||||||
|
public SensorComponent sensorComponent;
|
||||||
|
/// <summary>
|
||||||
|
/// Returns sensorComponent and creates a new SensorComponent if it does not exist
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public abstract SensorComponent GetSensorComponent();
|
||||||
|
|
||||||
|
|
||||||
public virtual void Start(Transform targetTransform) {
|
public virtual void Start(Transform targetTransform) {
|
||||||
target = targetTransform.GetComponent<Target>();
|
target = targetTransform.GetComponent<Target>();
|
||||||
}
|
}
|
||||||
|
@ -19,13 +19,20 @@ namespace Passer.Humanoid {
|
|||||||
if (sensorComponent != null)
|
if (sensorComponent != null)
|
||||||
return sensorComponent;
|
return sensorComponent;
|
||||||
|
|
||||||
if (tracker.trackerComponent == null)
|
// Make sure the unityXR component exists
|
||||||
tracker.CheckTracker(humanoid);
|
humanoid.unityXR.GetTrackerComponent();
|
||||||
|
|
||||||
Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
|
Vector3 position = headTarget.transform.TransformPoint(headTarget.head2eyes);
|
||||||
Quaternion rotation = headTarget.transform.rotation;
|
Quaternion rotation = headTarget.transform.rotation;
|
||||||
UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
|
UnityXR unityXRtracker = tracker.trackerComponent as UnityXR;
|
||||||
sensorComponent = unityXRtracker.GetHmd(position, rotation);
|
sensorComponent = unityXRtracker.GetHmd(position, rotation);
|
||||||
|
|
||||||
|
if (sensorComponent != null)
|
||||||
|
sensorTransform = sensorComponent.transform;
|
||||||
|
|
||||||
|
if (!Application.isPlaying)
|
||||||
|
SetSensor2Target();
|
||||||
|
|
||||||
return sensorComponent;
|
return sensorComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user