Blender Dokumentation: Fake Fluidanimationen
Diese Seite bezieht sich auf Blender v2.47 |
Fake Fluidanimationen
[Bearbeiten]Eigentlich ist das Wort Fluidanimation hier komplett fehl am Platz, da das, was hier erklärt wird, eigentlich kaum was mit richtiger Fluidanimation zu tun hat. Es geht hierbei mehr darum Materialien so zu erstellen, dass sie aussehen wie Wasser bzw. andere Flüssigkeiten. Die Grundlage bildet hier ein Material, dass fluidähnliche Eigenschaften hat. Wir orientieren uns hierbei an realen Objekten, im ersten Fall an einem Wasserglas.
Ein Wasserglas
[Bearbeiten]Wenn man ein einfaches Wasserglas, das sich nicht bewegt, betrachtet, fallen einem mehrere Eigenschaften des Wassers auf:
- Es ist durchsichtig
- es ist glatt
- ab einem gewissen Blickwinkel spiegelt es
Das alles muss man bei der Texturierung berücksichtigen.
![](http://upload.wikimedia.org/wikibooks/de/thumb/6/68/Textur_Fake_Fluidanimation.png/900px-Textur_Fake_Fluidanimation.png)
Das Material soll weiß und komplett durchsichtig (Alpha = 0) sein, außerdem muss Ray Transp aktiviert sein und IOR auf einen Wert bei 1.42 gesetzt sein, damit das Licht realistisch gebrochen wird. Dazu kann man dann noch Ray Mirror aktivieren, um Spiegelungen zuzulassen. Hierbei sollte man dann die Werte wie folgt einstellen: Ray Mir: 0.1, Fresnel: 2.2 und Fac:1.25. So erreicht man, dass nicht alles, sondern nur ein Bereich in einem bestimmten Einfallswinkel gespiegelt wird.
Nachdem man eine passende Szene erstellt hat (am einfachsten ein Raum mit 2-3 Objekten, um die Spiegeleffekte zu erkennen. Um nicht immer neue Objekte erstellen zu müssen, sollte man sich eine Standard-Objekt-Bibliothek anlegen.), sollte man jetzt das echte Wasser mit dem Gerenderten vergleichen. Es sollte möglichst ähnlich sein. Mit der jetzt entstandenen Wassertextur machen wir jetzt weiter.
Wasserglas auf einer Box
[Bearbeiten]![](http://upload.wikimedia.org/wikibooks/de/thumb/6/65/Blender_glaswater.jpg/250px-Blender_glaswater.jpg)
![](http://upload.wikimedia.org/wikibooks/de/thumb/2/20/Blender_glaswater_moving.jpg/250px-Blender_glaswater_moving.jpg)
Jeder hat sicher schon einmal ein Wasserglas gesehen, das auf einer Box steht, wenn der Bass komplett aufgedreht ist. Hierbei kann man feststellen, dass an der Wasseroberfläche kleine Wellen zu sehen sind. Diese sind meist ringförmig. Die Bewegungsenergie der Boxen überträgt sich auf das Glas, welches dann das Wasser in Bewegung versetzt. Es gibt mehrere Möglichkeiten die Wellen auf das Wasser zu bringen. Man kann zum Beispiel die Wasseroberfläche im Edit mode so verändern, dass es aussieht, als wären Wellen auf dem Wasser. Das ist allerdings recht aufwändig. Oder man erstellt eine echte Fluidsimulation, in der man dann das Glas als obstacle setzt und schnell und kurz hin und her bewegt. Das dauert jedoch recht lange und kann dann doch zu einem ungewollten Ergebnis führen. Die dritte, schnellste und am besten kontrollierbare Methode wäre eine Normal-Map. Man wechselt am besten mit F9 in den Editing-Tab. Dort erstellt man mit New unter dem Farbwechsler eine Kopie der Wassertextur und bearbeitet diese dann wie folgt: Im Material-Tab fügt man eine 'blend'-Textur hinzu. Dann fügt man im Texturen tab unter 'Colors' ein Farbband hinzu, das immer abwechselnd schwarz und grau ist. Das werden hinterher die Wellen. Jetzt wählt man als Oberflächentextur diese zweite Wassertextur. Den Rest lassen wir bei der alten Wassertextur, da wir ja nicht wollen, dass das Wasser, welches das Glas berührt, auch gewellt ist (Wie ihr mehrere Texturen hinzufügen könnt, seht ihr hier: Multimaterial). Danach erstellt man eine UV-Map vom Wasser. Hierbei sollte man darauf achten, dass die Wasseroberfläche in der Mitte plaziert und auf die gesammte Größe des UV-Feldes skalliert wird. Dann wählt man im Material-Tag unter Map Input 'UV' als Texturkoordinate aus. Im Map To Tag stellt man noch sicher, dass nur Normal als Textureffekt gewählt ist. Jetzt kann man noch die Stärke der Normal Map verändern, dann ist man bereit zum Rendern.
Animierte Wasserbewegung
[Bearbeiten]Man hat jetzt zwar ein Glas mit Wasser, welches so aussieht, als würde es sich im Moment bewegen, aber wenn man eine kurze Animation machen möchte, bei der sich die Wasseroberfläche bewegt, hat man das Problem, dass das Bild nunmal statisch ist. Also muss man die Textur animieren. Hierfür gibt es zwei Möglichkeiten.
- Ipo-Curves
- Modifer
Ipo-Curves haben den Vorteil, dass sie leicht zu bedienen und schnell zu erstellen sind. Für einfache Animationen wie für unser Glas Wasser reichen sie vollkommen aus.
Ipo-Curves
[Bearbeiten]Wir verwenden unsere vorhin erstellte Textur, die wir mit einer einfachen Ipo-Corve animieren. Dafür gehen wir in den Material Tab und fügen verschiedene keyframes bei size ein. z.B. Frame1 size x/y/z = 1.10; Frame6 size x/y/z = 0.90 etc. Damit wäre man jetzt schon fertig. Man hätte eine sehr einfache Wasseranimation für ein Glas auf einer Box. Sie sieht noch nicht so ganz real aus, aber mit einigen wenigen Veränderungen kann man durchaus realistische Ergebnisse erzielen. Mit dem gleichen Prinzip kann man auch einen Tropfen, der in eine Pfütze fällt, animieren. Wobei man natürlich die Wellen nicht wieder kleiner werden lassen sollte.
Modifer
[Bearbeiten]![](http://upload.wikimedia.org/wikibooks/de/thumb/9/9b/Blender_glaswater_storm.jpg/250px-Blender_glaswater_storm.jpg)
Es gibt jedoch Momente, in denen es besser ist Modifer als Animationsbasis zu wählen. Wenn man zum Beispiel einen Sturm in einem Wasserglas animieren möchte, was durchaus sehr Interessant aussehen kann. Hierfür legt man 2 World-Texturen an, die Beide cloud Texturen sind. Die erste Textur hat folgende Einstellungen:
- Default
- Hard Noise
- Noise Size: 0.4
- Noise Depth: 6
Die zweite Textur:
- Default
- Soft Noise
- Noise Size: 0.25
- Noise Depth: 3
Dann löscht man den oberen Teil des Wasser-objektes und fügt an der selben Stelle eine seperate Plane hinzu, welche die gleichen Material Eigenschaften, wie das Wasserobjekt hat. Diese Seperate Plane unterteilt man jetzt 2 mal per Multires. Das ist notwendig, damit man einige Vertices für das Weightpainting hat, was dringend notwendig ist, da sonst die Wellen nicht mit dem Hauptteil des Wassers verbunden sind. Man aktiviert dann noch einen Subsurf Modifer, um die Plane weiter zu unterteilen. Jetzt malt man im Weightpaint-Modus einen Farbverlauf von innen nach außen. Ganz außen sollte nur noch der Wert 0 angewandt werden, damit hier keine Wellen entstehen. Jetzt kann man den ersten Displacement-Modifer hinzufügen, welcher für einen Teil der Wellen verantwortlich sein wird. Als Vertex Gruppe wählt man die eben im Weightpaint-Modus erstellte. Bei Texture setzt man die erste der beiden World-Texturen ein. Der Wert Strength wir auf 0.7 gesetz. Als Koordinatenbestimmung wählt man Objekt. Jetzt muss man ein neues empty erstellen. Den Namen des Emptys fügt man dann im Objekt Feld ein. Wenn man jetzt das empty bewegt, sieht man, wie sich die Wellen über das Wasser bewegen. Das gleiche machen wir jetzt für die zweite Textur. Da Wellen auf dem Meer meistens kreuzförmig sind, sollte man dies auch bei der Animation beachten. Also bewegen wir die beiden Empties wie ein Kreuz über das Glas. Man kann jetzt natürlich noch Wolken, Blitze und anderes hinzufügen, um den Effekt des Unwetters zu verstärken.
Mit dieser effizienten Methode kann man natürlich auch noch viel größere Flächen animieren. Wenn man zum Beispiel ein Schiff übers Meer segeln lassen möchte, würde es zu lange dauern, eine aufwändige Fluidanimation zu berechnen, hier ist die oben erläuterte Methode sinnvoll.
--Heho 17:39, 5. Okt. 2008 (CEST)