Exemplo n.º 1
0
        public override void UpdateTracker()
        {
            if (!enabled || trackerTransform == null)
            {
                return;
            }

            if (UnityVRDevice.xrDevice != UnityVRDevice.XRDeviceType.Oculus)
            {
                status = Status.Unavailable;
                return;
            }

            status = OculusDevice.status;

            trackerTransform.localPosition = new Vector3(0, OculusDevice.eyeHeight, 0);
            deviceView.position            = Target.ToVector(trackerTransform.position);
            deviceView.orientation         = Target.ToRotation(trackerTransform.rotation);

            OculusDevice.Update();

            foreach (SubTracker subTracker in subTrackers)
            {
                if (subTracker != null)
                {
                    subTracker.UpdateTracker(humanoid.showRealObjects);
                }
            }

            if (OculusDevice.ovrp_GetAppShouldRecenter() == OculusDevice.Bool.True)
            {
                humanoid.Calibrate();
            }
        }