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);
}