Mobiles Menü

Einbinden von MoCap Daten

1. 3D Programme

In den folgenden Kapiteln lernst du, wie du deine MoCap-Daten in verschiedenen 3D-Softwares verwenden kannst.

1.1. Autodesk Maya

Outliner in Maya mit dem Mesh und dessen Skelett

In diesem Kapitel lernst du, wie du deine exportierten MoCap Daten in Maya weiterverwenden kannst.

Öffne zuerst eine Szene mit deinem modellierten Charakter in Maya. Alternativ kannst du aber auch einen Charakter in eine neue Szene importieren.

Bevor du deinen Charakter animierst, solltest du zuerst dein Skelett vorbereiten, da egal wie du deine animierte Figur später verwenden willst, es immer wichtig ist, dass das Skelett korrekt benannt und die Knochenhierarchie korrekt ist. Das ist vor allem wichtig, wenn die Figur später in eine Spiele Engine wie Unreal oder Unity importiert werden soll.

Im Outliner findest du alle Assets, die in die Szene importiert worden sind. Dort sollten nun sowohl das Mesh der Figur und dessen Joints zu sehen sein.

Um das Skelett besser im View Port sehen zu können, aktiviere einfach unter im View Port unter dem Reiter Shading > X-Ray Joints (Alternativ: Leertaste gedrückt halten > Shading > X-Ray Joints

1.1.1. Joints benennen

Joints über den Outliner umbenennen

Wie bereits erwähnt ist es sowohl später für den Export, als auch für deine eigene Übersicht, wichtig, dass alle Joints deines Skelettes korrekt und individuell benannt sind. D.h. es darf keine doppelte Benennung vorhanden sein.

Joints kannst du entweder umbenennen indem du entweder einen Joint im Outliner auswählst und ihn dann per Doppelklick umbenennst. Oder, was viel praktischer ist und schneller geht, du verwendest das Joint Labeling.

1.1.1.1. Joint Labeling

Das Joint Labeling automatisiert großteils die Benennung der Joints. Wähle dein Skelett im Outliner aus und lasse dir unter Display > Animation > Joint Labels die Label anzeigen.

Schalte nun in dem Dropdown Menü im linken oberen Eck von Modeling auf Rigging um und wähle Skeleton > Joint Labeling > Add Joint Labels.

Joint Labeling Menü

Du kannst das Joint Labeling Fenster aus der Menüleiste lösen, sodass es für die Zeit, in der du labelst dauerhaft zu sehen ist, indem du auf den grauen Balken darüber klickst.

Wähle zuerst die Hüfte aus und wähle dann im Label Menü ‚Label Center‘. Wähle dann alle Körperteile der linken Körperhälfte aus und teile ihnen ein ‚Label Left‘ zu. Verfahre genauso mit der linken Seite. Nachdem du das erledigt hast, kannst du nun beide Arme auswählen und dann im Menü ‚Label Arm‘ zuweisen. Das entsprechend Gleiche machst du auch mit den Beinen, der Wirbelsäule und dem Kopf.

Bei den Armen und Beinen ist es nicht nötig, dass du jeden Joint einzeln auswählst und labelst. Das macht Maya automatisch mit allem Joints, die dem ausgewählten Joint untergeordnet sind. Heißt labelst du die Schulter, benennt Maya auch den Ellenbogen, das Handgelenk und die Finger automatisch.

Ein gelabelter Arm Beispiel für eine korrekte Knochenhierarchie

Haben alle Joints ein Label zugewiesen bekommen kannst du nun einfach das Skelett auswählen und über Skeleton > Joint Labeling > Rename Joints From Labels wählen. Dadurch wird dein Skelett im Outliner automatisch nach deinen Labeln umbenannt.

1.1.1.2. Knochenhierarchie

Jetzt solltest du noch die Knochenhierarchie überprüfen, also welcher Joint an welchem hängt. Am wichtigsten ist, dass eure Knochenhierarchie immer von einem Root-Join ausgeht. Dies ist meistens der Becken-Joint, kann aber auch ein extra Join sein, der meist zwischen den Beinen des Charakters, direkt am Nullpunkt, liegt. Von der Hüfte gehen die Wirbelsäule und beide Beine aus, usw.

1.1.2. Figur animieren

Stimmen sowohl die Benennung als auch die Hierarchie, kannst du mit der eigentlichen Arbeit beginnen: der Animation deines Charakters mit Hilfe der Motion Capture Daten.

1.1.2.1. Motion Capture Daten importieren

Importiere erst einmal die Animation in Maya über File > Import. Das ist die FBX-binär-Datei, die du aus Motive exportiert hast. Hast du damals das Skelett mit exportiert, sollte nun ein Skelett zu sehen sein. Drückst du unten rechts auf den Play Button kannst du nun anhand des Skeletts deine aufgenommenen Animationen sehen.

MoCap Data als FBX in Maya Create Charakter Definition in Maya

Dass wir nun zwei verschiedene Skelette haben, hat einen ganz einfachen Grund: Stelle dir deinen Charakter als Marionette vor. Von allein kann sie sich nicht bewegen. Das MoCap Skelett ist der Puppenspieler. Dieser weiß zwar wie er die Puppe bewegen möchte, weiß aber nichts über den Aufbau eurer Marionette und auch nicht welcher Faden zu welchem Körperteil führt. Deine Aufgabe ist es jetzt dem Puppenspieler zu sagen, mit welchem Faden er welches Körperteil steuert.

Diese Information teilst du über die sogenannte ‚Character Definition‘ mit. Diese erstellst du im Reiter Character Controls > über ‚Create Charakter Definition‘.

  1. leere CD vs. erfolgreich beendete CD Beginne zuerst mit dem Skelett deiner Figur. Wähle einen Joint aus und suche dir im Character Controls-Fenster das Pendant dazu und wähle es auch dort aus. Drücke die rechte Maustaste und wähle ‚Assign Selected Bones‘. Ist der Knoche erfolgreich zugeordnet färbt er sich in der rechten Ansicht grün. Verfahre mit den restlichen Knochen genauso, bis das rote X-Icon im rechten oberen Eck, sich in ein grünes Häkchen verwandelt.
  2. Bist du mit der Character Definiton deiner Figur fertig, verfahre genau gleich mit dem animierten Skelett. Hier ist es nur wichtig, dass du vorher alle Rotationen der Joints auf 0 stellst. Das geht am schnellsten indem du das MoCap-Skelett markierst und unter Select > Hirarchie auswählst. Erst dann kannst du in der Channel Box Channel Box Button alle Rotations auf 0 stellen.

1.1.2.3. Animation übertragen

Der letzte Schritt ist es jetzt dem Puppenspieler die Fäden in die Hand zu geben. Dazu gehst du wieder in die Charakter Controls und wählst die Charakter Definition deines Charakters. Unter Source stellst du nun die Charakter Definition deines MoCap Skeletts ein. Jetzt hast du deine Animation erfolgreich auf deinen Charakter übertragen. Wenn du nun die Animation unten rechts abspielst, sollte sich deine Figur bewegen.

Übergabe der Bewegung von einer CD auf die andere Beispiel wie eine übernommene Bewegung aussieht

1.2. Blender 2.80

In diesem Kapitel wird behandelt wie MoCap Animationen in Blender angewendet werden.

Blender unterstützt nur das .bvh Format. Beim Exportieren der Dateien sollte drauf geachtet werden, dass die eingestellten Units Meter sind bzw. mit den Einstellungen der Blender Scene übereinstimmen. Nachträgliche Änderungen können zu Fehlern führen.

Dieses Kapitel wurde Blender Version 2.80 (Release Canditate) erstellt, es könnte durchaus sein, dass es inzwischen Add-Ons oder Änderungen gibt, welche den Vorgang erleichtern oder andere Möglichkeiten ermöglichen.

Der Prozess besteht aus 1-2 einfachen Schritten. (Der zweite Schritt ist nötig, um mehrere Animationen zu verwenden.

  1. Anpassen des Skeletts an das Modell und Skinning.
  2. Importieren weiterer Animationen.

1.2.1. Anpassen des Skeletts an das Model und Skinning

In diesem Beispiel wird die Datei Blender - Tutorial 1 verwendet.

In diesem Beispiel wird die Datei IVY_Tutorial.blend verwendet. Blender BVH importieren Import Einstellungen

Zunächst wird die MotionCapture Aufnahme als .bvh importiert. Folgende Einstellungen werden empfohlen.

Scale FPS passt die Framerate der Aufnahme an die aktuell in Blender eingestellte FPS Anzahl an.

Update Scene Duration passt die Länge der Animation in Blender an, sodass dies bei langen Animationen nicht nachträglich manuell gemacht werden muss.

BVH-Skelett und Modell

Mit dem BVH-Skeleton in der Scene wird nun das Modell im Object-Mode vor dem Skelett positioniert und skaliert.

halbes BVH-Skelett und Modell BVH-Skelett und Modell von vorne

Hier ist es das Ziel nur durch Skalierung und Bewegung des Modells möglichst genau das Modell und Skelett übereineinstimmen zu lassen.

Nach dem Positionieren kann das Skelett im Edit Mode angepasst werden. Hier wurde die Rechte Seite des Skeletts gelöscht, um sie nachträglich automatisch symmetrisch zu rekonstruieren.

Bei diesem Schritt ist es wichtig nur im Orthographischen Modus zu arbeiten und die einzelnen Bones weder zu skalieren noch zu rotieren, dies kann zu diversen Fehlern führen, welche nicht sofort ersichtlich sein könnten.

Nach der Anpassung können der linke Arm und das linke Bein ausgewählt werden und per Rechtsklick -> Symmetrize die entsprechende rechte Hälfte erstellt werden.

Skelett spiegeln Angepasstes Skelett von vier Seiten Automatische Weights auswählen

Nach dem Anpassen des Skeletts muss es als nächstes an das Modell gebunden werden. Hierfür im Object-Mode einfach Shift-Klick zuerst auf das Modell dann auf das Skelett und mit Strg-P das Parenting Kontext Menü öffnen.

Armature Deform With Automatic Weights auswählen.

(Im Rahmen dieses Tutorials wird nicht weiter auf Punkte wie Weight Painting eingegangen)

Fertiges Modell mit gebundenem Skelett

Nach diesem Prozess ist der erste Schritt abgeschlossen. Wenn das Skelett in Pose-Position und nicht in Rest-Position ist, kann durch einen Klick auf Play die Animation abgespielt werden.

1.2.2. Anwenden weiterer Animationen

Für diesen Schritt wechseln wir zum Animation Workspace in Blender. (Falls dieser nicht sofort ersichtlich ist kann er mit einem Klick auf das Plus-Symbol unter General -> Animation geöffnet werden.)

Blender Animation Worksspace

Als nächstes wird die vorherige Animation “gestashed”, hierführ wechselt man vom Dope-Sheet zum Action-Editor und klickt auf “Stash”. Nun ist die Animation für später gespeichert und die Timeline ist frei, um neue Animationen zu erstellen.

Als nächsten kann einfach eine weitere .bvh Datei importiert werden. Der NLA-Editor (Non-Linear-Action) sollte ebenfalls aufgerufen werden.

Neue Animation und NLA-Editor Action Stash im NLA-Editor

Im NLA-Editor sieht man nun Action die vorher “gestashed” wurde unter [Action Stash] und die neu hinzugefügte Animation. Wenn man nun links das vorbereitete Modell auswählt, kann man auf dem Button neben dem Stash-Button das Dropdown für Actions aufrufen und die neue Animation wählen.

Action Stash im NLA-Editor mit Dropdown

Diese sollte nun mit dem eigenen Modell ebenfalls abspielen. Das Skelett der neuen Animation kann nun gelöscht werden und die neue Animation ebenfalls als [Action Stash] gespeichert werden. Dieser Vorgang lässt sich beliebig oft wiederholen.

Wenn der NLA Editor etwas voll wird, z.B. mit leeren Animations-Strips kann per rechtsklick in einen freien Bereich in der linken Listenansicht über das Kontext Menü “Remove Empty Animation Data” ausgewählt werden. Dadurch wird in der Regel nichts gelöscht, aber alles sieht sehr viel ordentlicher aus.

1.3. Cinema 4D

Dieser Inhalt existiert leider noch nicht!

Du weißt was hier stehen könnt?
Zusätzliche Inhalte für die Webseite dürfen jederzeit an Herr Prof. Dr. Kipp gegeben werden.

1.4. 3DS Max

Dieser Inhalt existiert leider noch nicht!

Du weißt was hier stehen könnt?
Zusätzliche Inhalte für die Webseite dürfen jederzeit an Herr Prof. Dr. Kipp gegeben werden.

2. Game Engines

2.1. Unreal Engine

In diesem Kapitel geht es darum, wie du deine in Maya animierten Charaktere nach Unreal ex- bzw. importieren kannst.

Bevor du loslegst, solltest du dich mit dem Thema Skeletthierarchie und -benennung auseinandersetzen.

Der Grund ist, dass Skelette in Unreal ganz anders funktionieren, als in Maya. Dort gibt es nämlich keine 3D Repräsentation von einem Skelett, die ein echtes biologische Skelett imitiert, sondern nur Listen, die Knochen und Knochenhierarchien repräsentieren. Der Hauptfokus eines Skelet-Assets dort also nicht auf dem Skelett-Mesh, sondern nur auf der Verarbeitung der Animationsdaten.

Deshalb muss bevor das Skelett exportiert wird, das Skelett in Maya vorbereitet werden. Lese hierfür das Kapitel Import in Autodesk Maya

2.1.1. Skelett-Export

Da Unreal Skelett und Animation nur getrennt verarbeiten kann musst du zuerst deine Figur mit ihrem Skelett, aber ohne Animation exportieren. Danach exportierst du beides mit deiner Animation.

  1. Wähle im Outliner dein Mesh und dessen Skelett aus und erstelle für die beiden einen neuen Ordner (Strg. + G)
  2. Wechsle oben links vom Modeling- in den Rigging-Modus und wähle das Mesh deiner Figur aus.
  3. Skin > Go to Bind Pose damit der Charakter in der T-Pose steht.
  4. Wähle nun den neu erstellten Ordner aus und gehe über File > Send to Unreal > Selection in die Export Einstellungen.
  5. Setze den Zielordner für den Export fest (am besten einen in deinem Unreal Projekt) und übernehme folgende Einstellungen unter dem Reiter ‚File Type Specific Options‘:
    • Include > Geometry > Smoothing Groups (ein)
    • Include > Geometry > Animation (ein, da anderenfalls deine Verbindung zwischen Mesh und Skelett kaputt gehen kann)
    • Include > Geometry > Animation > Bake Animation (aus)
    • Include > Geometry > Animation > Deformed Models (alle auswählen)
    • Advanced Options > Axis Conversion > ‚Z‘ (da in Unreal die Achsen anders sind als in Maya)
    • File Format (.fbx)
Die Exporteinstellungen für die reine Figur Teil 1 Die Exporteinstellungen für die reine Figur Teil 2

Animations-Export

Die Export-Einstellungen für die Animation

Sobald der Export erfolgreich beendet ist, wähle dein Skelett in Maya erneut aus und gehe wieder auf File > Send to Unreal > Selection.

Diesmal kannst du genau alle Einstellungen, wie bei Skelett-Export übernehmen. Jedoch solltest du dieses Mal unter Include > Geometry > Animation > Bake Animation aktivieren. Hier hast du sogar die Möglichkeit die Länge deiner Animation über die Framezahl zu bestimmen.

Daten in Unreal importieren

Importeinstellungen für Unreal

Jetzt solltest du zwei FBX-Dateien haben. Öffne Unreal das Projekt, in das du deine Figur importieren möchtest. Drücke im Content Browser unten auf den grünen Import-Button. Wähle auf deinem Rechner die frisch exportierte FBX-Datei mit deinem Charakter ohne Animation aus. Daraufhin öffnet sich das ein Dialogfenster mit den Import-Einstellungen.

Drückt dann Import All. Kommt keine gravierende Fehlermeldung hast du deine Figur korrekt als ‚Skeletal Mesh‘ nach Unreal importiert. Öffnest du nun dein ‚Skeletal Mesh‘ kannst du immer Reiter ‚Skeleton‘ (oben rechts) deine Skelettstruktur auf der linken Seite sehen.

Die Skelettstruktur des importierten Charakters in Unreal Importoptionen für die Animation in Unreal

Jetzt kannst du die Animation importieren. Wähle also erneut in Content Browser ‚Import‘ und dann die entsprechende FBX-Datei. Unreal erkennt jetzt automatisch, dass es sich nicht um ein Skelett, sondern um eine Animation handelt. Das einzige, was du nun tun musst ist das Skelett unter Mesh > Skeleton auszuwählen und wieder ‚Import all‘ zu drücken.

Öffnest du jetzt wieder das Skeletal Mesh und gehst diesmal in den Reiter Animation, wird in der leiste im Asset Browser rechts unten deine importierte Animation angezeigt. Drückst du nun auf den Play Button unten rechts, sollte die Animation abgespielt werden.

Importierte Animation in Unreal

2.2. Unity

Dieser Inhalt existiert leider noch nicht!

Du weißt was hier stehen könnt?
Zusätzliche Inhalte für die Webseite dürfen jederzeit an Herr Prof. Dr. Kipp gegeben werden.