示例#1
0
    // Update is called once per frame
    private void Update()
    {
        if (previousValue != NeedRoomScale)
        {
            UnityEngine.XR.TrackingSpaceType newValue = NeedRoomScale ? UnityEngine.XR.TrackingSpaceType.RoomScale : UnityEngine.XR.TrackingSpaceType.Stationary;
            var currentTracking = UnityEngine.XR.XRDevice.GetTrackingSpaceType();

            if (currentTracking != newValue)
            {
                previousValue = UnityEngine.XR.XRDevice.SetTrackingSpaceType(newValue);
            }
            else
            {
                previousValue = currentTracking == UnityEngine.XR.TrackingSpaceType.RoomScale;
            }

            if (floorObject != null)
            {
                floorObject.SetActive(NeedRoomScale);
            }
        }
        else if (!firstEstablishedTracking)
        {
            firstEstablishedTracking = true;

            CheckForRecenter();

            UpdateCamera();

            SetInitialRelativePositions();
        }
    }
 public static bool SetTrackingSpaceType(UnityEngine.XR.TrackingSpaceType trackingSpaceType)
 {
     throw new NotSupportedException("VRDevice has been moved and renamed.  Use UnityEngine.XR.XRDevice instead.");
 }