Platformmogelijkheden detecteren

Een veelvoorkomende vraag van de MRTK omvat het weten welk specifiek apparaat (bijvoorbeeld Microsoft HoloLens 2) wordt gebruikt om een toepassing uit te voeren. Het identificeren van de exacte hardware kan lastig zijn op verschillende platforms. In plaats daarvan biedt de MRTK een manier om specifieke mogelijkheden tijdens runtime te identificeren (bijvoorbeeld als het huidige apparaat-eindpunt verwoorde handen ondersteunt).

Functies

De Mixed Reality Toolkit de -enumeratie, waarmee een set mogelijkheden wordt bepaald waarvoor een MixedRealityCapability toepassing tijdens runtime query's kan uitvoeren.

Mogelijkheden van het invoersysteem

Het mrtk-invoersysteem biedt standaard ondersteuning voor het uitvoeren van query's op de volgende mogelijkheden:

Mogelijkheid Beschrijving
Verwoordehand Verwoorde handinvoer
EyeTracking Gericht oogcontact
GGVHand Staring-Gesture-Voice-invoer
MotionController Invoer van bewegingscontroller
VoiceCommand Spraakopdrachten met behulp van door de app gedefinieerde trefwoorden
VoiceDictation Spraak-naar-tekst-dicteren

Met de onderstaande voorbeeldcode wordt gecontroleerd of het invoersysteem een gegevensprovider heeft geladen met ondersteuning voor verwoorde handen.

bool supportsArticulatedHands = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}

Mogelijkheden voor ruimtelijke kennis

Het standaard MRTK Spatial Awareness-systeem ondersteunt het uitvoeren van query's op de volgende mogelijkheden:

Mogelijkheid Beschrijving
SpatialAwarenessMesh Ruimtelijke meshes
SpatialAwarenessPlane Ruimtelijke vlakken
SpatialAwarenessPoint Ruimtelijke punten

In dit voorbeeld wordt gecontroleerd of het systeem voor ruimtelijke kennis een gegevensprovider heeft geladen met ondersteuning voor ruimtelijke meshes.

bool supportsSpatialMesh = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}

Zie ook