Bullet-Dynamics
Allgemein
Kurz zum Unterschied zwischen herkömmlicher Keyframe-Animation und Dynamics-Simulation: Bei der Keyframe-Animation ist es so, dass der Animator sich selbst Gedanken machen muss, wie er z.B. die Kollision zweier Billard-Kugeln realisiert. Er muss beide Kugeln getrennt animieren, sprich Keys vergeben. Um die Animation der Wirklichkeit gemäß ablaufen zu lassen, sind vielleicht sogar praktische Versuche nötig, die mit der Videokamera gefilmt werden. Anhand der Videos muss der Animator nun versuchen, die realen Abläufe mit Hilfe von Positions- und Winkelspuren in der Zeitleiste nachzubauen. Eine relativ komplizierte und zeitaufwendige Angelegenheit. Allerdings haben Sie hier auch die volle Kontrolle über alle Bewegungen.
Der Vorteil der Dynamics liegt nun darin, dass der Kollisionsvorgang zwischen den beiden Billardkugeln nicht mehr aufwendig von vorne bis hinten gedanklich durchgespielt werden muss. Vielmehr lässt man die beiden Kugeln aufeinanderprallen, indem man ihnen zu Beginn eine Geschwindigkeit verleiht und dann einfach abwartet, was passiert. Hört sich doch um einiges einfacher an, oder? Allerdings geben Sie hier die Kontrolle über die Bewegungen teilweise an die Dynamics-Simulation ab, d.h. Sie erhalten nicht unbedingt vorhersagbare Ergebnisse.
CINEMA 4D nimmt Ihnen bei einer Dynamics-Simulation einen Großteil der Arbeit ab, indem es Bewegungen von Objekten durch die Berücksichtigung physikalischer Eigenschaften wie Masse und Geschwindigkeit berechnet. Durch Kraftfelder (z.B. (Partikel-) Modifikatoren), Federn, Motoren, Kollisionen und Konnektoren kann auf diese Objekte Einfluss genommen werden.
CINEMA 4D simuliert also die realen Bewegungs-Vorgänge, die in der Natur ja auch nur aufgrund von Kräften und Massen zustande kommen.
Dynamics eignen sich also in erster Linie zur Realisierung komplexer, interaktiver Bewegungen von Körper, wie beispielsweise dem Füllen von Behältern, Zusammenstürzen von Mauern, Kugeln in einem Billard-Spiel, etc.
Darüber hinaus müssen von Dynamics beeinflusste Objekte nicht unveränderlich in ihrer Form, also bretthart sein. Genauso ist es möglich, weiche, federnde Objekte wie springende Fußbälle, Trampoline, wehende Fahnen etc. zu realisieren (das sind die sog. "Soft Bodies”).
Die Implementierung beruht auf der Open Source Bibliothek "Bullet". Die Arbeit mit den Dynamics ist wesentlich vereinfacht, Sie müssen nicht mehr separate Solver-Objekte oder Gravitationsfelder erzeugen, sondern verleihen einfach den Objekten, auf die Kräfte wirken sollen, ein Rigid-Body-Tag (Objekt-Manager: Tags/ Bullet-Tags):
Mehr braucht es nicht, einen Würfel zu Boden fallen zu lassen.
Die Dynamics werden sehr schnell berechnet und arbeiten mit parametrischen Objekten zusammen, d.h. Sie müssen beispielsweise keine Sweep oder Grundobjekte bearbeitbar machen.
Dadurch, dass Dynamics-Simulation mit normaler Animation kombiniert (s.a. Dynamischer Übergang und Position folgen) und zwischen beiden auch überblendet werden kann, lassen sich sehr schöne Effekte realisieren.
Das Dynamics Body Tag (Objekt-Manager: Individuelle Elemente auf Oberste Ebene zu stellen.
) kann auch einem Array-Objekt oder einem Partikel-Emitter verliehen werden. Die vervielfältigsten Objekte gehorchen dann auch den Dynamics. Beachten Sie, gegebenenfalls die OptionDas Dynamics Body Tags kann einem der folgenden klonerzeugenden Objekte zugewiesen werden:
Alle Klone sind dann dynamische Objekte! Beachten Sie, gegebenenfalls die Option Individuelle Elemente auf Oberste Ebene oder Alle zu stellen.
Sie finden Dynamics-Einstellungen hier:
- Dynamics Body Tag: Objektspezifische Einstellungen für alle von den Dynamics zu berücksichtigen Objekte.
- Bullet-Szenenvoreinstellungen: Szenenspezifische Einstellungen allgemeiner Art (z.B. Gravitation, Simulationsqualitätseinstellungen u.a.)
- Konnektor, um Bewegungs- und Drehrichtungen einzuschränken
- Motor, die Kräfte/Drehmomente auf Objekte wirken lassen.
- Feder, die Federkräfte zwischen Objekten wirken lassen.
- Kraft, szenenspezifische Einstellungen für Massenanziehungskäfte zwischen den Klonen.
Startzustand / Ruhezustand
Das Animationsbild "0” hat für die Dynamics eine besondere Bedeutung: Es stellt den definierten Startzustand der Simulation dar. Das bedeutet, so lange Sie mit dem Aufbau der Szene beschäftig sind, sollten Sie das stets zum Zeitpunkt "0” tun. Später übernehmen die Dynamics das Ruder und es ist nicht mehr möglich, Konnektoren oder z.B. mit Dynamics Body Tag (außer Dynamisch steht auf "Aus") bewehrte Objekte zu verschieben.
Für Soft Bodies wird hier – sofern nicht anders definiert – ebenfalls der Ruhezustand (alle Federn, die die Ruheform des Soft Bodies definieren, haben hier ihre Ruhelänge).
Beachten Sie, dass die Szenenvorschaulänge ebenfalls das Bild 0 beinhalten sollte, da der Startzustand ansonsten beim Abspielen der Simulation nicht mehr "angefahren" wird (die Simulation läuft dann stetig weiter).
Soft Body / Rigid Body
Es sollte zwischen diesen beiden Begriffen unterschieden werden:
- Rigid Body: ein für die Dynamics fester, unverformbarer Körper, der als Ganzes auf dynamische Kräfte reagiert (jeder Körper, dem ein neues Dynamics Body Tag verliehen wird, ist ein solcher). Beachten Sie, dass diese klassische Definition innerhalb CINEMA 4D zwar nach wie vor richtig ist, zusätzlich kann ein Rigid Body mit einem Deformer verformt werden und das Objekt reagiert trotzdem korrekt als Rigid Body. Stellen Sie sich einen aufrecht stehenden Zylinder vor, der durch ein Biege-Objekt verbogen wird. Ab einer gewissen Biegung fällt der Zylinder um.
- Soft Body: ein weicher, durch die dynamischen Kräfte verformbarer Körper (dies muss explizit mit der Option Soft Body eingstellt werden).
Beispiel für Dynamics mit einem Klon-Objekt
Angenommen, Sie haben mit dem Klon-Objekt eine solche Szene erstellt:
Als Effekt soll zunächst keine Schwerkraft wirken, dafür aber ein Wind-Objekt, das die Klone turbulent verwehen soll. Zu einem späteren Animationszeitpunkt sollen die Klone dann zu Boden fallen. Was ist zu tun?
- Zunächste weisen Sie dem Klon-Objekt ein Dynamics-Body-Tag (Objekt-Manager: ) zu. Schalten Sie gegebenenfalls die Option Individuelle Elemente auf Alle. Dadurch werden die Einzel-Klone für die Dynamics "freigeschaltet".
- Dann erhält der Boden ebenfalls ein Dynamics-Body-Tag. Er ist dann Kollisionsobjekt, sodass die Klone später auf ihn fallen können.
- Erstellen Sie ein Wind-Objekt (Hauptmenü: ). Stellen Sie im Wind-Objekt Windgeschwindigkeit auf 10 und Turbulenz auf 1000 und Turbulenzgröße auf 80. Damit erzeugen Sie eine relativ starke Turbulenz.
- Da die Gravitation erst zu einem späteren Zeitpunkt einsetzen soll, animieren Sie jetzt den Parameter Gravitation( ). Gehen Sie beispielsweise zu Bild 20, geben Sie bei Gravitation 0 ein und erzeugen Sie einen Key dafür. Gehen Sie ein Bild weiter (21), geben jetzt 1000 ein und erzeugen einen zweiten Key.
- Fertig. Lassen Sie die Animation laufen und es ergibt sich folgendes Resultat:
Befehle
Sie haben einige Befehle zur Auswahl, um ohne viel Federlesens (rechte Maustaste auf Objekt, Bullet-Tags) selektierte Objekte mit einem Dynamics Body-Tag mit verschiedenen Einstellungen zu versehen.
Fügt den selektierten Objekten ein Dynamics Body Tag mit Rigid Body-Eigenschaften hinzu.
Fügt den selektierten Objekten ein Dynamics Body Tag mit Soft Body-Eigenschaften hinzu.
Fügt den selektierten Objekten ein Dynamics Body Tag hinzu. Das Objekt selbst bewegt sich dann nicht, kann aber als Kollisionspartner für andere dynamische Objekte wirken.
Fügt den selektierten Objekten ein Dynamics Body Tag hinzu. Das Geist-Objekt selbst bewegt sich dann nicht, aber andere dynamische Objekte können Quasi-Kollisionen auswerten.