Eingabeübersicht – MRTK2

Mit dem Eingabesystem in MRTK können Sie folgendes ausführen:

  • Nutzen Sie Eingaben aus einer Vielzahl von Eingabequellen, z. B. 6 DOF-Controllern, artikulierten Händen oder Spracheingaben über Eingabeereignisse.
  • Definieren Sie abstrakte Aktionen, z. B. Auswählen oder Menü, und ordnen Sie sie verschiedenen Eingaben zu.
  • Setupzeiger, die an Controller angefügt sind, um Benutzeroberflächenkomponenten über Fokus- und Zeigerereignisse zu steuern.
Input SystemÜbersicht über das MRTK-Eingabesystem

Eingaben werden von Eingabedatenanbietern(Geräte-Manager)erzeugt. 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 erstellen Eingabeereignisse automatisch, wenn die entsprechenden Eingabequellen verfügbar sind (z. B. wenn ein WMR-Controller erkannt oder ein Gamepad verbunden ist).

Eingabeaktionen sind Abstraktionen über rohe Eingaben, die dazu beitragen, Anwendungslogik aus den spezifischen Eingabequellen zu isolieren, die eine Eingabe erzeugen. Es kann z. B. nützlich sein, eine Auswahlaktion zu definieren und der linken Maustaste, einer Schaltfläche in einem Gamepad und einem Trigger in einem 6 DOF-Controller zuzuordnen. Anschließend können Sie ihre Anwendungslogik für Auswahleingabeaktionsereignisse hören, anstatt alle unterschiedlichen Eingaben zu beachten, die sie erzeugen können. Eingabeaktionen werden im Eingabeaktionenprofil definiert, das im Eingabesystemprofil in der Mixed Reality Toolkit-Komponente gefunden wird.

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, umfassen die zugeordnete Eingabeaktion, falls vorhanden.

Controller können Zeiger an sie angefügt haben, die die Szene abfragen, um das Spielobjekt mit Fokus zu bestimmen und Zeigerereignisse darauf zu heben. Wie ein Beispiel führt unser Linienzeiger einen Raycast gegen die Szene aus, indem der Controller posiert, 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.

Während Sie Eingabeereignisse direkt in UI-Komponenten behandeln können, empfiehlt es sich, Zeigerereignisse zu verwenden, um die Implementierung geräteunabhängig zu halten.

MRTK bietet auch mehrere Komfortmethoden zum Abfragen des Eingabezustands direkt auf geräteunabhängige Weise. Weitere Details finden Sie unter Zugriff auf den Eingabestatus in MRTK .