Eingabeübersicht – MRTK2

Das Eingabesystem in MRTK ermöglicht Folgendes:

  • Nutzen Sie Eingaben aus einer Vielzahl von Eingabequellen, z. B. 6 DOF-Controllern, artikulierten Händen oder Sprache, über Eingabeereignisse.
  • Definieren Sie abstrakte Aktionen, z. B . Auswählen oder Menü, und ordnen Sie sie verschiedenen Eingaben zu.
  • Richten Sie Zeiger ein, die an Controller angefügt sind, um UI-Komponenten über Fokus- und Zeigerereignisse zu steuern.
Übersicht über das Eingabesystemdes MRTK-Eingabesystems

Eingaben werden von Eingabedatenanbietern (Geräte-Manager) erstellt. Jeder Anbieter entspricht einer bestimmten Eingabequelle: Open VR, Windows Mixed Reality (WMR), Unity Joystick, Windows Speech usw. Anbieter werden Ihrem Projekt über das Profil registrierte Dienstanbieter in der Komponente Mixed Reality Toolkit hinzugefügt und erzeugen automatisch Eingabeereignisse, wenn die entsprechenden Eingabequellen verfügbar sind (z. B. wenn ein WMR-Controller erkannt oder ein Gamepad verbunden ist).

Eingabeaktionen sind Abstraktionen gegenüber Roheingaben, die dazu beitragen sollen, die Anwendungslogik von den spezifischen Eingabequellen zu isolieren, die eine Eingabe erzeugen. Es kann z. B. hilfreich sein, eine Select-Aktion zu definieren und sie der linken Maustaste, einer Schaltfläche in einem Gamepad und einem Trigger in einem 6-DOF-Controller zuzuordnen. Sie können ihre Anwendungslogik dann auf Eingabeaktionsereignisse auswählen lauschen lassen, anstatt alle verschiedenen Eingaben kennen zu müssen, die sie erzeugen können. Eingabeaktionen werden im Eingabeaktionenprofil definiert, das sich im Eingabesystemprofil in der Komponente Mixed Reality Toolkit befindet.

Controller werden von Eingabeanbietern erstellt, wenn Eingabegeräte erkannt und zerstört werden, wenn sie verloren gehen oder getrennt werden. Der WMR-Eingabeanbieter erstellt beispielsweise WMR-Controller für 6 DOF-Geräte und WMR-Handcontroller für artikulierte Hände. Controllereingaben können Eingabeaktionen über das Controllerzuordnungsprofil innerhalb des Eingabesystemprofils zugeordnet werden. Eingabeereignisse, die von Controllern ausgelöst werden, enthalten ggf. die zugeordnete Eingabeaktion.

Controller können Zeiger angefügt haben, die die Szene abfragen, um das Spielobjekt mit Fokus zu bestimmen und Zeigerereignisse darauf auszulösen . Beispielsweise führt unser Linienzeiger einen Raycast für die Szene aus, indem die Controllerpose verwendet wird, um den Ursprung und die Richtung des Strahls zu berechnen. Die für jeden Controller erstellten Zeiger werden im Zeigerprofil unter dem Eingabesystemprofil eingerichtet.

Event FlowEreignisfluss-Ereignisfluss.

Sie können Eingabeereignisse zwar direkt in UI-Komponenten verarbeiten, es wird jedoch empfohlen, Zeigerereignisse zu verwenden, um die Implementierung geräteunabhängig zu halten.

MRTK bietet auch mehrere praktische Methoden zum direkten Abfragen des Eingabezustands auf geräteunabhängige Weise. Weitere Informationen finden Sie unter Zugreifen auf den Eingabezustand in MRTK .