Code improvement
This commit is contained in:
parent
59f4add2ac
commit
ae7112de56
@ -104,7 +104,7 @@ namespace Passer.Humanoid {
|
||||
public HeadTargetProps(SerializedObject serializedObject, HeadTarget headTarget)
|
||||
: 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() {
|
||||
@ -121,7 +121,8 @@ namespace Passer.Humanoid {
|
||||
using (new EditorGUILayout.HorizontalScope()) {
|
||||
EditorGUILayout.LabelField("Hmd", GUILayout.Width(120));
|
||||
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;
|
||||
|
||||
//public SensorComponent sensorComponent;
|
||||
protected new Tracking.HeadSensor sensor;
|
||||
|
||||
|
||||
|
@ -14,13 +14,6 @@ namespace Passer.Humanoid {
|
||||
|
||||
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]
|
||||
public const string _name = "";
|
||||
public override string name { get { return _name; } }
|
||||
@ -125,6 +118,12 @@ namespace Passer.Humanoid {
|
||||
}
|
||||
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Passer {
|
||||
using Tracking;
|
||||
|
||||
[System.Serializable]
|
||||
public abstract class Sensor {
|
||||
@ -14,6 +15,14 @@ namespace Passer {
|
||||
|
||||
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) {
|
||||
target = targetTransform.GetComponent<Target>();
|
||||
}
|
||||
|
@ -19,13 +19,20 @@ namespace Passer.Humanoid {
|
||||
if (sensorComponent != null)
|
||||
return sensorComponent;
|
||||
|
||||
if (tracker.trackerComponent == null)
|
||||
tracker.CheckTracker(humanoid);
|
||||
// Make sure the unityXR component exists
|
||||
humanoid.unityXR.GetTrackerComponent();
|
||||
|
||||
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 (!Application.isPlaying)
|
||||
SetSensor2Target();
|
||||
|
||||
return sensorComponent;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user