Mouvements — MRTK2
Les mouvements sont des événements d’entrée basés sur des mains humaines. Il existe deux types d’appareils qui déclenchent des événements d’entrée de mouvement dans MRTK :
Windows Mixed Reality des appareils tels que HoloLens. Cela décrit les mouvements de pincement (« Appui aérien ») et les mouvements d’appui et de maintien.
Pour plus d’informations sur les mouvements HoloLens, consultez la documentation des mouvements Windows Mixed Reality.
WindowsMixedRealityDeviceManager
encapsule unity XR. WSA. Input.GestureRecognizer pour utiliser les événements de mouvement d’Unity à partir d’appareils HoloLens.Appareils à écran tactile.
UnityTouchController
encapsule la classe Unity Touch qui prend en charge les écrans tactiles physiques.
Ces deux sources d’entrée utilisent le profil Paramètres de mouvement pour traduire respectivement les événements Touch et Gesture d’Unity en actions d’entrée de MRTK. Ce profil se trouve sous le profil Paramètres du système d’entrée .
Événements de mouvement
Les événements de mouvement sont reçus en implémentant l’une des interfaces du gestionnaire de mouvements : IMixedRealityGestureHandler
ou IMixedRealityGestureHandler<TYPE>
(voir la table des gestionnaires d’événements).
Pour obtenir un exemple d’implémentation d’un gestionnaire d’événements de mouvement, consultez Exemple de scène .
Lors de l’implémentation de la version générique, les événements OnGestureCompleted et OnGestureUpdated peuvent recevoir des données typées des types suivants :
Vector2
- Mouvement de position 2D. Produit par des écrans tactiles pour informer de leurdeltaPosition
.Vector3
- Mouvement de position 3D. Produit par HoloLens pour informer :cumulativeDelta
d’un événement de manipulationnormalizedOffset
d’un événement de navigation
Quaternion
- Mouvement de rotation 3D. Disponible pour les sources d’entrée personnalisées, mais n’est actuellement produite par aucune des sources existantes.MixedRealityPose
- Mouvement combiné de position/rotation 3D. Disponible pour les sources d’entrée personnalisées, mais n’est actuellement produite par aucune des sources existantes.
Ordre des événements
Il existe deux chaînes d’événements principales, en fonction de l’entrée utilisateur :
« Hold » :
- Appuyez longuement sur :
- démarrer la manipulation
- Appuyez longuement au-delà de HoldStartDuration :
- démarrer la conservation
- Appuyez sur Libérer :
- terminer la conservation
- manipulation complète
- Appuyez longuement sur :
« Déplacer » :
- Appuyez longuement sur :
- démarrer la manipulation
- Appuyez longuement au-delà de HoldStartDuration :
- démarrer la conservation
- Déplacez la main au-delà de NavigationStartThreshold :
- annuler la conservation
- démarrer la navigation
- Appuyez sur Libérer :
- manipulation complète
- navigation complète
- Appuyez longuement sur :
Exemple de scène
La scène HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) montre comment utiliser le résultat du pointeur pour générer un objet à l’emplacement d’accès.
Le GestureTester
script (Assets/MRTK/Examples/Demos/HandTracking/Script) est un exemple d’implémentation permettant de visualiser les événements de mouvement via GameObjects. Les fonctions de gestionnaire modifient la couleur des objets d’indicateur et affichent le dernier événement enregistré dans les objets texte de la scène.