コード例 #1
0
        private void onXRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
        {
            if (state == WebXRState.VR)
            {
                GameStateManager.Instance.DeRegisterUpdatableObject(this);
                //isUpdating = false;

                //Reset the XR rotation of our VR Cameras to avoid leaving weird rotations from desktop mode
                curRotationX = 0f;

                var result = Quaternion.Euler(new Vector3(0, curRotationY, 0));

                teleportPlayer.SetXRAndSpectatorRotation(result);
            }
            else if (state == WebXRState.NORMAL)
            {
                //commented to avoid setting rotation back on which causes rotational issues when switching cameras
                //  EnableAccordingToPlatform();

                //set desktop camera the same as the xr camera on xr exit
                curRotationX = 0f;

                desktopCamera.position = playspace.position;

                desktopCamera.localRotation = Quaternion.Euler(new Vector3(0, curRotationY, 0));

                SyncXRWithSpectator();

                GameStateManager.Instance.RegisterUpdatableObject(this);
                // isUpdating = true;
            }
        }
コード例 #2
0
 public void setXrState(WebXRState state, int viewsCount)
 {
     this.xrState = state;
     if (OnXRChange != null)
     {
         OnXRChange(state, viewsCount);
     }
 }
コード例 #3
0
 private void OnXRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     xrState         = state;
     this.viewsCount = viewsCount;
     this.leftRect   = leftRect;
     this.rightRect  = rightRect;
     switched        = false;
 }
コード例 #4
0
ファイル: WebXRManager.cs プロジェクト: De-Panther/ggj2020
 public void setXrState(WebXRState state)
 {
     this.xrState = state;
     if (OnXRChange != null)
     {
         OnXRChange(state);
     }
 }
コード例 #5
0
 public void setXrState(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     this.xrState          = state;
     this.viewsCount       = viewsCount;
     this.leftRect         = leftRect;
     this.rightRect        = rightRect;
     viewerHitTestOn       = false;
     reportedXRStateSwitch = false;
 }
コード例 #6
0
 public void setXrState(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     this.xrState    = state;
     viewerHitTestOn = false;
     if (OnXRChange != null)
     {
         OnXRChange(state, viewsCount, leftRect, rightRect);
     }
 }
コード例 #7
0
 private void Awake()
 {
     Debug.Log("Active Graphics Tier: " + Graphics.activeTier);
     instance = this;
     if (instance.dontDestroyOnLoad)
     {
         DontDestroyOnLoad(instance);
     }
     xrState = WebXRState.NORMAL;
 }
コード例 #8
0
 private void onXRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     if (state == WebXRState.VR)
     {
         SetToXR();
     }
     else if (state == WebXRState.NORMAL)
     {
         SetToDesktop();
     }
 }
コード例 #9
0
 private void ToggleMode(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     if (state == WebXRState.VR)
     {
         SetVRViewPort();
     }
     else if (state == WebXRState.NORMAL)
     {
         SetDesktopViewport();
     }
 }
コード例 #10
0
 private void onXRChange(WebXRState state)
 {
     if (state == WebXRState.ENABLED)
     {
         DisableEverything();
     }
     else
     {
         EnableAccordingToPlatform();
     }
 }
コード例 #11
0
 private void onXRChange(WebXRState state)
 {
     Debug.Log("onXRChange:: state: " + state.ToString());
     if (state == WebXRState.ENABLED)
     {
         EnableXRMove(true);
     }
     else
     {
         EnableXRMove(false);
     }
 }
