Eingabeübersicht

Das Eingabesystem im MRTK ermöglicht Ihnen:

  • Nutzen Sie Eingaben aus einer Vielzahl von Eingabequellen, z. B. 6 DOF-Controller, artikulierte Hände oder Sprache, über Eingabeereignisse.
  • Definieren Sie abstrakte Aktionen wie Select oder Menu, 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 verwenden.
Input System Übersicht über das MRTK-Eingabesystem

Eingaben werden von Eingabedatenanbietern (Geräte-Manager) erstellt. Jeder Anbieter entspricht einer bestimmten Eingabequelle: Open VR, Windows Mixed Reality (WMR), Unity Unity, 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 von rohen Eingaben, die dazu beitragen sollen, die Anwendungslogik von den spezifischen Eingabequellen zu isolieren, die eine Eingabe erzeugen. Es kann beispielsweise 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 zu zuordnen. Sie können ihre Anwendungslogik dann auf Ereignisse der Aktion Eingabe auswählen lauschen lassen, anstatt alle verschiedenen Eingaben kennen zu müssen, die sie erzeugen können. Eingabeaktionen werden im Eingabeaktionenprofil definiert, das im Eingabesystemprofil in der Mixed Reality Toolkit-Komponente enthalten ist.

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

Controllern können Zeiger angefügt sein, die die Szene abfragen, um das Spielobjekt mit Fokus zu bestimmen und Zeigerereignisse darauf zu setzen. Als Beispiel führt unser Linienzeiger einen Raycast für die Szene aus, indem er die Controllerpose verwendet, 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 Flow Ereignisfluss.

Obwohl Sie Eingabeereignisse direkt inBenutzeroberflächenkomponenten verarbeiten können, wird empfohlen, Zeigerereignisse zu verwenden, um die Implementierung geräteunabhängig zu halten.

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