Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
Urządzenia Windows Mixed Reality, takie jak HoloLens. W tym artykule opisano szczypanie ruchów ("Air Tap") i gestów tap-and-hold.
Aby uzyskać więcej informacji na temat gestów HoloLens, zobacz dokumentację Gesty rzeczywistości mieszanej systemu Windows.
WindowsMixedRealityDeviceManageropakowuje aparat Unity XR. WSA. Input.GestureRecognizer do korzystania z zdarzeń gestów aparatu Unity z urządzeń HoloLens.Urządzenia z ekranem dotykowym.
UnityTouchControllerOpakowuje klasę Unity Touch, która obsługuje fizyczne ekrany dotykowe.
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.
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 ichdeltaPosition.Vector3- Gest położenia 3D. Produkowane przez urządzenie HoloLens w celu informowania o:cumulativeDeltazdarzenia manipulacjinormalizedOffsetzdarzenia nawigacji
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":
- Naciśnij blokadę:
- rozpocznij manipulowanie
- Przytrzymaj naciśnięcie poza HoldStartDuration:
- uruchamianie blokady
- Naciśnij wydanie:
- ukończ blokadę
- kompletne manipulowanie
- Naciśnij blokadę:
"Przenieś":
- Naciśnij blokadę:
- rozpocznij manipulowanie
- Przytrzymaj naciśnięcie poza HoldStartDuration:
- uruchamianie blokady
- Przenieś rękę poza element NavigationStartThreshold:
- anuluj blokadę
- Uruchamianie nawigacji
- Naciśnij wydanie:
- kompletne manipulowanie
- ukończ nawigację
- Naciśnij blokadę:
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.