Partager via


Mouvements — MRTK2

Les mouvements sont des événements d’entrée basés sur les mains humaines. Il existe deux types d’appareils qui déclenchent des événements d’entrée de mouvement dans MRTK :

  • Appareils Windows Mixed Reality tels que HoloLens. Cela décrit les mouvements de pincement (« Air Tap ») et les mouvements d’appui et de mise en attente.

    Pour plus d’informations sur les mouvements HoloLens, consultez la documentation sur les mouvements Windows Mixed Reality.

    WindowsMixedRealityDeviceManager encapsule unity XR. WSA. Input.GestureRecognizer pour consommer les événements de mouvement d’Unity à partir d’appareils HoloLens.

  • Appareils tactiles.

    UnityTouchController encapsule la classe Unity Touch qui prend en charge les écrans tactiles physiques.

Ces deux sources d’entrée utilisent le profil mouvement Paramètres pour traduire respectivement les événements Tactile et Mouvement d’Unity dans les actions d’entrée de MRTK. Ce profil se trouve sous le profil Paramètres système d’entrée.

Profil de mouvement

Gestes d’événements

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).

Consultez l’exemple de scène pour obtenir un exemple d’implémentation d’un gestionnaire d’événements de mouvement.

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 leur deltaPosition.
  • Vector3 - Mouvement de position 3D. Produit par HoloLens pour informer :
  • Quaternion - Mouvement de rotation 3D. Disponible pour les sources d’entrée personnalisées, mais qui ne sont actuellement produites par aucune des sources existantes.
  • MixedRealityPose - Mouvement combiné de position/rotation 3D. Disponible pour les sources d’entrée personnalisées, mais qui ne sont actuellement produites par aucune des sources existantes.

Ordre des événements

Il existe deux chaînes principales d’événements, en fonction de l’entrée utilisateur :

  • « Hold » :

    1. Appuyez longuement :
      • démarrer la manipulation
    2. Appuyez longuement au-delà de HoldStartDuration :
      • démarrer la conservation
    3. Appuyez sur la mise en production :
      • conservation complète
      • manipulation complète
  • « Move » :

    1. Appuyez longuement :
      • démarrer la manipulation
    2. Appuyez longuement au-delà de HoldStartDuration :
      • démarrer la conservation
    3. Passez la main au-delà de NavigationStartThreshold :
      • annuler la conservation
      • démarrer la navigation
    4. Appuyez sur la mise en production :
      • manipulation complète
      • Navigation complète

Exemple de scène

La scène HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) montre comment utiliser le pointeur Result 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 pour visualiser les événements de mouvement via GameObjects. Les fonctions du gestionnaire modifient la couleur des objets d’indicateur et affichent le dernier événement enregistré dans les objets texte de la scène.