public override void UpdateTracker() { if (!enabled || trackerTransform == null) { return; } if (UnityVRDevice.xrDevice != UnityVRDevice.XRDeviceType.WindowsMR) { status = Status.Unavailable; return; } status = Status.Present; WindowsMRDevice.Update(); status = Status.Tracking; }
public override void StartTracker(HumanoidControl _humanoid) { humanoid = _humanoid; if (humanoid.headTarget.unityVRHead.enabled && UnityVRDevice.xrDevice == UnityVRDevice.XRDeviceType.WindowsMR) { enabled = true; } if (!enabled || UnityVRDevice.xrDevice != UnityVRDevice.XRDeviceType.WindowsMR) { return; } WindowsMRDevice.Start(); AddTracker(humanoid, null); }
public override void UpdateComponent() { WindowsMRDevice.SensorState controllerState = WindowsMRDevice.GetControllerState(isLeft); if (!controllerState.tracked) { status = Status.Present; return; } transform.position = trackerTransform.TransformPoint(controllerState.position); transform.rotation = trackerTransform.rotation * controllerState.rotation; positionConfidence = controllerState.positionConfidence; rotationConfidence = controllerState.rotationConfidence; status = Status.Tracking; gameObject.SetActive(true); UpdateInput(); }
public override void UpdateComponent() { WindowsMRDevice.SensorState hmdState = WindowsMRDevice.GetHmdState(); if (!hmdState.tracked) { status = Status.Present; return; } transform.position = trackerTransform.TransformPoint(hmdState.position); transform.rotation = trackerTransform.rotation * hmdState.rotation; positionConfidence = hmdState.positionConfidence; rotationConfidence = hmdState.rotationConfidence; status = Status.Tracking; gameObject.SetActive(true); FuseWithUnityCamera(); }