public void ResetExample()
        {
            var pointerControl = GetComponent <PointerBehaviorControls>();
            IMixedRealityCapabilityCheck capabilityChecker = CoreServices.InputSystem as IMixedRealityCapabilityCheck;

            if (capabilityChecker != null)
            {
                if (capabilityChecker.CheckCapability(MixedRealityCapability.ArticulatedHand))
                {
                    pointerControl.SetHoloLens2();
                }
                else if (capabilityChecker.CheckCapability(MixedRealityCapability.MotionController))
                {
                    pointerControl.SetVR();
                }
                else
                {
                    pointerControl.SetHoloLens1();
                }
            }
            else
            {
                Debug.LogWarning("Input system does not implement IMixedRealityCapabilityCheck, not setting to any preset interaction");
            }
        }
Example #2
0
    private void Start()
    {
        //check if the app is running on HoloLens 2
        bool supportsArticulatedHands = false;

        IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;

        if (capabilityCheck != null)
        {
            supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
        }

        //if we are on hololens, the environment should be disabled (except if we are in Unity editor)
        roomEnvironment.SetActive(!supportsArticulatedHands || Application.isEditor);
    }
        private void Start()
        {
            IMixedRealityCapabilityCheck capabilityChecker = CoreServices.InputSystem as IMixedRealityCapabilityCheck;

            if (capabilityChecker != null)
            {
                bool isSupported = capabilityChecker.CheckCapability(MixedRealityCapability.ArticulatedHand);
                articulatedHandResult.text  = isSupported ? "Yes" : "No";
                articulatedHandResult.color = isSupported ? Color.green : Color.white;

                isSupported         = capabilityChecker.CheckCapability(MixedRealityCapability.GGVHand);
                ggvHandResult.text  = isSupported ? "Yes" : "No";
                ggvHandResult.color = isSupported ? Color.green : Color.white;

                isSupported = capabilityChecker.CheckCapability(MixedRealityCapability.MotionController);
                motionControllerResult.text  = isSupported ? "Yes" : "No";
                motionControllerResult.color = isSupported ? Color.green : Color.white;

                isSupported             = capabilityChecker.CheckCapability(MixedRealityCapability.EyeTracking);
                eyeTrackingResult.text  = isSupported ? "Yes" : "No";
                eyeTrackingResult.color = isSupported ? Color.green : Color.white;

                isSupported              = capabilityChecker.CheckCapability(MixedRealityCapability.VoiceCommand);
                voiceCommandResult.text  = isSupported ? "Yes" : "No";
                voiceCommandResult.color = isSupported ? Color.green : Color.white;

                isSupported = capabilityChecker.CheckCapability(MixedRealityCapability.VoiceDictation);
                voiceDictationResult.text  = isSupported ? "Yes" : "No";
                voiceDictationResult.color = isSupported ? Color.green : Color.white;
            }

            capabilityChecker = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
            if (capabilityChecker != null)
            {
                bool isSupported = capabilityChecker.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
                spatialMeshResult.text  = isSupported ? "Yes" : "No";
                spatialMeshResult.color = isSupported ? Color.green : Color.white;

                isSupported              = capabilityChecker.CheckCapability(MixedRealityCapability.SpatialAwarenessPlane);
                spatialPlaneResult.text  = isSupported ? "Yes" : "No";
                spatialPlaneResult.color = isSupported ? Color.green : Color.white;

                isSupported              = capabilityChecker.CheckCapability(MixedRealityCapability.SpatialAwarenessPoint);
                spatialPointResult.text  = isSupported ? "Yes" : "No";
                spatialPointResult.color = isSupported ? Color.green : Color.white;
            }
        }
        /// <inheritdoc />
        public bool CheckCapability(MixedRealityCapability capability)
        {
            foreach (var observer in GetDataProviders<IMixedRealitySpatialAwarenessObserver>())
            {
                IMixedRealityCapabilityCheck capabilityChecker = observer as IMixedRealityCapabilityCheck;

                // If one of the running data providers supports the requested capability, 
                // the application has the needed support to leverage the desired functionality.
                if ((capabilityChecker != null) &&
                    capabilityChecker.CheckCapability(capability))
                {
                    return true;
                }
            }

            return false;
        }
        /// <inheritdoc />
        public bool CheckCapability(MixedRealityCapability capability)
        {
            for (int i = 0; i < observers.Count; i++)
            {
                IMixedRealityCapabilityCheck capabilityChecker = observers[i] as IMixedRealityCapabilityCheck;

                // If one of the running data providers supports the requested capability,
                // the application has the needed support to leverage the desired functionality.
                if ((capabilityChecker != null) &&
                    capabilityChecker.CheckCapability(capability))
                {
                    return(true);
                }
            }

            return(false);
        }
        void Start()
        {
            IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;

            if (capabilityCheck == null)
            {
                return;
            }

            StringBuilder sb = new StringBuilder();

            sb.Append($"Capabilities Check\n\n");
            bool support = false;

            support = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
            sb.Append($"ArticulatedHand : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.EyeTracking);
            sb.Append($"EyeTracking : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.GGVHand);
            sb.Append($"GGVHand : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.MotionController);
            sb.Append($"MotionController : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.VoiceCommand);
            sb.Append($"VoiceCommand : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.VoiceDictation);
            sb.Append($"VoiceDictation : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
            sb.Append($"SpatialAwarenessMesh : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessPlane);
            sb.Append($"SpatialAwarenessPlane : {support}\n");

            support = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessPoint);
            sb.Append($"SpatialAwarenessPoint : {support}\n");

            tmp.text = sb.ToString();
        }