Eingabeanimationsaufzeichnung – MRTK2

MRTK verfügt über ein Aufzeichnungssystem, mit dem Kopfbewegungs- und Handverfolgungsdaten in Animationsdateien gespeichert werden können. Die aufgezeichneten Daten können dann mit dem Eingabesimulationssystem wiedergegeben werden.

Die Aufzeichnung von Eingaben ist ein nützliches Tool in einer Vielzahl von Situationen:

  • Erstellen automatisierter Tests für Interaktion, Manipulationen, Solver usw. Die Erstellung der Bewegung von Controllern und Händen für diese Tests kann zeitaufwändig sein. Die direkte Aufzeichnung von Eingaben kann den Prozess beschleunigen und reale Daten bereitstellen.
  • Lehren der Verwendung von UX-Elementen durch Animationen. Wenn Benutzern gezeigt wird, wie sie mit Schaltflächen und anderen Objekten interagieren, kann die Lernkurve geglättet werden.
  • Debuggen von unerwartetem Verhalten, das während der regelmäßigen Verwendung auftreten kann. Das Aufzeichnungssystem unterstützt ein Konzept des "rollierenden Puffers", das die Aufzeichnung neuer Eingaben im Hintergrund ermöglicht. Siehe Eingabeaufzeichnungsdienst.

Aufzeichnungs- und Wiedergabedienste

Zum Aufzeichnen und Wiedergeben von Eingaben werden jeweils zwei Eingabesystemdienste bereitgestellt.

Eingabeaufzeichnungsdienst

InputRecordingServiceübernimmt Daten aus der Standard Kameratransformation und aktiven Handcontrollern und speichert sie in einem internen Puffer. Wenn sie angefordert werden, werden diese Daten in Binärdateien für die Speicherung und spätere Wiedergabe serialisiert.

Aufzeichnungsdiagramm

Rufen Sie die Funktion auf, um die StartRecording Aufzeichnung zu starten. StopRecording hält die Aufzeichnung an (verwerfen die bisher aufgezeichneten Daten jedoch nicht, verwenden Sie DiscardRecordedInput dies bei Bedarf).

Standardmäßig ist die Größe des Aufzeichnungspuffers auf 30 Sekunden beschränkt. Dadurch kann der Aufzeichnungsdienst die Aufzeichnung im Hintergrund beibehalten, ohne zu viele Daten zu sammeln, und die letzten 30 Sekunden bei Bedarf speichern. Das Zeitintervall kann mithilfe der -Eigenschaft geändert werden, oder die RecordingBufferTimeLimit Aufzeichnung kann mit der UseBufferTimeLimit Option unbegrenzt sein.

Die Daten im Aufzeichnungspuffer können mithilfe der Funktion SaveInputAnimation in einer Binärdatei gespeichert werden.

Ausführliche Informationen zum Binärdateiformat finden Sie unter Eingabeanimationsdateiformatspezifikation.

Eingabewiedergabedienst

InputPlaybackService liest eine Binärdatei mit Eingabeanimationsdaten und wendet diese Daten dann über den InputSimulationService an, um die aufgezeichneten Bewegungen neu zu erstellen.

Um mit der Wiedergabe der Eingabeanimation zu beginnen, sollte sie mithilfe der LoadInputAnimation-Funktion aus einer Datei geladen werden.

Rufen Sie "Wiedergabe", "Anhalten" oder "Beenden" auf, um die Animationswiedergabe zu steuern.

Die aktuelle Animationszeit kann auch direkt mit der LocalTime-Eigenschaft gesteuert werden.

Warnung

Das Schleifen oder Zurücksetzen der Eingabeanimation oder -einstellung LocalTime direkt durch Schrubben der Zeitleiste kann unerwartete Ergebnisse bei der Bearbeitung der Szene liefern! Es werden nur die Eingabebewegungen aufgezeichnet, zusätzliche Änderungen wie verschiebende Objekte oder Umschaltschalter werden nicht zurückgesetzt. Stellen Sie sicher, dass Sie die Szene neu laden, wenn irreversible Änderungen vorgenommen wurden.

Editortools zum Aufzeichnen und Wiedergeben von Eingabeanimationen

Im Unity-Editor gibt es eine Reihe von Tools zum Aufzeichnen und Untersuchen von Eingabeanimationen. Auf diese Tools kann im Fenster Eingabesimulationstools zugegriffen werden, das über das Menü eingabesimulation Mixed Reality Toolkit-Hilfsprogramme >> geöffnet werden kann.

Hinweis

Eingabeaufzeichnung und -wiedergabe funktionieren nur im Wiedergabemodus.

Das Eingabeaufzeichnungsfenster verfügt über zwei Modi:

  • Aufzeichnung für die Aufzeichnung von Eingaben im Wiedergabemodus und Speichern in Animationsdateien.

    Beim Umschalten auf der Aufzeichnungsschaltfläche ist die InputRecordingService zum Aufzeichnen von Eingaben aktiviert. Beim Ausschalten der Aufzeichnungsschaltfläche wird eine Dateispeicherauswahl angezeigt, und die aufgezeichnete Eingabeanimation wird im ausgewählten Ziel gespeichert.

    Das Pufferzeitlimit kann auch in diesem Modus geändert werden.

  • Wiedergabe zum Laden von Animationsdateien und anschließendes Erneutes Erstellen von Eingaben über das Eingabesimulationssystem.

    In diesem Modus muss zuerst eine Animation geladen werden. Nach der Aufzeichnung der Eingabe im Aufzeichnungsmodus wird die resultierende Animation automatisch geladen. Alternativ können Sie auf die Schaltfläche "Laden" klicken, um eine vorhandene Animationsdatei auszuwählen.

    Die Zeitsteuerungsschaltflächen von links nach rechts lauten:

    • Setzen Sie die Wiedergabezeit auf den Start der Animation zurück.
    • Animation im Laufe der Zeit kontinuierlich wiedergeben.
    • Schritt vorwärts einen Zeitschritt.

    Der Schieberegler kann auch verwendet werden, um die Animation Zeitleiste zu durchlaufen.

Warnung

Das Schleifen oder Zurücksetzen der Eingabeanimation oder das Schrubben der Zeitleiste kann bei der Bearbeitung der Szene zu unerwarteten Ergebnissen führen! Es werden nur die Eingabebewegungen aufgezeichnet, zusätzliche Änderungen wie verschiebende Objekte oder Umschaltschalter werden nicht zurückgesetzt. Stellen Sie sicher, dass Sie die Szene neu laden, wenn irreversible Änderungen vorgenommen wurden.