Wenn ihr dieses Tutorial am gleichen Projekt Schritt für Schritt mitarbeiten möchtet, findet ihr im Paket mit den Arbeitsdateien das Dokument "PSD_C4D_R14_Aerodynamik_start.c4d", das unsere gemeinsame Ausgangsbasis bereithält.
Das Blatt Papier ist ein einfaches parametrisches Ebene-Objekt, das eine ausreichende Segmentierung für die Deformation per Dynamics besitzt. Damit die Seitenlage gut zu erkennen ist und sich die Szene noch ein bisschen bunter gestaltet, ist das Papier zweifarbig texturiert.
Die Gitterabdeckung besteht aus zwei Atom-Arrays auf Basis zweier Ebene-Objekte. Auch um Kollisionen genauer berechnen zu können, arbeiten wir hier mit zwei verschiedenen Objekten. Der Boden ist nicht als Boden-Objekt, sondern als Polygonobjekt ausgeführt, damit ein Loch im Boden für den Schacht, ebenfalls ein Polygonobjekt, geschaffen werden konnte.
Ausstattung mit dynamischen Eigenschaften
Beginnen wir mit der Gitterabdeckung des Lüftungsschachts. Wie bereits erwähnt, steuern wir die Kollisionen des Papiers mit dem Gitter hier mit zwei verschiedenen Objekten und auch Dynamics Body Tags. Dazu selektieren wir die beiden Atom Arrays im Objekte-Manager und weisen ihnen per Kontextmenü mit der rechten Maustaste bzw. über das Menü Tags>Simulations-Tags im Objekte-Manager ein Dynamics Body Tag als Kollisionsobjekt zu.
Wir selektieren beide Dynamics Body Tags im Objekte-Manager, um die Einstellungen in einem Schritt für beide Tags festlegen zu können. Auf der Dynamics-Seite des Einstellungsdialogs behalten wir die Standardeinstellungen bei.
Auf der Kollision-Seite des Einstellungsdialogs können wir die Form der Kollision auf Automatisch belassen, da wir für das Gitter zwei getrennte Objekte verwenden. Wir erhöhen den Reibungswert auf 80%, um die auftreffenden Blätter Papier nur wenig davongleiten zu lassen.
Weiter geht es mit dem Boden. Auch das Polygonobjekt des Bodens bekommt über das Kontextmenü per rechter Maustaste bzw. über das Menü Tags>Simulations-Tags im Objekte-Manager ein Dynamics Body Tag als Kollisionsobjekt zugewiesen.
Auch für das Dynamics Body Tag des Bodens können wir die Standardeinstellungen auf der Dynamics-Seite ohne Anpassungen übernehmen.
Auf der Kollision-Seite des Einstellungsdialogs müssen wir lediglich die Reibung an unsere Bedürfnisse anpassen. Damit die auf den Boden fallenden Papierblätter nicht zu weit davongleiten, erhöhen wir den Reibungswert auf 150%.
Endlich kommen wir zum Blatt Papier, das wir später über ein Partikelsystem von oben herab zigfach herabrieseln lassen. Zunächst kümmern wir uns um seine dynamischen Eigenschaften. Wir weisen ihm daher über das Kontextmenü per rechter Maustaste bzw. über das Menü Tags>Simulations-Tags des Objekte-Managers ein Dynamics Body Tag als Soft Body zu.
Durch die Auswahl des Soft Body Tags sind bereits die wichtigsten Parameter auf der Dynamics-Seite des Einstellungsdialogs gesetzt. Zusätzlich setzen wir den linearen Geschwindigkeitsschwellwert noch etwas herauf, damit die auf dem Boden liegenden Blätter Papier nach angemessener Zeit zur Ruhe kommen.
Auf der Kollision-Seite des Einstellungsdialogs wählen wir als Form das bewegte Mesh aus. Damit ist eine exakte Berechnung der Kollision gewährleistet.
Die Elastizität verringern wir auf 5%; schließlich soll das Blatt nach dem Aufkommen auf dem Boden oder Gitter nicht auch noch nach oben springen. Eine Reibung von 50% passt gut zu den bereits am Gitter bzw. am Boden anliegenden Reibungswerten.
Über die Dichte bestimmen wir auf der Masse-Seite des Einstellungsdialogs die Masse des Blattes Papier, das später per Partikelsystem zigfach zu Boden fällt. Um der Simulation mitzuteilen, dass es sich hier um ein sehr leichtes Flugobjekt handelt, stellen wir auf Eigene Dichte um und vergeben einen kleinen Wert von 2.
Auf der Kräfte-Seite des Einstellungsdialogs kommen wir endlich zu einigen entscheidenden Parametern für dieses Tutorial - die Aerodynamik. Da unsere Papierblätter beim Flug und bei Windeinfluss der Umgebung wenig entgegenzusetzen haben, setzen wir den Wert für den Luftwiderstand auf niedrige 5%.
Umgekehrt möchten wir, dass sich die Blätter schon bei geringem Wind aufrichten und anheben lassen; hier ist für das Anheben ein unterstützender Wert von ca. 70% angebracht. Die Option Beidseitig stellt sicher, dass nicht nur die Oberseite des Papiers, sondern auch die Unterseite als Angriffsfläche erkannt und behandelt wird.
Damit sich unser Papierblatt auch wie Papier benehmen kann, haben wir es als Soft Body-Objekt, also als elastischen, biegsamen Körper angelegt. Auf der Soft Body-Seite des Einstellungsdialogs bestimmen wir die näheren Eigenschaften.
Um die Rechenzeit nicht mehr als nötig in die Höhe zu treiben, deaktivieren wir im Soft Body-Bereich zunächst den akkuraten Solver. Sollten Fehlberechnungen auftreten, könnten wir hier immer noch nachbessern.
Weiter geht es mit den Eigenschaften des Papiers. Struktur-Federn sorgen für die Steifigkeit des Materials, deshalb vergeben wir hier einen relativ hohen Wert von 300, bei 50% Dämpfung. Die in Version 14 neu hinzugekommene Möglichkeit der Verformung nach Überbelastung, die elastische Grenze, setzen wir spät bei 800% an.
Dies stellt sicher, dass nicht jedes auf dem Boden aufschlagende Papier sofort faltig liegen bleibt. Damit das Papier nicht einfach zusammenklappt, erhöhen wir den Wert für die Scherungs-Federn auf 100.
Dem Biegen hat Papier naturgemäß nicht viel entgegenzusetzen, deswegen fällt dieser Wert relativ niedrig aus. Auch hier nutzen wir die elastische Grenze, allerdings etwas niedriger, damit Knittern durchaus erlaubt ist.
Über die Formbewahrung legen wir fest, wie sehr sich das verformte Soft Body-Objekt bemüht, in den Ursprungszustand zurückzukehren. Ein sehr geringer Wert für die Härte reicht, da hier nicht viel Widerstand vom Papier zu erwarten ist.
Die elastische Grenze setzen wir wieder höher an, damit das Papier, wenn es einmal diese Grenze überschritten hat, auch einfach verformt liegen bleiben kann.
Aufbau des Partikelsystems für die fallenden Papierblätter
Nach diesem Parameter-Marathon sind alle relevanten Objekte mit dynamischen Eigenschaften versehen. Wir kümmern uns jetzt um das Partikelsystem, das die Papierblätter produziert und auf den Boden rieseln lässt.
Dazu holen wir uns einen Emitter aus dem Menü Simulieren>Partikelsystem in die Szene.
Damit das Blatt Papier als Partikel fungieren kann, legen wir es im Emitter als Unterobjekt an. Über den Y-Koordinaten-Wert setzen wir den Partikelemitter um ca. 300 cm nach oben; die Position direkt über dem Lüftungsschacht ist bereits in Ordnung.
Im Einstellungsdialog des Emitter-Objekts steuern wir über die Partikel-Seite die Emission der Partikel. Verwendet hier nicht zu hohe Geburtsraten, denn da es sich um Soft Body-Objekte handelt, ist die Berechnung wirklich rechenintensiv. Aber keine Sorge, auch mit vermeintlich kleinen Geburtsraten (wie meine 10) lässt sich jede Menge Papier anhäufen.
Damit die Animation bei Bild 500 enden kann und bis dahin jedes Blatt am Boden liegt, lassen wir die Partikelproduktion bei Bild 400 enden.
Durch die Variation der Geschwindigkeit und einer zusätzlichen Rotation um bis zu 180° wirkt der Partikelausstoß natürlich. Die Option Objekte darstellen garantiert, dass wir im Editor und beim Rendern auch wirklich Papierblätter fallen sehen.
Auf der Emitter-Seite des Einstellungsdialogs regulieren wir die Größe des Emitters. Die angegebene Größe reicht, um die Szene und den Lüftungsschacht ausreichend mit Papier zu füllen.
Das testen wir nun auch endlich, indem wir auf den Abspielbutton klicken und im Editor auch wieder etwas an den Lüftungsschacht heranzoomen. Die Papierblätter fallen von oben herab und kollidieren wie gewünscht mit der Gitterabdeckung und dem Boden.
Einbau des Luftstroms aus dem Lüftungsschacht
Von einem aerodynamischen Effekt ist bislang noch nicht allzu viel zu sehen; das ändert sich aber gleich, wenn wir einen aus dem Lüftungsschaft austretenden Luftstrom in die Simulation einbauen. Dazu holen wir uns den Partikel-Modifikator Wind aus dem Menü Simulieren>Partikelsystem in unsere Szene.
Da der Luftstrom aus dem Lüftungsschacht austreten soll, ist die Position auf dem Ursprung bereits korrekt. Allerdings müssen wir den Wind noch über den Pitching-Winkel W.P um 90° drehen, damit der Luftstrom in Y-Richtung nach oben weist.
Im Einstellungsdialog des Wind-Objekts finden wir auf der Objekt-Seite die Parameter zur Windstärke und für Turbulenzen. Wir werden die Windgeschwindigkeit in Kürze vom Zufall beherrschen lassen, deswegen stellen wir hier vorerst 50 m für erste Tests ein. Verwirbelungen durch Turbulenzen sind durchaus erwünscht (schließlich strömt der Wind durch Gitter), besonders wichtig ist aber, dass wir als Modus den aerodynamischen Wind aktivieren, der auf die aerodynamischen Eigenschaften unserer Papierblätter wirken kann.
Auf der Abnahme-Seite wählen wir die Form Kugel als Abnahmeform. Diese Form füllt zwar nicht die Ecken komplett aus, dies ist aber auch durchaus in unserem Sinn, da es der reellen Situation näher kommt und ein wenig Platz für das Papier bietet, sich auf dem Gitter auszubreiten.
Die runde Kugelform bewirkt außerdem, dass die hochgewirbelten Blätter nicht auf einer Kante des Modifikators "liegen" bleiben und teilnahmslos schweben. Die Abnahme setzen wir auf 10% und wählen bei Abnahmefunktion die Option Inv. quadratisch.
Ein Klick auf den Abspielbutton zeigt, wie der ausströmende Wind nun Einfluss auf die herabfallenden Papierblätter nimmt. Allerdings ist der Luftstrom derzeit noch zu gleichförmig.
Steuerung des Luftstroms per XPresso
Mit einer kleinen XPresso-Schaltung verhelfen wir dem Luftschacht zu plötzlich auftretenden stoßweisen Windböen, ohne irgendwelche Parameter dabei animieren zu müssen.
Dazu benötigen wir eine XPresso-Expression, die wir sinnvollerweise dem Wind-Objekt als Träger zuweisen. Wir finden die Expression entweder über das Kontextmenü per rechter Maustaste unter den CINEMA 4D Tags oder auch im Menü Tags>CINEMA 4D Tags des Objekte-Managers.
Wir öffnen den XPresso-Editor, indem wir doppelt auf das Icon der XPresso-Expression im Objekte-Manager klicken, um dort unsere kleine Schaltung aufzubauen. Um das Wind-Objekt ansprechen zu können, benötigen wir es im XPresso-Editor. Daher ziehen wir es einfach per Drag&Drop aus dem Objekte-Manager in den XPresso-Editor.
Am blauen Eingangsport-Button des Wind-Nodes wählen wir den Parameter Windgeschwindigkeit im Menü Objekt-Eigenschaften aus, um ihn als Eingangsport zur Verfügung zu stellen.
Die generierte Windgeschwindigkeit soll sich zum einen in einem vorgefertigten Wertebereich befinden, zum anderen aber auch keine unbrauchbaren Wertesprünge aufweisen, sondern immer wieder ansteigen und abfallen. Für diese Anforderungen eignet sich der Noise-Node hervorragend, den wir uns per Kontextmenü mit der rechten Maustaste in den XPresso-Editor holen.
Als Ausgangsport am Noise-Node steht uns bereits der Noise-Port zur Verfügung. Durch Ziehen mit der Maus verbinden wir den Noise-Port mit dem Eingangsport Windgeschwindigkeit des Wind-Objekt-Nodes.
Der Parameter Windgeschwindigkeit wird nun also von einer Noise-Textur gesteuert. Diese Textur und ihre Verarbeitung lässt sich über den Einstellungsdialog des Noise-Nodes regulieren.
Wir wählen die wellenförmige Turbulenz und lassen durch die Deaktivierung der Option Absolute Werte auch negative Werte zu. Über den Parameter Größe skalieren wir den Noise, um weiche Übergänge zu schaffen. Über die Frequenz steuern wir die Häufigkeit der Noise-Veränderungen über die Zeit.
Ein relativ niedriger Wert von 0,5 sorgt dafür, dass die Windstöße nicht zu kurz hintereinander eintreten. Die Amplitude multipliziert das Noise-Ergebnis zu dem Noise-Wert, der übergeben wird. Hier sorgen wir mit 150 Einheiten für deutliche Ausschläge. Der Startwert 0 lässt unsere Windmaschine mit Windstille beginnen.
Im Einstellungsdialog des Wind-Objekts macht sich die Steuerung der Windgeschwindigkeit per XPresso durch ein geändertes Parameterkästchen bemerkbar. Wenn wir auf den Abspielbutton klicken, können wir sehr gut beobachten, wie sich der Windgeschwindigkeitswert über die Zeit verändert - und auch im Editor erkennen wir die noise-basierte Rotoren-Drehung des Wind-Modifikators.
Bildgesteuerte Aktivierung des Wind-Objekts
Um den Papierblättern auch die Gelegenheit zu geben, sich auf dem Gitter abzusetzen und zu sammeln, schalten wir das Wind-Objekt erst bei Bild 150 ein. Dies erledigen wir über eine kleine Parameter-Animation.
Dazu setzen wir den Zeitregler auf Bild 0 oder 1, schalten das Wind-Objekt über den Parameter Aktivieren auf der Basis-Seite aus und klicken mit gedrückter Ctrl- bzw. Strg-Taste auf den Parameter-Kreis, um ein Keyframe für diesen Wert zu speichern.
Anschließend stellen wir den Zeitregler auf Bild 150 und nehmen ein Keyframe für den Aktivieren-Parameter bei eingeschaltetem Wind-Objekt auf.
Mehr ist bei dieser kleinen Parameter-Animation nicht zu erledigen. Die Rotorblätter des Wind-Objekts stehen nun bis Bild 149 still und setzen sich erst ab Bild 150 in Bewegung.
Dynamics-Voreinstellungen überprüfen
Wenn ihr meine Ausgangsszene für das Nacharbeiten dieses Tutorials verwendet habt, sollte hier eigentlich kein Änderungsbedarf bestehen. In den Projekt-Voreinstellungen im Menü Bearbeiten finden wir auf der Dynamics-Seite einige Parameter, die dem Dynamics-Solver bei der Abarbeitung helfen, um Fehler zu vermeiden.
Im Bereich Allgemein der Dynamics-Voreinstellungen müssen wir nur sicherstellen, dass Gravitation und Dichte global herrschen. Für die aerodynamische Simulation ist der Parameter Luftdichte wichtig.
Im Experte-Bereich können wir dem Dynamics-Solver helfen, indem wir die Skalierung heruntersetzen. Wir haben es in der Hauptsache mit 20 cm x 30 cm großen Papierblättern zu tun, die deformiert werden und dabei ziemlich exakt kollidieren sollen. Ein Wert von 5 cm schafft hier ein besseres Größenverständnis für die Dynamics-Engine.
Jetzt können wir die fertige Simulation in ihrer Gänze ablaufen und auch rendern lassen. In mehreren Windstößen werden die auf dem Gitter gesammelten Papierblätter dank Aerodynamik immer wieder nach oben gewirbelt …
… und können sich schließlich nur an den windgeschützten Bereichen auf dem Gitter halten.