コード例 #12
0
        private void onVRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
        {
            xrState         = state;
            this.viewsCount = viewsCount;
            this.leftRect   = leftRect;
            this.rightRect  = rightRect;

            if (xrState == WebXRState.VR)
            {
#if UNITY_WEBGL && !UNITY_EDITOR
                //set complete camera gameobject to false to prevent update calls from freeflight controller
                cameraMainEditor.gameObject.SetActive(false);
                cameraMain.gameObject.SetActive(false);
#else
                cameraMainEditor.gameObject.SetActive(true);
                cameraMain.gameObject.SetActive(false);
#endif

                cameraL.enabled = viewsCount > 0;
                cameraL.rect    = leftRect;
                cameraR.enabled = viewsCount > 1;
                cameraR.rect    = rightRect;

                cameraARL.enabled = false;
                cameraARR.enabled = false;
            }
            else if (xrState == WebXRState.AR)
            {
                cameraMain.gameObject.SetActive(false);

                cameraL.enabled = false;
                cameraR.enabled = false;

                cameraARL.enabled = viewsCount > 0;
                cameraARL.rect    = leftRect;
                cameraARR.enabled = viewsCount > 1;
                cameraARR.rect    = rightRect;
            }
            else if (xrState == WebXRState.NORMAL)
            {
                cameraMainEditor.gameObject.SetActive(false);
                cameraMain.gameObject.SetActive(true);

                cameraL.enabled = false;
                cameraR.enabled = false;

                cameraARL.enabled = false;
                cameraARR.enabled = false;
            }
        }
コード例 #13
0
 public void setXrState(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     visibilityState       = WebXRVisibilityState.VISIBLE;
     this.xrState          = state;
     this.viewsCount       = viewsCount;
     this.leftRect         = leftRect;
     this.rightRect        = rightRect;
     viewerHitTestOn       = false;
     reportedXRStateSwitch = false;
     if (state != WebXRState.NORMAL)
     {
         visibilityStateChanged = true;
     }
 }
コード例 #14
0
 private void HandleOnXRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     WebXRManager.Instance.transform.localPosition = originPosition;
     WebXRManager.Instance.transform.localRotation = originRotation;
     isFollowing = false;
     if (state == WebXRState.AR)
     {
         WebXRManager.Instance.OnViewerHitTestUpdate += HandleOnViewerHitTestUpdate;
         WebXRManager.Instance.StartViewerHitTest();
     }
     else
     {
         WebXRManager.Instance.OnViewerHitTestUpdate -= HandleOnViewerHitTestUpdate;
     }
 }
コード例 #15
0
 protected virtual void onVRChange(WebXRState state)
 {
     if (state == WebXRState.ENABLED)
     {
         _cameraLeft.rect            = RECT_WEBXR_ENABLED;
         _cameraLeft.stereoTargetEye = StereoTargetEyeMask.Left;
         _cameraRight.gameObject.SetActive(true);
     }
     else
     {
         _cameraLeft.rect            = RECT_WEBXR_DISABLED;
         _cameraLeft.stereoTargetEye = StereoTargetEyeMask.Both;
         _cameraRight.gameObject.SetActive(false);
     }
 }
コード例 #16
0
        private void onVRChange(WebXRState state)
        {
            xrActive = state == WebXRState.ENABLED;

            if (xrActive)
            {
                cameraMain.enabled = false;
                cameraL.enabled    = true;
                cameraR.enabled    = true;
            }
            else
            {
                cameraMain.enabled = true;
                cameraL.enabled    = false;
                cameraR.enabled    = false;
            }
        }
コード例 #17
0
        private void Awake()
        {
            Debug.Log("Active Graphics Tier: " + Graphics.activeTier);
            if (null == instance)
            {
                instance = this;
            }
            else if (instance != this)
            {
                Destroy(gameObject);
            }

            if (instance.dontDestroyOnLoad)
            {
                DontDestroyOnLoad(instance);
            }
            xrState = WebXRState.NORMAL;
        }
コード例 #18
0
 private void WebXRManager_OnXRChange(WebXRState state, int viewsCount, Rect leftRect, Rect rightRect)
 {
     throw new System.NotImplementedException();
 }
コード例 #19
0
 void OnXRChange(WebXRState state)
 {
     allowShooting = (state == WebXRState.NORMAL);
     particleLouncherPivot.gameObject.SetActive(!allowShooting);
 }
コード例 #20
0
 private void onXRChange(WebXRState state)
 {
     xrActive = state == WebXRState.ENABLED;
 }
コード例 #21
0
 private void onXRChange(WebXRState state, int viewsCount)
 {
     xrState         = state;
     this.viewsCount = viewsCount;
     switched        = false;
 }