Ejemplo n.º 1
0
        /// <inheritdoc />
        protected override GenericXRSDKController GetOrAddController(InputDevice inputDevice)
        {
            GenericXRSDKController controller = base.GetOrAddController(inputDevice);

            if (controller is OculusXRSDKTouchController oculusTouchController)
            {
                oculusTouchController.UseMRTKControllerVisualization = cameraRig.IsNull();
            }

            return(controller);
        }
        protected override GenericXRSDKController GetOrAddController(InputDevice inputDevice)
        {
            using (GetOrAddControllerPerfMarker.Auto())
            {
                GenericXRSDKController  detectedController    = base.GetOrAddController(inputDevice);
                SupportedControllerType currentControllerType = GetCurrentControllerType(inputDevice);

                // Add the Motion Controller state if it's an HPMotionController
                if (currentControllerType == SupportedControllerType.HPMotionController)
                {
                    lock (trackedMotionControllerStates)
                    {
                        uint controllerId = GetControllerId(inputDevice);
                        if (trackedMotionControllerStates.ContainsKey(controllerId) && detectedController is HPMotionController hpController)
                        {
                            hpController.MotionControllerState = trackedMotionControllerStates[controllerId];
                        }
                    }
                }

                return(detectedController);
            }
        }
        /// <inheritdoc />
        protected override GenericXRSDKController GetOrAddController(InputDevice inputDevice)
        {
            GenericXRSDKController controller = base.GetOrAddController(inputDevice);

            if (!cameraRig.IsNull() && controller is OculusXRSDKTouchController oculusTouchController && oculusTouchController.OculusControllerVisualization == null)
            {
                GameObject platformVisualization = null;
                if (oculusTouchController.ControllerHandedness == Handedness.Left)
                {
                    platformVisualization = leftControllerHelper.gameObject;
                }
                if (oculusTouchController.ControllerHandedness == Handedness.Right)
                {
                    platformVisualization = rightControllerHelper.gameObject;
                }

                if (platformVisualization != null)
                {
                    oculusTouchController.RegisterControllerVisualization(platformVisualization);
                }
            }

            return(controller);
        }