Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gesten sind Eingabeereignisse, die auf menschlichen Händen basieren. Es gibt zwei Arten von Geräten, die Gesteneingabeereignisse im MRTK auslösen:
Windows Mixed Reality Geräte wie HoloLens. Dies beschreibt Zusammendrücken von Bewegungen ("Luft tippen") und Tippen und Halten-Gesten.
Weitere Informationen zu HoloLens-Gesten finden Sie in der Dokumentation zu Windows Mixed Reality Gesten.
WindowsMixedRealityDeviceManagerumschließt unity XR. WSA. Input.GestureRecognizer , um die Gestenereignisse von Unity von HoloLens-Geräten zu nutzen.Touchscreen-Geräte.
UnityTouchControllerumschließt die Unity Touch-Klasse , die physische Touchscreens unterstützt.
Beide Eingabequellen verwenden das Profil Gesteneinstellungen , um die Touch- und Gestikereignisse von Unity in die Eingabeaktionen von MRTK zu übersetzen. Dieses Profil finden Sie im Profil Eingabesystemeinstellungen .
Gestikereignisse
Gestenereignisse werden empfangen, indem eine der Gestenhandlerschnittstellen implementiert wird: IMixedRealityGestureHandler oder IMixedRealityGestureHandler<TYPE> (siehe Tabelle der Ereignishandler).
Eine Beispielimplementierung eines Gestenereignishandlers finden Sie unter Beispielszene .
Bei der Implementierung der generischen Version können die Ereignisse OnGestureCompleted und OnGestureUpdated typisierte Daten der folgenden Typen empfangen:
-
Vector2- 2D-Positionsbewegung. Wird von Touchscreens erstellt, um über ihredeltaPositionzu informieren. -
Vector3- Geste der 3D-Position. Produziert von HoloLens zur Information über:-
cumulativeDeltaeines Manipulationsereignisses -
normalizedOffseteines Navigationsereignisses
-
-
Quaternion– 3D-Drehbewegung. Verfügbar für benutzerdefinierte Eingabequellen, aber derzeit nicht von einer der vorhandenen. -
MixedRealityPose– Kombinierte 3D-Position/Drehbewegung. Verfügbar für benutzerdefinierte Eingabequellen, aber derzeit nicht von einer der vorhandenen.
Reihenfolge der Ereignisse
Je nach Benutzereingabe gibt es zwei Hauptketten von Ereignissen:
"Hold":
- Halten Sie tippen:
- Manipulation starten
- Halten Sie tippen Sie über HoldStartDuration hinaus:
- Start Halten
- Tippen Sie auf "Release":
- Vollständiges Halten
- Bearbeitung abschließen
- Halten Sie tippen:
"Move":
- Halten Sie tippen:
- Manipulation starten
- Halten Sie tippen Sie über HoldStartDuration hinaus:
- Start Halten
- Hand über NavigationStartThreshold hinaus bewegen:
- Cancel Hold
- Navigation starten
- Tippen Sie auf "Release":
- Bearbeitung abschließen
- Vollständige Navigation
- Halten Sie tippen:
Beispielszene
Die HandInteractionGestureEventsExample-Szene (Assets/MRTK/Examples/Demos/HandTracking/Scenes) zeigt, wie sie den Zeiger Result verwenden, um ein Objekt an der Trefferposition zu erzeugen.
Das GestureTester Skript (Assets/MRTK/Examples/Demos/HandTracking/Script) ist eine Beispielimplementierung zum Visualisieren von Gestenereignissen über GameObjects. Die Handlerfunktionen ändern die Farbe von Indikatorobjekten und zeigen das zuletzt aufgezeichnete Ereignis in Textobjekten in der Szene an.