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"); } }
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; } }
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(); }
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); }
/// <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); }