public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); tracker = headTarget.humanoid.openVR; if (tracker == null || !tracker.enabled || !enabled) { return; } SetSensor2Target(); CheckSensorTransform(); sensor2TargetPosition = -headTarget.head2eyes; if (sensorTransform != null) { hmd = sensorTransform.GetComponent <OpenVRHmd>(); if (hmd != null) { hmd.StartComponent(tracker.trackerTransform); } } }
public static OpenVRHmd NewHmd(HumanoidControl humanoid, int trackerId = -1) { GameObject trackerPrefab = Resources.Load(resourceName) as GameObject; GameObject trackerObject = (trackerPrefab == null) ? new GameObject(resourceName) : Instantiate(trackerPrefab); trackerObject.name = resourceName; OpenVRHmd trackerComponent = trackerObject.GetComponent <OpenVRHmd>(); if (trackerComponent == null) { trackerComponent = trackerObject.AddComponent <OpenVRHmd>(); } if (trackerId != -1) { trackerComponent.trackerId = trackerId; } trackerObject.transform.parent = humanoid.openVR.trackerTransform; trackerComponent.StartComponent(humanoid.openVR.trackerTransform); return(trackerComponent); }