Condividi tramite


Rilevamento delle funzionalità della piattaforma - MRTK2

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

Funzionalità

Il toolkit Realtà mista fornisce l'enumerazione MixedRealityCapability , 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 manuale articolato
EyeTracking Selezione dello sguardo fisso
GGVHand Input della mano sguardo fisso-movimento-voce
MotionController Input del controller di movimento
VoiceCommand Comandi vocali che usano parole chiave definite dall'app
VoiceDictation Dettatura da 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