Partager via


Détection des fonctionnalités de la plateforme — MRTK2

Une question courante de MRTK consiste à savoir quel appareil spécifique (par exemple, Microsoft HoloLens 2) est utilisé pour exécuter une application. L’identification du matériel exact peut être difficile sur différentes plateformes. Au lieu de cela, le MRTK permet d’identifier des fonctionnalités spécifiques au moment de l’exécution (par exemple, si le point de terminaison de l’appareil actuel prend en charge les mains articulées).

Fonctionnalités

Le kit de ressources Mixed Reality fournit l’énumération MixedRealityCapability , qui définit un ensemble de fonctionnalités pour lesquelles une application peut interroger au moment de l’exécution.

Fonctionnalités du système d’entrée

Le système d’entrée MRTK par défaut prend en charge l’interrogation des fonctionnalités suivantes :

Fonctionnalité Description
ArticulatedHand Entrée manuelle articulée
EyeTracking Ciblage du regard
GGVHand Entrée de la main Du regard-Mouvement-Voix
MotionController Entrée du contrôleur de mouvement
VoiceCommand Commandes vocales utilisant des mots clés définis par l’application
VoiceDictation Dictée de voix en texte

L’exemple de code ci-dessous vérifie si le système d’entrée a chargé un fournisseur de données avec prise en charge des mains articulées.

bool supportsArticulatedHands = false;

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

Fonctionnalités de reconnaissance spatiale

Le système de reconnaissance spatiale MRTK par défaut prend en charge l’interrogation des fonctionnalités suivantes :

Fonctionnalité Description
SpatialAwarenessMesh Maillages spatiaux
SpatialAwarenessPlane Plans spatiaux
SpatialAwarenessPoint Points spatiaux

Cet exemple vérifie si le système de reconnaissance spatiale a chargé un fournisseur de données prenant en charge les maillages spatiaux.

bool supportsSpatialMesh = false;

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

Voir aussi