Tutorial: Tinte in Wasser mit Blender

Tintentropfen in Wasser werden in den Feldern Motion Graphics und Design häufig genutzt. Anstatt sich lange durch Archive zu wühlen und Lizenzgebühren zu zahlen, lassen sich diese sehr einfach und auf das Projekt zugeschnitten in Blender erstellen.

Dieses Tutorial setzt Grundkenntnisse der Blender 2.5 Rauch-Simulation voraus. Das nötige Grundwissen findet ihr in meinen restlichen Tutorials über die Rauch-Simulation.

Eine sehr schöne Sache an der Arbeit mit digitalen Daten und vor allem in 3D ist die Tatsache, dass sich bereits vorhandene Elemente einfach zweitverwerten lassen. So wurden zum Beispiel die Dinosaurier aus Jurassic Park auch in weiteren Filmen in abgewandelter Form eingesetzt. Warum also nicht selbst bereits vorhandene Projekte weiternutzen? Als Beispiel habe ich für dieses Tutorial das grundlegende Setup direkt aus meinem Rauchwalzen-Tutorial übernommen. Mit nur wenigen Klicks lässt sich ein komplett anderes Ergebnis erzielen. Wenn ihr also bereits eine Rauchwalze erstellt habt, dann wird dieses Tutorial für euch ein Klacks. Lasst uns zuerst die fertige Szene begutachten:

Inkdrop in Blender Basic Scene Setup

Eine Domain, eine Kamera, die diese direkt betrachtet und drei Area Lights. Wichtig sind die beiden Force Fields, die man leicht links sehen kann. Der Pfeil stellt ein Turbulence Field dar, das wir so animieren werden, dass es sich langsam durch die Domain bewegt. An der Position des Emitters befindet sich zusätzlich ein Wind Field, welches den Rauch in die Mitte blasen wird.

Erstelle um anzufangen entweder die Domain sowie die Lichter von Hand, oder lade das Rauchwalzen-Blendfile als Starter-Blendfile hier herunter und lösche sowohl den Emitter als auch das Vortex Force Field. Ändere dann noch den Hintergrund in den World-Einstellungen auf weiß. Füge eine Plane hinzu und skaliere diese auf halbe Größe. Als Nächstes füge einen Subsurf-Modifier auf Level 3 hinzu und wende diesen an. Dann füge ein Force Field des Typs Wind hinzu und wähle dieses und die Plane gleichzeitig an. Bewege (und rotiere) sie jetzt an die gewünschte Stelle. Die Einstellungen für den Emitter und das Wind Force Field an Position Frame 1 findest du in folgender Abbildung:

Settings emitter and wind force field

Die Strength des Wind Fields ist animiert. Von Frame 1 bis 10 ist sie auf 20 eingestellt und von Frame 11 an auf 0. Während dieser 10 Frames werden  auch Partikel emittiert, sonst nicht. Die Temperature Difference des Emitters sollte auf 0 eingestellt werden. Ansonsten bekommt die Tinte später einen Drang nach oben.

Jetzt ist der richtige Moment, das Turbulence Field hinzuzufügen, welches die Ausbreitung der Tinte kontrollieren wird. Für einen besseren Effekt sollte es sich *langsam* durch die Domain bewegen. Bei diesem Tutorial lasse ich es sich über einen Zeitraum von 400 Frames von der Mitte zum linken Rand bewegen. Die Richtung ist aber eigentlich egal, Hauptsache es bewegt sich.

Settings Turbulence Field

Als Nächstes die Einstellungen für die Domain: Das Material ist fast das gleiche wie im Rauchwalzen-Tutorial, allerdings mit einer Reflection Color von "D20040" (Hex-Wert). In den Smoke-Einstellungen der Domain wird High Resolution hier nicht genutzt. Daher muss die Anzahl der Divisions auf den vergleichsweise hohen Wert von 220 eingestellt werden, damit sich der Tropfen im Wasser später scharf abgrenzt. Die Vorticity ist auf den sehr niedrigen Wert 0.25 eingestellt:

Der letzte und ebenfalls sehr wichtige Teil ist die Textur. Es wird hier nur eine Voxel Data Texture mit Density als Source und Cubic B-Spline für die Interpolation benötigt. In der Influence-Sektion sollte nur Density ausgewählt sein. Am wichtigsten ist es, den Ramp-Shader so einzustellen, dass der Rauch nur an seiner Grenze zur Umgebung sichtbar ist. Als Farbe reicht hier ein einfaches Weiß, signifikant ist aber der Wert für den Apha-Kanal:

Ramp shader

Hier habe ich 0 an Position 0.049 eingestellt, 1 bei 0.084 und wieder 0 an Stelle 0.166. Ein klein wenig Experimentieren wird an dieser Stelle unausweichlich sein.

Nach Baking und Rendering sollte ein wirklich gutaussehender Effekt eines Tintentropfens in Wasser herauskommen, für den es zahlreiche Einsatzzwecke gibt. Da wir eine Simulation benutzt haben, lässt sich dabei einiges kontrollieren, zum Beispiel die Bewegung der Tinte über Force Fields.

Frage: Die große Zahl an Divisions führt dazu, dass das Baking sehr lange dauert. Außerdem braucht die Simulation so sehr viel RAM und Platz auf der Festplatte. Ist es nicht möglich, High Resolution mit Wavelets zu nutzen, um die Rechenzeit und den Speicherverbrauch deutlich zu reduzieren?

Antwort: Wenn du High Resolution nutzen willst, musst du dort die Strength auf einen sehr niedrigen Wert wie z.B. 0.01 einstellen. Dadurch wird das Aussehen der Simulation nicht geändert, die Kanten werden aber deutlich schärfer. Auch wirst du die Force Fields stärker machen müssen. Die folgende Simulation wurde mit 96 normalen Divisions und 3 Divisions High Resolution durchgeführt. Es ist deutlich zu erkennen, wie der Effekt der Force Fields durch weniger Divisions abgeschwächt wird:

Frage: Das sieht doch gar nicht wie Tinte in Wasser aus?

Antwort: Korrekt! Es ist ein stark stilisierter Effekt Erstens ist er in Sachen Geschwindigkeit eher Slow Motion und zweitens ist nur der Rand der Tintenwolke sichtbar. Die Einstellungen lassen sich aber leicht dahingehend ändern, dass das Resultat deutlich realistischer aussieht. Falls du herausgefunden hast, wie, freue ich mich über einen Kommentar mit den Ergebnissen!

Beide fertigen Blendfiles und die Videos kannst du hier herunterladen!

Falls Dir das Tutorial gefallen hat, schreibe doch unten einen Kommentar. Auch bin ich sehr gespannt, wie Ihr den Effekt nutzen werdet. Falls euch der Effekt an sich gefällt, schreibt doch einen Kommentar dazu auf Nion's homepage!