In diesem Kurs geht es um die Erstellung von Animationen für eine Game Engine mit Blender. Dabei gehe ich darauf ein wie man mehrere einzelne Animation speichert und in einem Paket exportiert, welche Tools Blender zur verfügung stellt um Loop-Animationen zu erstellen und wie man Animationen übereinander Layert um so schnell neue zu erstellen.
1. Grundlagen von Animation in Blender
Tutorial: Keyframes erstellen
Tip
In Blender unterscheiden sich die Shortcuts oder dessen Funktion, je nachdem wo die Maus drüber hovert. “i” ist der generelle Shortcut für Keyframes. Im 3D Viewport, wenn ein Objekt markiert ist, öffnet sich ein Kontextmenü mit den häufigsten Kanälen für Keyframes, aber nicht alle. Hovert man in den Properties über Variablen und drückt “i”, so wird für diesen Kanal ein Keyframe gesetzt. So können z.B. Keyframes beim Material getätigt werden.
1.01 Amature Animieren
Im weiteren Kurs verwenden wir eine Amature zum Animieren, wenn du mehr über Amatures in Blender wissen willst und wie man diese Erstellt, Klicke auf den Button.
Eine Amature animiert man nicht wie andere Objekte im Object Mode, sondern im Pose Mode. Selektiere dafür die Amature und halte “Tap” gedrückt. Wähle hier den Pose Mode aus.
2. Actions
Es gibt in Blender neben der Timeline noch weitere Fenster für Animationen.
Das Dope Sheet Fenster ist, wenn es auf “Dope Sheet” in der oberen linken Ecke gestellt ist , recht ähnlich zur Timeline, nur ist es hier möglich genau einzustellen, welche Keyframes man sehen kann. Stellt man das Fenster auf “Action Editor”, ist es hier möglich, Actions zu erstellen und zu bearbeiten. In diesem Part werden wir uns hauptsächlich auf dieses Fenster konzentrieren. Actions sind einzelne Animationsclips.
Der Graph Editor dient dazu, die Animationskurven der einzelnen Animationen anzupassen. Blender interpoliert nämlich die Frames zwischen zwei Keyframes und stellt die Animation dazwischen als Graph dar.
Das NLA Editor Fenster stellt keine Keyframes da, sondern funktioniert ähnlich wie ein Video Editing Programm. Hier kann man Actions reinholen und mit diesen animieren.
Dope Sheet
Graph Editor
Nonlinear Animation (NLA)
Auf den Bildern sieht man die verschiedenen Fenster für Animationen.
2.01 Actions erstellenn
Actions sind wie gesagt einzelne Animationsclips, die als einzelne Animationen mit der .fbx exportiert werden können und beim Import in die Game Engine als solche erkannt werden. So können gut strukturierte Animationen übergeben werden.
Tutorial: Actions Erstellen
Tip
Fake User:
Actions brauchen einen Fake User um sie zu speichern, wenn sie nicht benutzt werden.
Sollte rechts neben dem Namen von eurer Action eine Zahl auftauchen bedeutet dies dass eure Action an mehreren Stellen genutzt wird. Das bedeutet, dass diese Action entweder im NLA Editor liegt oder dass mehrere Objekte als nur eure Abenteuer auf diese Action zugreifen. Um diesen Weg zu bekommen, schaut einmal in den NLA Editor und löscht alle Action raus und klickt euch durch eure anderen Objekte (Charakter Mesh). Habt ihr das Objekt mit der Action gefunden selektiert dieses und drückt im Action Editor das X (Unlink Action) rechts neben der Action.
2.02 Actions richtig löschen
Über Unlink Action lassen sich allerdings Actions nicht löschen, um diese richtig zu löschen, muss man leider etwas suchen.
Tutorial: Actions Löschen
3. Loop Animation
Um schöne und einfach zu erstellende Loop Animationen zu erhalten, gibt es einige Tricks in Blender. die wir uns in diesem Abschnitt anschauen werden.
Erstellen wir als erstes eine Loop-Animation.
Tutorial: Einfache Loop Animation
Tip
Du kannst genauso wie im Viewport auch hier die gewünschten Keyframes selektieren und mit dem Punkt beim Numpad auf diese Zoomen.
Mit strg + shift + v können die Keyframes spiegelverkehrt eingefügt werden. Das hilft bei Walkcycle Animationen.
Leider klappt das bei den meisten Loop Animationen nicht so einfach. Ich habe zu der obigen Animation noch zwei keyframes hinzugefügt damit das Mesh sich so verhällt wie im GIF rechts zu sehen. Ähnliche rotierende Loops hat man bei Walk und Run Loops bei den Armen und Beinen. Bei dem GIF fällt auf, dass die Animation kein schöner Loop ist, sondern oben Links leicht abbremst.
Den Grund dafür sieht man im Graph Editor. Unsere Animation hat z.B. bei der X Rotation zwei Extreme bei Frame 5 und 15, weshalb diese waagerecht sein müssen. Die Keyframes bei 0 und 20 sollten jedoch wie der Keyframe bei Frame 10 schräg sein. Der Grund dafür, dass Blender die Keyframes bei 0 und 20 so interpoliert, liegt darin, dass vor und nach der Animation keine Keyframes sind. Nun könnte man als Lösung natürlich die komplette Animation einfach dahinter und davor kopieren, aber Blender hat hier eine elegantere Lösung.
Tutorial: F-Curve Modifier
4. NLA Editor
Der NLA Editor kann ein sehr hilfreiches Tool sein, um schnell aus bestehenden Animationen neue zu erstellen.
Wenn man z.B. eine Run Animation für seinen Charakter erstellt hat und man nun noch eine Run Animation brauch wo der Charakter seinen Körper und Kopf nach links oder rechts gedreht hat kann es recht aufwendig sein diese zu erstellen. Die erste Idee, die man hat, um Zeit zu sparen, ist die Run Animation zu duplizieren, um diese zu editieren. Dies ist jedoch auch recht aufwändig, da alle nötigen Bones bei jedem Keyframe um die gleiche Weise eingedreht werden müssen. In dem folgenden Tutorial wird gezeigt, wie das viel schneller mit dem NLA Editor geht.
Run Animation
Turn Animation
Kominierte Animation
Tutorial: Actions kombinieren
Tip
Tracks:
Tracks sind ähnlich wie Layer in Photoshop. Sie werden von oben nach unten überblendet.
Hat ein Track eine Punktlinie drumherum ist er deaktiviert.
5. Export
Im letzten Teil geht es um den Export von Blender und den Import nach Unity.
Selectiere deine Amature und alle Meshes, die du exportieren möchtest. Klicke auf File > Export > FBX. Die allgemeinen Exporteinstellungen findest du im Rigging Kurs unter 07. Export, hier gehen wir nur auf Bake Animation und dessen unterpunkte ein.
Diese Einstellung Spart Keyframes
Diese Einstellung ist genauer
Standart Bake Animation Einstellungen:
Haken bei Bake Animation, sonst werden keine Animationen in Unity importiert.
Haken bei Key all Bones: Setzt einen Key auf jeden Bone, jedoch nicht für jede Action.
Kein Haken bei NLA Strips, sonst bekommt ihr unnötige Animationen mit Exportiert, dir vielleicht noch im NLA Editor sind.
Haken bei All Actions, damit alle Actions nach Unity Importiert werden können.
Force Start/End Keying: Setzt Keys an Anfang und Ende jeder Aktion. Hier einen Haken setzen bei Main Animationen. Bei Override Animationen den Haken rausnehmen, damit nur die bewegten Bones Keys erhalten.
Simplify reduziert Keys, um Speicher zu sparen (Dateigröße und in Engine Arbeitsspeicher).
Ist ein Haken bei “Force Start/End Keying” kann Simplify angewandt werden (0.1) um Keys zu sparen. Hat man keinen Haken und wendet Simplify an, werden bei gleichbleibenden Animationen die Keys gelöscht (Flat Curves werden gelöscht).
Setzt man Simplify auf 0, wird bei jeder Bone in allen Action ein Key in jeden Frame gesetzt, auch wenn kein Haken bei “Force Start/End Keying” ist.
Die Sampling Rate bestimmt, wie häufig gebaked wird. Steht sie auf 1, wird jeder Frame gebaked.
Solltet ihr viele Action haben, die ihr gar nicht exportieren wollt, könnt ihr auch die zum Export gewünschten Actions in den NLA Editor pushen und beim Export statt All Actions einen Haken bei NLA Strips machen.
Ist das FBX nach Unity Importiert, sollte man als erstes kontrollieren, ob im Animation Tap alle Animationen importiert wurden und ob diese die richtige Länge haben. In unseren Fall stimmt alles. Nun können bei allen Loop Animationen ein Haken bei Loop Time und Loop Pose getätigt werden.
In Unity empfiehlt es sich, den Haken bei Resample Curves rauszunehmen und Anim. Compression auf Off zu stellen, zumindest wenn eure Animationen nicht so aussehen wie in Blender. Hier kann es zu Unkorrektheiten kommen und ein leichtes Zittern kann entstehen.
Tip
Tip:
Sollten trotz “All Actions” nicht alle Animationen exportiert werden, liegen vermutlich Keyframes in den nicht exportierten Actions auf den Deform Bones.