Actions d’entrée — MRTK2

Les actions d’entrée sont des abstractions sur des 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 Sélectionner et de la mapper au bouton gauche de la souris, à un bouton dans un boîtier de commande et à un déclencheur dans un contrôleur à 6 DOF. Vous pouvez ensuite demander à votre logique d’application d’écouter les événements Sélectionner une action d’entrée au lieu d’avoir à connaître toutes les différentes entrées qui peuvent le 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) à laquelle elle peut être mappée :

Action d’entrée

Voici les 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 une manette.
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 d’une entrée à des 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 :

Profil de mappage d’entrée

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 :

Affectation d’action d’entrée

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’une d’entre elles à une action, sélectionnez-la simplement dans la liste déroulante Action .

Profil Commandes vocales

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 chacun d’eux à une action en la sélectionnant dans la liste déroulante Action .

Profil de mouvement

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 6 DOF 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 que vous souhaitez écouter et réagir aux événements commencés et terminés à l’aide d’événements Unity.

Gestionnaire d’acton

Si vous souhaitez plus 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 les interfaces de gestionnaire, consultez la section Événements d’entrée .

Exemples

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

Exemple d’action d’entrée