Mobiles Menü

Data-Streaming bzw- Real-Time-Tracking

Dateipfad unter dem das Plugin verschoben werden muss

Diese Kapitel enthält Anweisungen zum Einrichten von Skeleton-Streaming mit dem Unreal Engine-Plugin. Bitte beachte vorher, dass diese Funktion nur für die Plugin-Version 4.19 oder höher unterstützt wird. Die Plugin-Datei findest du auf der ofiziellen OptiTrack Plugin Seite.

Hast du das Plugin heruntergeladen, entpacke den Ordner und verschiebe diesen in folgenden Pfad: Program Files > Epic Games > UE_4.21 (aktuelle Engine Version) > Engine > Plugins

Nun kannst du das entsprechende Projekt in Unreal öffnen bzw. eines anlegen, in dem du deine Daten später streamen möchtest.

Für das Skeleton Streaming brauchst du das gesamte Motion Capture Verfahren in Motive. Heißt also, die Kameras müssen vorher kalibriert worden sein, der Ursprung festgelegt und der Akteur muss einen Anzug mit Markern tragen. Weitere Informationen findest du entweder im Quick Guide oder im Kapitel Kamerakalibrierung

1. Benötigte Skeletteigenschaften

Damit du deine Figur für das Real-Time-Streaming verwenden kannst, musst du es vorher entsprechend präparieren. D.h. alle Joints müssen richtig benannt sein und die Knochenhierarchie stimmen. Wie du das genau tust, kannst du in dem Kapitel Einbinden von MoCap Daten nachlesen. Hierbei gibt es aber einen ganz entscheidenden Punkt, auf den du achten musst. Und zwar braucht ein Skelett für das Streaming einen Root Bone, der immer zwischen den Beinen des Charakters am Ursprung platziert ist.

Beispiel für einen Charakter mit Root Bone

Ist der Charakter richtig vorbereitet, kannst du ihn nach Unreal exportieren. Siehe hierfür Daten in Unreal importieren

2. Streaming-Blueprints erstellen

Animation Blueprint erstellen

Nun geht es ans Blueprint Coding. Erstelle am besten im Content Browser unten einen neuen Ordner (rechtsklick > new Folder) und importiere deinen Charakter. Drücke nun in demselben Ordner erneut die rechte Maustaste und wähle Animation > Animation Blueprint > OptitrackAnimInstance. Wähle unter Parent Class die OptitrackAnimInstance und im unteren Bereich das Skelett aus, auf das die Bewegungen gestreamt werden sollen und bestätige dann mit ‚ok‘.

Öffne den neu erstellten Animation Blueprint und erstelle einen ‚OptiTrack Skeleton‘ Node, den du mit der ‚Final Streaming Pose‘ verlinkst. Lasse den Skeleton Node ausgewählt und betätige im Details Fenster rechts den ‚Auto Fill Bone Mapping‘-Button. Überprüfe anschließend, ob alle Joints in dem Panel direkt darunter richtig zugeordnet wurden und korrigiere eventuell vorhandene Fehler. Erstelle und verlinke nun alle weiteren Nodes nach folgendem Beispiel:

Nodes im Animation Blueprint

Hast du alles richtig gemacht kannst du im linken oberen Eck unter Save deinen Blueprint speichern und mit ‚Compile‘ compilen.

Als letztes kannst du den Blueprint schließen und ihn in die Perspective View ziehen, sodass deine Figur in der Szene steht.

3. Streaming aktivieren

Suche im Modes Fenster links nun nach einem ‚Optitrack Client Origin‘ und ziehe diesen in deine Szene an den Ursprung.

Den Client Origin einrichten

Kehre zu Motive zurück und öffne das Streaming Fenster mit Straem-Werkzeug . Aktiviere anschließend ‚Broadcast Frame Data‘. Als letztes musst du nur noch zu Unreal zurückkehren und mit ‚Play‘ die Anwendung starten. Nun werden die Bewegungsdaten aus Motive nach Unreal gestreamt und auf die Figur übertragen.