Eingabesimulationsdienst — MRTK2

MRTK Input Simulation

Mit der Eingabesimulation des MRTK können Sie verschiedene Arten von Interaktionen im Unity-Editor testen, ohne erstellen und auf einem Gerät bereitstellen zu müssen. Auf diese Weise können Sie Ihre Ideen im Entwurfs- und Entwicklungsprozess schnell iterieren. Verwenden Sie Kombinationen aus Tastatur- und Mauseingaben, um simulierte Eingaben zu steuern.

Der Eingabesimulationsdienst emuliert das Verhalten von Geräten und Plattformen, die möglicherweise nicht im Unity-Editor verfügbar sind. Beispiele:

  • HoloLens- oder VR-Gerätekopfverfolgung
  • HoloLens-Handgesten
  • Artikulierte HoloLens 2-Handverfolgung
  • HoloLens 2 Eye Tracking
  • VR-Gerätecontroller

Warnung

Dies funktioniert nicht, wenn Unitys XR Holographic Emulation > Mode = "Im Editor simulieren" verwendet wird. Die In-Editor-Simulation von Unity übernimmt die Kontrolle über die Eingabesimulation von MRTK. Um den MRTK-Eingabesimulationsdienst zu verwenden, müssen Sie XR Holographic Emulation auf Emulationsmodus = "None" festlegen.

Verwenden der MRTK-Eingabesimulation

Die Eingabesimulation ist standardmäßig in den Profilen aktiviert, die mit MRTK ausgeliefert werden. Sie können einfach auf die Schaltfläche "Wiedergeben " klicken, um die Szene mit Unterstützung der Eingabesimulation auszuführen.

  • Drücken Sie die Tasten W, A, S, D, Q, E, um die Kamera zu bewegen.
  • Halten Sie die rechte Maustaste gedrückt, und bewegen Sie die Maus, um sich umzusehen.
  • Um die simulierten Hände aufzurufen, drücken Sie die LEERTASTE (rechte Hand) oder die linke UMSCHALTTASTE (linke Hand) .
  • Um die simulierten Hände im Blickfeld zu halten, drücken Sie die Taste T oder Y.
  • Um simulierte Hände zu drehen, halten Sie STRG gedrückt , und bewegen Sie die Maus

In Editor-Eingabesimulations-Cheatsheet

Drücken Sie STRG+H in der HandInteractionExamples-Szene, um ein Cheatsheet mit Eingabesimulationssteuerelementen anzuzeigen.

MRTK Input Simulation Cheat Sheet

Aktivieren des Eingabesimulationsdiensts

Unter der Konfiguration des Eingabesystemdatenanbieters kann der Eingabesimulationsdienst mit folgendem Konfiguriert werden.

  • Der Typ muss Microsoft.MixedReality.Toolkit.Input > InputSimulationService sein.
  • Unterstützte Plattform(n) enthält standardmäßig alle Editor-Plattformen , da der Dienst Tastatur- und Mauseingaben verwendet.

Hinweis

Der Eingabesimulationsdienst kann auf anderen Plattformendpunkten wie eigenständigen Endpunkten verwendet werden, indem die Eigenschaft "Unterstützte Plattform" geändert wird, um die gewünschten Ziele einzuschließen.
Input Simulation Supported Platforms

Kamera Steuerelement

Die Kopfbewegung kann vom Eingabesimulationsdienst emuliert werden.

Drehen der Kamera

  1. Zeigen Sie auf das Viewport-Editorfenster. Möglicherweise müssen Sie auf das Fenster klicken, um ihm den Eingabefokus zu geben, wenn Die Tasten drücken nicht funktionieren.
  2. Halten Sie die Maustaste gedrückt (Standard: Rechte Maustaste).
  3. Bewegen Sie die Maus im Viewportfenster, um die Kamera zu drehen.
  4. Verwenden Sie das Bildlaufrad, um die Kamera um die Ansichtsrichtung zu rollen.

