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.

Exemple de mode d’interaction proche

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.

Détecteur en mode d’interaction proche en action

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.

Priorité du gestionnaire de mode

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.