Gestionnaire du mode d’interaction — MRTK3
Vue d’ensemble
Un mode d’interaction représente un sous-ensemble d’interactions qui doivent être activées en fonction des informations contextuelles sur ce que l’utilisateur fait. Par exemple, un mode d’interaction proche peut désactiver tous les interactions de rayon tout en autorisant l’utilisation des interactions de saisie et de poke. À l’inverse, lorsque l’utilisateur saisit un objet, vous pouvez entrer un mode d’interaction de saisie proche, ce qui désactive l’interaction tactile, empêchant les activations tactiles accidentelles lors de la saisie de l’objet.
Le Gestionnaire du mode d’interaction fait le lien entre ces contextes d’interaction. Il s’appuie sur le détecteur de mode d’interaction pour déterminer le meilleur mode pour le contexte actuel. Les détecteurs de mode, tels que le ProximityModeDetector
, déterminent le mode qui doit être actif pour un contrôleur donné en fonction de toute condition arbitraire. Les développeurs peuvent créer de nouvelles façons de lever l’ambiguïté entre les contextes d’interaction en implémentant IInteractionModeDetector
.
La priorité de chaque mode est déterminée par l’ordre dans lequel ils sont répertoriés dans le Gestionnaire du mode d’interaction. Les modes répertoriés plus loin dans la liste ont une priorité plus élevée, ce qui en fait le mode dominant dans les cas où plusieurs contextes d’interaction peuvent être valides. Le gestionnaire du mode d’interaction permet également à l’utilisateur de spécifier un mode d’interaction par défaut.
Détecteurs
Le MRTK contient une implémentation de jeu IInteractionModeDetectors
, chacun spécifiant les InteractionMode
éléments à activer ou désactiver.
Détecteur d’interactions
Active InteractionDetector
ou désactive le pointage spécifié et sélectionne les modes d’interaction chaque fois que l’un des interacteurs associés a un pointage ou une cible de sélection valide.
Détecteur de proximité
Active ProximityDetector
ou désactive le mode d’interaction spécifié lorsque le détecteur se trouve à proximité du collisionneur d’un objet interactable.
Détecteur de mode d’interaction proche
Active NearInteractionModeDetector
ou désactive le mode d’interaction spécifié lorsque le détecteur ou l’un des interacteurs associés est proche du collider de am interactable.