Kamera Drehgeschwindigkeit kann konfiguriert werden, indem sie die Einstellung "Maus-Blickgeschwindigkeit" im Eingabesimulationsprofil ändern.

Alternativ können Sie die vertikalen Achsen "Horizontales/Aussehen " verwenden, um die Kamera zu drehen (Standard: Rechte Fingerstick des Gamecontrollers).

Bewegen der Kamera

Verwenden Sie die vertikalen Achsen "Horizontal/verschieben ", um die Kamera zu verschieben (Standard: WASD-Tasten oder Gamecontroller nach links).

Kamera Position und Drehwinkel können auch im Toolsfenster explizit festgelegt werden. Die Kamera kann mithilfe der Schaltfläche "Zurücksetzen " auf den Standardwert zurückgesetzt werden.

Controllersimulation

Die Eingabesimulation unterstützt emulierte Controllergeräte (d. h. Bewegungscontroller und Hände). Diese virtuellen Controller können mit jedem Objekt interagieren, das normale Controller unterstützt, z. B. Schaltflächen oder ziehbare Objekte.

Controllersimulationsmodus

Im Fenster "Eingabesimulationstools " wechselt die Einstellung "Standardcontrollersimulationsmodus " zwischen drei unterschiedlichen Eingabemodellen. Dieser Standardmodus kann auch im Eingabesimulationsprofil festgelegt werden.

  • Artikulierte Hände: Simuliert ein voll artikuliertes Handgerät mit gemeinsamen Positionsdaten.

    Emuliert HoloLens 2 Interaktionsmodell.

    Interaktionen, die auf der genauen Positionierung der Hand basieren oder die Toucheingabe verwenden, können in diesem Modus simuliert werden.

  • Handgesten: Simuliert ein vereinfachtes Handmodell mit Lufteingaben und einfachen Gesten.

    Emuliert HoloLens Interaktionsmodell.

    Der Fokus wird mithilfe des Blickzeigers gesteuert. Die Air Tap-Geste wird verwendet, um mit Schaltflächen zu interagieren.

  • Motion Controller: Simuliert einen Bewegungscontroller, der mit VR-Headsets verwendet wird, die ähnlich wie bei weit verbreiteten Interaktionen mit artikulierten Händen funktionieren.

    Emuliert VR-Headset mit Controllerinteraktionsmodell.

    Die Trigger-, Zieh- und Menütasten werden über Tastatur- und Mauseingabe simuliert.

Simulieren der Steuerungsbewegung

Halten Sie die Manipulationstaste für den Linken/rechten Controller gedrückt (Standard: Linke Umschalttaste für den linken Controller und Platz für den rechten Controller), um die Kontrolle über beide Controller zu erhalten. Während die Manipulationstaste gedrückt wird, wird der Controller im Viewport angezeigt. Sobald der Manipulationsschlüssel freigegeben wurde, wird der Controller nach einem kurzen Controller-Timeout ausgeblendet.

Controller können relativ zur Kamera im Fenster der Eingabesimulationstools ein- und eingefroren werden, oder indem Sie die UMSCHALTTASTE NACH LINKS/RECHTS drücken (Standard: T für links und Y nach rechts). Drücken Sie erneut die Umschalttaste, um die Controller erneut auszublenden. Um die Controller zu bearbeiten, muss der Manipulationsschlüssel für links/rechts-Controller gehalten werden. Doppeltippen Sie auf den Manipulationsschlüssel für den linken/rechten Controller , kann auch die Controller ein/aus umschalten.

Mausbewegungen bewegen den Controller in der Ansichtsebene. Controller können mit dem Mausrad weiter oder näher an die Kamera verschoben werden.

Um Controller mit der Maus zu drehen, halten Sie sowohl die Manipulationstaste für den linken/rechten Controller (Linke Umschalttaste oder Leertaste) als auch die Drehtaste des Controllers (Standard: Strg-Taste links) gedrückt, und bewegen Sie dann die Maus, um den Controller zu drehen. Die Drehgeschwindigkeit des Controllers kann konfiguriert werden, indem die Einstellung für die Drehgeschwindigkeit des Mauscontrollers im Eingabesimulationsprofil geändert wird.

