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.
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.
Ist der Charakter richtig vorbereitet, kannst du ihn nach Unreal exportieren. Siehe hierfür Daten in Unreal importieren
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:
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.
Suche im Modes Fenster links nun nach einem ‚Optitrack Client Origin‘ und ziehe diesen in deine Szene an den Ursprung.
Kehre zu Motive zurück und öffne das Streaming Fenster mit . 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.