Delen via


Platformmogelijkheden detecteren — MRTK2

Een veelgestelde vraag van MRTK houdt in dat u weet 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 apparaateindpunt gelede handen ondersteunt).

Functies

De Mixed Reality Toolkit biedt de MixedRealityCapability opsomming, waarmee een set mogelijkheden wordt gedefinieerd waarop een toepassing tijdens runtime query's kan uitvoeren.

Invoersysteemmogelijkheden

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

Mogelijkheid Beschrijving
ArticulatedHand Gelede handinvoer
EyeTracking Gericht op ogen staren
GGVHand Gaze-Gesture-Voice handinvoer
MotionController Invoer van bewegingscontroller
Spraakopdracht Spraakopdrachten met 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 gelede handen.

bool supportsArticulatedHands = false;

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

Mogelijkheden voor ruimtelijk bewustzijn

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 ruimtelijk bewustzijn 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