Alle Handplatzierungen können auch im Fenster der Eingabesimulationstools geändert werden, einschließlich des Zurücksetzens von Händen auf den Standardwert.

Weitere Profileinstellungen

  • Controller Depth Multiplier steuert die Vertraulichkeit der Mauslaufradtiefebewegung. Eine größere Zahl beschleunigt den Controllerzoom.
  • Der Standard-Controllerabstand ist der anfängliche Abstand von Controllern von der Kamera. Durch Klicken auf die Schaltflächencontroller "Zurücksetzen " werden auch Controller in diesem Abstand platziert.
  • Controller Jitter Amount fügt zufällige Bewegung zu Controllern hinzu. Dieses Feature kann verwendet werden, um ungenaue Controllerverfolgung auf dem Gerät zu simulieren und sicherzustellen, dass Interaktionen gut mit lauten Eingaben funktionieren.

Handgesten

Handgesten wie Anheften, Greifen, Pokieren usw. können auch simuliert werden.

  1. Aktivieren des Handsteuerelements mithilfe der Manipulationsschlüssel für den linken/rechten Controller (linke Umschalttaste oder Leertaste)

  2. Drücken Und halten Sie beim Bearbeiten eine Maustaste gedrückt, um eine Handbewegung auszuführen.

Jede der Maustasten kann zugeordnet werden, um die Handform in eine andere Geste zu transformieren, indem Sie die Einstellungen für die Linke/Mittlere/rechte Mausbewegung verwenden. Die Standardhandgeste ist die Form der Hand, wenn keine Schaltfläche gedrückt wird.

Hinweis

Die Geste "Anheften " ist die einzige Geste, die an diesem Punkt die Aktion "Auswählen" ausführt.

1-Hand-Manipulation

  1. Drücken und halten Sie die Manipulationstaste für den linken/rechten Controller gedrückt (linke Umschalt- oder Leertaste)
  2. Point at object
  3. Halten Sie die Maustaste gedrückt, um anheften
  4. Verwenden der Maus zum Verschieben des Objekts
  5. Lassen Sie die Maustaste los, um die Interaktion zu beenden

Zweihand-Manipulation

Zum Bearbeiten von Objekten mit zwei Händen wird der permanente Handmodus empfohlen.

  1. Umschalten Sie auf beiden Händen, indem Sie die Umschalttasten (T/Y) drücken.
  2. Bearbeiten Sie jeweils eine Hand:
    1. Halten Sie Platz , um die rechte Hand zu steuern
    2. Verschieben sie die Hand an die Stelle, an der Sie das Objekt erfassen möchten
    3. Drücken Sie die linke Maustaste , um die Pinch-Geste zu aktivieren.
    4. Lassen Sie Platz frei, um die Steuerung der rechten Hand zu beenden. Die Hand wird eingefroren und in die Pinchgeste gesperrt, da sie nicht mehr bearbeitet wird.
  3. Wiederholen Sie den Prozess mit der anderen Seite, und greifen Sie an einer zweiten Stelle nach demselben Objekt.
  4. Nachdem beide Hände dasselbe Objekt greifen, können Sie eine dieser Objekte verschieben, um zweihändige Manipulationen durchzuführen.

GGV -Interaktion (Blick, Geste und Stimme)

Standardmäßig ist die GGV-Interaktion im Editor aktiviert, während in der Szene keine artikulierten Hände vorhanden sind.

  1. Drehen Sie die Kamera, um den Blickcursor auf das interagierbare Objekt (rechte Maustaste) zu zeigen.
  2. Klicken und halten Sie die linke Maustaste gedrückt, um zu interagieren
  3. Drehen Sie die Kamera erneut, um das Objekt zu bearbeiten.

