Gesty — MRTK2

Gesty są zdarzeniami wejściowymi opartymi na ludzkich rękach. Istnieją dwa typy urządzeń, które zgłaszają zdarzenia wprowadzania gestów w zestawie narzędzi MRTK:

Oba te źródła danych wejściowych używają profilu Gest Ustawienia, aby odpowiednio przetłumaczyć zdarzenia Touch i Gest aparatu Unity na akcje wejściowe zestawu NARZĘDZI MRTK. Ten profil można znaleźć w obszarze Profilu systemu wejściowego Ustawienia.

Profil gestu

Zdarzenia gestów

Zdarzenia gestów są odbierane przez zaimplementowanie jednego z interfejsów obsługi gestów: IMixedRealityGestureHandler lub IMixedRealityGestureHandler<TYPE> (zobacz tabelę procedur obsługi zdarzeń).

Zobacz Przykładowa scena , aby zapoznać się z przykładową implementacją programu obsługi zdarzeń gestu.

Podczas implementowania wersji ogólnej zdarzenia OnGestureCompleted i OnGestureUpdated mogą odbierać typizowane dane następujących typów:

  • Vector2 - Gest położenia 2D. Produkowane przez ekrany dotykowe, aby poinformować o ich deltaPosition.
  • Vector3 - Gest położenia 3D. Produkowane przez urządzenie HoloLens w celu informowania o:
  • Quaternion - Gest rotacji 3D. Dostępne dla niestandardowych źródeł danych wejściowych, ale obecnie nie są generowane przez żadne z istniejących źródeł.
  • MixedRealityPose - Połączony gest położenia/obrotu 3D. Dostępne dla niestandardowych źródeł danych wejściowych, ale obecnie nie są generowane przez żadne z istniejących źródeł.

Kolejność zdarzeń

Istnieją dwa główne łańcuchy zdarzeń, w zależności od danych wejściowych użytkownika:

  • "Hold":

    1. Naciśnij blokadę:
      • rozpocznij manipulowanie
    2. Przytrzymaj naciśnięcie poza HoldStartDuration:
      • uruchamianie blokady
    3. Naciśnij wydanie:
      • ukończ blokadę
      • kompletne manipulowanie
  • "Przenieś":

    1. Naciśnij blokadę:
      • rozpocznij manipulowanie
    2. Przytrzymaj naciśnięcie poza HoldStartDuration:
      • uruchamianie blokady
    3. Przenieś rękę poza element NavigationStartThreshold:
      • anuluj blokadę
      • Uruchamianie nawigacji
    4. Naciśnij wydanie:
      • kompletne manipulowanie
      • ukończ nawigację

Przykładowa scena

Scena HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) pokazuje, jak za pomocą wskaźnika Wynik zduplikować obiekt w lokalizacji trafienia.

Skrypt GestureTester (Assets/MRTK/Examples/Demos/HandTracking/Script) to przykładowa implementacja wizualizacji zdarzeń gestów za pośrednictwem obiektów GameObjects. Funkcje programu obsługi zmieniają kolor obiektów wskaźnika i wyświetlają ostatnie zarejestrowane zdarzenie w obiektach tekstowych w scenie.