Actions d’entrée — MRTK2

Les actions d’entrée sont des abstractions sur les entrées brutes destinées à isoler la logique d’application des sources d’entrée spécifiques produisant une entrée. Il peut être utile, par exemple, de définir une action Select et de la mapper au bouton gauche de la souris, d’un bouton dans un boîtier de commande et d’un déclencheur dans un contrôleur DOF 6. Vous pouvez ensuite faire en sorte que votre logique d’application écoute les événements d’action Sélectionner une entrée au lieu de devoir connaître toutes les différentes entrées qui peuvent les produire.

Création d’une action d’entrée

Les actions d’entrée sont configurées dans le profil d’actions d’entrée, à l’intérieur du profil système d’entrée dans le composant Mixed Reality Toolkit, en spécifiant un nom pour l’action et le type d’entrées (contrainte d’axe) auquel il peut être mappé :

Input Action

Il s’agit des valeurs les plus couramment utilisées pour la contrainte d’axe :

Contrainte d’axe Description
Digital Entrée activée/désactivée comme un bouton binaire dans un boîtier de commande ou une souris.
Axe unique Entrée analogique à axe unique comme un déclencheur analogique dans un boîtier de commande.
Double axe Entrée analogique double axe comme un stick.
Six Dof Pose 3D avec traduction et rotation comme celle produite par 6 contrôleurs DOF.

Vous trouverez la liste complète dans AxisType.

Mappage de l’entrée aux actions

La façon dont vous mappez une entrée et une action dépend du type de la source d’entrée :

Entrée du contrôleur

Accédez au profil de mappage d’entrée du contrôleur, sous le profil système d’entrée. Vous y trouverez la liste de tous les contrôleurs pris en charge :

Input maping profile

Sélectionnez celui que vous souhaitez configurer et une fenêtre de boîte de dialogue s’affiche avec toutes les entrées du contrôleur, ce qui vous permet de définir une action pour chacune d’elles :

Input Action Assignment

SpeechInput

Dans le profil de commande Speech, sous le profil système d’entrée, vous trouverez la liste des commandes vocales actuellement définies. Pour mapper l’un d’eux à une action, il vous suffit de le sélectionner dans la liste déroulante Action .

Speech Commands profile

Entrée de mouvement

Le profil de mouvements, sous le profil système d’entrée, contient tous les mouvements définis. Vous pouvez mapper chacune d’elles à une action en la sélectionnant dans la liste déroulante Action .

Gesture profile

Gestion des actions d’entrée

Avertissement

Actuellement, seules les actions d’entrée de type Numérique peuvent être gérées à l’aide des méthodes décrites dans cette section. Pour les autres types d’actions, vous devez gérer directement les événements pour les entrées correspondantes à la place. Par exemple, pour gérer une action DOF 6 mappée aux entrées du contrôleur, vous devez utiliser IMixedRealityGestureHandler<T> avec T = MixedRealityPose.

Le moyen le plus simple de gérer les actions d’entrée consiste à utiliser le InputActionHandler script. Cela vous permet de définir l’action à écouter et à réagir aux événements démarrés et terminés à l’aide des événements Unity.

Acton Handler

Si vous souhaitez davantage de contrôle, vous pouvez implémenter l’interface IMixedRealityInputActionHandler directement dans votre script. Pour plus d’informations sur la gestion des événements via des interfaces de gestionnaire, consultez la section Événements d’entrée .

Exemples

Consultez MRTK/Examples/Demos/Input/Scenes/InputActions un exemple de scène montrant comment créer une action, la mapper au contrôleur, aux entrées vocales et de mouvements et à l’utiliser pour faire pivoter un objet sur commande.

Input action example