Sie können dies deaktivieren, indem Sie die Option "Freihandeingabe aktiviert" innerhalb des Eingabesimulationsprofils umschalten.

Darüber hinaus können Sie simulierte Hände für die GGV-Interaktion verwenden.

  1. Aktivieren der GGV-Simulation durch Wechseln des Handsimulationsmodus auf Gesten imEingabesimulationsprofil
  2. Drehen Sie die Kamera, um den Blickcursor auf das interagierbare Objekt (rechte Maustaste) zu zeigen.
  3. Halten Sie Platz , um die rechte Hand zu steuern
  4. Klicken und halten Sie die linke Maustaste gedrückt, um zu interagieren
  5. Verwenden der Maus zum Verschieben des Objekts
  6. Lassen Sie die Maustaste los, um die Interaktion zu beenden

Auslösen von Teleport-Ereignissen

Zum Auslösen des Teleportereignisses in der Eingabesimulation konfigurieren Sie die Handgeste Einstellungen im Eingabesimulationsprofil so, dass eine die Teleport-Startgeste ausführt, während die andere die Teleport-Endgeste ausführt. Die Teleport-Startgeste führt den Teleport-Zeiger ein, während der Teleport-End gesure die Teleportaktion abgeschlossen und den Benutzer bewegt.

Die y-Position Des resultierenden Teleports hängt von der Verschiebung der Kamera entlang der y-Achse ab. Im Editor ist dies standardmäßig 0. Verwenden Sie daher die F - und E-Tasten , um sie an die entsprechende Höhe anzupassen.

Input Simulation Teleport Settings

Interaktion des Bewegungscontrollers

Die simulierten Bewegungscontroller können auf die gleiche Weise bearbeitet werden, wie artikulierte Hände sind. Das Interaktionsmodell ähnelt einer deutlichen Interaktion der artikulierten Hand, während der Auslöser, die Greif- und Menütasten der linken Maustaste zugeordnet sind, G und M .

Eyetracking – Blickverfolgung

Die Augenverfolgungssimulation kann aktiviert werden, indem Sie die Option " Augenposition simulieren " im Eingabesimulationsprofil überprüfen. Dies sollte nicht mit GGV- oder Bewegungscontroller-Stilinteraktionen verwendet werden (stellen Sie daher sicher, dass der Standardcontrollersimulationsmodus auf "Artikulierte Hand" festgelegt ist).

Fenster "Eingabesimulationstools"

Aktivieren Sie das Fenster "Eingabesimulationstools" im Menü Mixed Reality>Toolkit>Utilities>Input Simulation. Dieses Fenster bietet Zugriff auf den Status der Eingabesimulation während des Wiedergabemodus.

Viewport-Schaltflächen (optional)

Ein Prefab für In-Editor-Schaltflächen zum Steuern der grundlegenden Handplatzierung kann im Eingabesimulationsprofil unter "Indicators Prefab" angegeben werden. Dies ist ein optionales Dienstprogramm, auf das im Fenster der Eingabesimulationstools auf dieselben Features zugegriffen werden kann.

Hinweis

Die Viewport-Indikatoren sind standardmäßig deaktiviert, da sie derzeit manchmal in Unity UI-Interaktionen eingreifen können. Siehe Problem #6106. Fügen Sie zum Aktivieren den InputSimulationIndicators prefab zu Indicators Prefab hinzu.

Handsymbole zeigen den Zustand der simulierten Hände an:

  • Untracked hand icon Die Hand wird nicht nachverfolgt. Klicken Sie, um die Hand zu aktivieren.
  • Tracked hand icon Die Hand wird nachverfolgt, aber nicht vom Benutzer gesteuert. Klicken Sie, um die Hand auszublenden.
  • Controlled hand icon Die Hand wird vom Benutzer nachverfolgt und gesteuert. Klicken Sie, um die Hand auszublenden.
  • Reset hand icon Klicken Sie, um die Hand auf die Standardposition zurückzusetzen.

Siehe auch