Eingabesimulationsdienst – MRTK2
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 Sie den XR Holographic Emulation-Modus > von Unity = "Im Editor simulieren" verwenden. Die In-Editor-Simulation von Unity entnimmt der Eingabesimulation von MRTK die Kontrolle. Um den MRTK-Eingabesimulationsdienst verwenden zu können, 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 Wiedergabe klicken, um die Szene mit Unterstützung für Eingabesimulationen 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, drücken und halten Sie die STRG-TASTE , und bewegen Sie die Maus
Im Editor-Eingabesimulationsspickzettel
Drücken Sie in der HandInteractionExamples-Szene nach links, um ein Spickzettel mit Eingabesimulationssteuerelementen anzuzeigen.
Aktivieren des Eingabesimulationsdiensts
Unter der Konfiguration des Eingabesystemdatenanbieters kann der Eingabesimulationsdienst wie folgt konfiguriert werden.
- Der Typ muss Microsoft.MixedReality.Toolkit.Input > InputSimulationService sein.
- Unterstützte Plattformen umfassen standardmäßig alle Editorplattformen , da der Dienst Tastatur- und Mauseingaben verwendet.
Hinweis
Der Eingabesimulationsdienst kann auf anderen Plattformendpunkten verwendet werden, z. B. eigenständig, indem die Eigenschaft Unterstützte Plattform(en) geändert wird, um die gewünschten Ziele einzuschließen.
Kamerasteuerung
Kopfbewegungen können vom Eingabesimulationsdienst emuliert werden.
Drehen der Kamera
- Zeigen Sie auf das Fenster des Viewport-Editors. Möglicherweise müssen Sie auf das Fenster klicken, um den Eingabefokus zu erhalten, wenn die Tastenkombination nicht funktioniert.
- Halten Sie die Maus-Look-Taste gedrückt (Standard: Rechte Maustaste).
- Bewegen Sie die Maus im Viewportfenster, um die Kamera zu drehen.
- Verwenden Sie das Scrollrad, um die Kamera um die Ansichtsrichtung zu drehen.
Die Drehzahl der Kamera kann konfiguriert werden, indem Sie die Einstellung Mouse Look Speed im Eingabesimulationsprofil ändern.
Alternativ können Sie die/ HorizontaleAusrichtung vertikale Achsen verwenden, um die Kamera zu rotieren (Standard: game controller right thumbstick).
Bewegen der Kamera
Verwenden Sie horizontal/verschieben Vertikale Achsen verschieben, um die Kamera zu bewegen (Standard: WASD-Tasten oder linker Daumenstick des Gamecontrollers).
Kameraposition und Drehwinkel können auch explizit im Werkzeugfenster festgelegt werden. Die Kamera kann mithilfe der Schaltfläche Zurücksetzen auf die Standardeinstellung 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 reguläre Controller unterstützt, z. B. Schaltflächen oder greifbare Objekte.
Controllersimulationsmodus
Im Fenster Eingabesimulationstools wechselt die Einstellung Standardcontroller-Simulationsmodus zwischen drei verschiedenen Eingabemodellen. Dieser Standardmodus kann auch im Eingabesimulationsprofil festgelegt werden.
Gelenkhände: Simuliert ein vollständig gelenkiertes Handgerät mit Gemeinsamen Positionsdaten.
Emuliert HoloLens 2 Interaktionsmodell.
Interaktionen, die auf der präzisen Positionierung der Hand oder der Berührung basieren, können in diesem Modus simuliert werden.
Handgesten: Simuliert ein vereinfachtes Handmodell mit Luft tippen und einfachen Gesten.
Emuliert das 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 und ähnlich wie bei fernen Interaktionen mit Gelenkhände funktioniert.
Emuliert VR-Headset mit Controllerinteraktionsmodell.
Die Trigger-, Halte- und Menütasten werden per Tastatur- und Mauseingabe simuliert.
Simulieren der Controllerbewegung
Drücken und halten Sie die Steuerungsbearbeitungstaste links/rechts (Standard: Linke Umschalttaste für den linken Controller und Leerraum für den rechten Controller), um die Kontrolle über beide Controller zu erhalten. Während die Bearbeitungstaste gedrückt wird, wird der Controller im Viewport angezeigt. Sobald die Manipulationsschlüssel freigegeben wurde, werden die Controller nach einem kurzen Controller Hide Timeout ausgeblendet.
Controller können relativ zur Kamera im Fenster der Eingabesimulationstools oder durch Drücken der Controllertaste nach links/rechts (Standardeinstellung: T für links und Y für rechts) umgeschaltet und eingefroren werden. Drücken Sie erneut die Umschalttaste, um die Controller wieder auszublenden. Um die Controller zu bearbeiten, muss der Linke/rechte Controller-Manipulationsschlüssel gedrückt werden. Durch doppelten Tippen auf die Manipulationsschlüssel für den linken/rechten Controller können die Controller auch ein-/ausgeschaltet werden.
Die Mausbewegung bewegt 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 Steuerungsbearbeitungstaste links/rechts (Linke Umschalttaste oder Leertaste) als auch die Controller-Drehtaste (Standardeinstellung: Linke STRG-Taste ) gedrückt, und bewegen Sie dann die Maus, um den Controller zu drehen. Die Drehzahl des Controllers kann durch Ändern der Einstellung Mauscontrollerrotationsrate im Eingabesimulationsprofil konfiguriert werden.
Alle Handplatzierungen können auch im Fenster der Eingabesimulationstools geändert werden, einschließlich des Zurücksetzens der Hände auf den Standardwert.
Zusätzliche Profileinstellungen
- Controller Depth Multiplikator steuert die Empfindlichkeit der Mauslaufrad-Tiefenbewegung. Eine größere Anzahl beschleunigt den Controllerzoom.
- Standardcontrollerabstand ist der anfängliche Abstand von Controllern von der Kamera. Durch Klicken auf die Schaltflächencontroller zurücksetzen werden auch Controller in dieser Entfernung platziert.
- Controller Jitter Amount fügt Controllern zufällige Bewegung hinzu. Dieses Feature kann verwendet werden, um ungenaue Controllernachverfolgung auf dem Gerät zu simulieren und sicherzustellen, dass Interaktionen mit lauten Eingaben gut funktionieren.
Handgesten
Handgesten wie Kneigen, Greifen, Stochern usw. kann auch simuliert werden.
Aktivieren der Handsteuerung mithilfe der Controllerbearbeitungstaste links/rechts (Linke Umschalttaste oder Leertaste)
Halten Sie beim Bearbeiten eine Maustaste gedrückt, um eine Handbewegung auszuführen.
Jede Der Maustasten kann zugeordnet werden, um die Handform mithilfe der Einstellungen Für linke/mittlere/rechte Maushandgeste in eine andere Geste zu transformieren. Die Standardhandgeste ist die Form der Hand, wenn keine Taste gedrückt wird.
Hinweis
Die Pinch-Geste ist die einzige Geste, die an diesem Punkt die Aktion "Auswählen" ausführt.
Einhand-Manipulation
- Drücken und halten Sie die Steuerungsmanipulationstaste links/rechts (linke Umschalttaste oder Leertaste)
- Punkt auf Objekt
- Halten Sie die Maustaste gedrückt, um anzuheften
- Verwenden der Maus zum Verschieben des Objekts
- Lassen Sie die Maustaste los, um die Interaktion zu beenden
Zweihand-Manipulation
Für die gleichzeitige Bearbeitung von Objekten mit zwei Händen wird der persistente Handmodus empfohlen.
- Schalten Sie beide Hände um, indem Sie die Umschalttasten (T/Y) drücken.
- Bearbeiten Sie eine Hand nach der anderen:
- Abstand halten, um die rechte Hand zu steuern
- Bewegen Sie die Hand an die Stelle, an der Sie das Objekt abrufen möchten.
- Drücken Sie die linke Maustaste , um die Pinch-Geste zu aktivieren.
- Lassen Sie Leerzeichen frei, um die Kontrolle der rechten Hand zu beenden. Die Hand wird an Ort und Stelle eingefroren und in der Pinch-Geste gesperrt, da sie nicht mehr manipuliert wird.
- Wiederholen Sie den Prozess mit der anderen Hand, und greifen Sie dasselbe Objekt an einer zweiten Stelle ab.
- Nachdem nun beide Hände dasselbe Objekt greifen, können Sie beide verschieben, um eine zweihändige Bearbeitung 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.
- Drehen Sie die Kamera, um den Blickcursor auf das interagierende Objekt zu zeigen (rechte Maustaste).
- Klicken und halten Sie die linke Maustaste gedrückt , um zu interagieren
- Drehen Sie die Kamera erneut, um das Objekt zu bearbeiten.
Sie können dies deaktivieren, indem Sie die Option Ist handfreie Eingabe aktiviert im Eingabesimulationsprofil umgeschaltet.
Darüber hinaus können Sie simulierte Hände für die GGV-Interaktion verwenden.
- Aktivieren der GGV-Simulation durch Umschalten des Handsimulationsmodus zu Gesten imEingabesimulationsprofil
- Drehen Sie die Kamera, um den Blickcursor auf das interagierende Objekt zu zeigen (rechte Maustaste).
- Abstand halten, um die rechte Hand zu steuern
- Klicken und halten Sie die linke Maustaste gedrückt , um zu interagieren
- Verwenden der Maus zum Verschieben des Objekts
- Lassen Sie die Maustaste los, um die Interaktion zu beenden
Auslösen von Teleportereignissen
Um das Teleportereignis in der Eingabesimulation auszulösen, konfigurieren Sie die Handgesteneinstellungen im Eingabesimulationsprofil so, dass eine die Teleport-Startgeste ausführt, während die andere die Teleport-Endgeste ausführt. Mit der Geste Teleportstart wird der Teleportzeiger angezeigt, während die Teleport-End-Geste 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 Tasten Q und E , um sie an die entsprechende Höhe anzupassen.
Bewegungscontrollerinteraktion
Die simulierten Bewegungscontroller können auf die gleiche Weise wie Gelenkhände bearbeitet werden. Das Interaktionsmodell ähnelt der weitgehenden Interaktion von Gelenkhand, während die Trigger-, Grab- und Menütasten der linken Maustaste bzw. der G - und M-Taste zugeordnet sind.
Eyetracking – Blickverfolgung
Die Augenverfolgungssimulation kann durch Aktivieren der Option Augenposition simulieren im Eingabesimulationsprofil aktiviert werden. Dies sollte nicht mit Interaktionen im GGV- oder Bewegungscontrollerstil verwendet werden (stellen Sie daher sicher, dass der Standardcontrollersimulationsmodus auf Articulated Hand festgelegt ist).
Fenster "Eingabesimulationstools"
Aktivieren Sie das Fenster Eingabesimulationstools über das Menü "Eingabesimulation" Mixed Reality>Toolkit-Hilfsprogramme>>. Dieses Fenster bietet Zugriff auf den Zustand der Eingabesimulation im Wiedergabemodus.
Viewportschaltflächen (optional)
Ein Prefab für Schaltflächen im Editor zum Steuern der grundlegenden Handplatzierung kann im Eingabesimulationsprofil unter Indikatoren prefab angegeben werden. Dies ist ein optionales Hilfsprogramm, auf die gleichen Funktionen kann im Fenster eingabesimulationstools zugegriffen werden.
Hinweis
Die Viewportindikatoren sind standardmäßig deaktiviert, da sie derzeit manchmal Interaktionen der Unity-Benutzeroberfläche beeinträchtigen können. Siehe Problem #6106. Fügen Sie zum Aktivieren das Prefab InputSimulationIndicators zu Indicators Prefab hinzu.
Handsymbole zeigen den Zustand der simulierten Hände an:
- Die Hand wird nicht nachverfolgt. Klicken Sie, um die Hand zu aktivieren.
- Die Hand wird nachverfolgt, aber nicht vom Benutzer gesteuert. Klicken Sie, um die Hand auszublenden.
- Die Hand wird vom Benutzer nachverfolgt und gesteuert. Klicken Sie, um die Hand auszublenden.
- Klicken Sie, um die Hand auf die Standardposition zurückzusetzen.