public override void Update() { if (tracker == null || !tracker.enabled || !enabled) { return; } if (hmd == null) { hmd = sensorTransform.GetComponent <OpenVRHmd>(); UpdateTarget(headTarget.head.target, sensorTransform); } hmd.UpdateComponent(); if (hmd.status != Status.Tracking) { return; } if (!calibrated && tracker.humanoid.calibrateAtStart) { tracker.humanoid.Calibrate(); calibrated = true; } UpdateTarget(headTarget.head.target, hmd); UpdateNeckTargetFromHead(); }
public override void UpdateTracker() { if (!enabled || UnityVRDevice.xrDevice != UnityVRDevice.XRDeviceType.OpenVR) { status = Status.Unavailable; return; } status = OpenVRDevice.status; OpenVRDevice.Update(); Passer.OpenVR.Input.UpdateActionState(activeActionSets, activeActionSetSize); deviceView.position = Target.ToVector(trackerTransform.position); deviceView.orientation = Target.ToRotation(trackerTransform.rotation); bool showRealObjects = humanoid == null ? true : humanoid.showRealObjects; if (hmd != null) { hmd.UpdateComponent(); } foreach (SubTracker subTracker in subTrackers) { subTracker.UpdateTracker(showRealObjects); } foreach (OpenVRController controller in controllers) { controller.UpdateComponent(); } #if hVIVETRACKER foreach (ViveTrackerComponent viveTracker in viveTrackers) { viveTracker.UpdateComponent(); } #endif }