Rilevamento delle funzionalità della piattaforma - MRTK2

Una domanda comune eseguita da MRTK implica la conoscenza di quale dispositivo specifico (ad esempio, Microsoft HoloLens 2) viene usato per eseguire un'applicazione. L'identificazione dell'hardware esatto può essere complessa su piattaforme diverse. Invece, MRTK consente di identificare funzionalità specifiche in fase di esecuzione, ad esempio se l'endpoint dispositivo corrente supporta mani articolate.

Funzionalità

Il Realtà mista Toolkit fornisce l'enumerazioneMixedRealityCapability, che definisce un set di funzionalità per cui un'applicazione può eseguire query in fase di esecuzione.

Funzionalità del sistema di input

Il sistema di input MRTK predefinito supporta l'esecuzione di query sulle funzionalità seguenti:

Funzionalità Descrizione
ArticolatoHand Input mano articolato
EyeTracking Obiettivo sguardo oculare
GGVHand Input della mano Gaze-Gesture-Voice
MotionController Input del controller di movimento
VoiceCommand Comandi vocali tramite parole chiave definite dall'app
VoiceDictation Dettatura voce a testo

Il codice di esempio seguente verifica se il sistema di input ha caricato un provider di dati con supporto per mani articolate.

bool supportsArticulatedHands = false;

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

Funzionalità di consapevolezza spaziale

Il sistema di consapevolezza spaziale MRTK predefinito supporta l'esecuzione di query sulle funzionalità seguenti:

Funzionalità Descrizione
SpatialAwarenessMesh Mesh spaziali
SpatialAwarenessPlane Piani spaziali
SpatialAwarenessPoint Punti spaziali

In questo esempio viene verificato se il sistema di consapevolezza spaziale ha caricato un provider di dati con supporto per le mesh spaziali.

bool supportsSpatialMesh = false;

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

Vedi anche