Freigeben über


Übersicht über Eingaben — 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 wie 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 Overview of MRTK 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 erzeugen Eingabeereignisse. automatisch, wenn die entsprechenden Eingabequellen verfügbar sind (z. B. wenn ein WMR-Controller erkannt oder ein Gamepad angeschlossen ist).

Eingabeaktionen sind Abstraktionen gegenüber unformatierten Eingaben, die dazu beitragen sollen, die Anwendungslogik von den spezifischen Eingabequellen zu isolieren, die eine Eingabe erzeugen. Es kann z. B. nützlich 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 Select input action events (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 zugehörige Eingabeaktion.

Controller können Zeiger angefügt haben, die die Szene abfragen, um das Spielobjekt mit dem Fokus zu bestimmen und Zeigerereignisse darauf auszulösen . Als Beispiel führt unser Linienzeiger einen Raycast für die Szene aus, indem die Controllerposition 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.

Ereignisfluss Ereignisablauf.

Sie können Eingabeereignisse zwar direkt in Benutzeroberflächenkomponenten 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 .