Erstellen eines
Unterwasser-Szenarios (avi-downlaod
2.2mb)
Die
Geometrie & Texturen:
Ich habe mit einer Felswand begonnen. Sie besteht aus einer Ebene, mit
einem 3d-Verschiebungsmodifikator. Als Displacement(Verschiebungs)-Map
habe ich ein ein Turbulenz-Rauschen und ein Zellförmiges-Map zusammengemischt.
Die Textur
ist ebenfalls nur aus prozeduralen Maps zusammengemischt (siehe auch
dieses Tutorial).
Das Reliefmap habe ich dann in abgewandelter Form auch als Streumap
verwendet (dabei nur grünliche bis bräunliche Töne verwendet).
Vorläufiges Ergebnis zeigt Bild1.
Als nächstes habe
ich die Wasserpflanzen modelliert. Einfache Loftextrusionen, die aus
einer Helix (im Shapes-Erstellungs-Menü zu finden) als Pfad und
einem Kreis als Shape bestehen. Dabei habe ich darauf geachtet, daß
die Loftextrusion aus möglichst wenig Polygonen besteht, indem ich die
Pfadschritte und die Shapeschritte auf 0 gesetzt habe. Gerade wenn man
eine Helix als Pfad verwendet, bildet sich schnell eine Unmenge an Polygonen.
Danach einen Rauschen-Modifikator daraufgelegt, der die Pflanze etwas
platt drückt und unregelmäßiger macht. Um die kantige Erscheinung durch
die wenigen Polygone wieder zu glätten, zum Schluss noch ein Mesh-Smooth-Modifikator.
Für die Textur
der Pflanzen hab ich mir nicht sonderlich viel Mühe gegeben, einfach
ein seltsames Moosmap (hauptsache grün). Danach die Pflanze in ihrer
Z-Achse etwas verdreht, geklont verschoben, so daß ein kleiner Schlingpflanzen-Dschungel
entsteht.
Damit
die Pfanzen später nicht nur steif in der Gegend herumstehen, sondern
durch das Wasser bewegt werden, habe ich nochmals auf die einzelnen
Pflanzengruppen einen Rauschenmodifikator angewendet, und animiert.
Die Frequenz auf nur 0.05 gestellt, damit das Rauschen auch schön langsam
und gleichmäßig ist. Bild 2 zeigt das fertige Produkt.
Die Geometrie ist
jetzt fertig, und um die Szene weiterhin flott bearbeiten zu können,
habe ich zunächst mal die Wasserpflanzen und die Felswand verdeckt.
An die Stelle der Felswand habe ich einen grauen Quader gesetzt. Den
brauchen wir für das Volumenlicht, daß jetzt kommt....
Die Beleuchtung:
Ich habe ein Spotlicht oberhalb der Szene angebracht, das aus der
Kamerarichtung an die Felswand (bzw. den Quader) strahlt. Dann im Menü
"Rendern" die Umgebungseinstellungen aufgerufen, und ein Volumenlicht
hinzugefügt. Den Spot als Lichtquelle ausgewählt, die Dichte auf 1,0
gesetzt, und die Nebelfarbe auf ein helles türkis (RGB 180,255,225).
Um das Previewrendern zu beschleunigen, den Licht Sample-Bereich auf
niedrig gestellt.
Um dem Volumenlicht
den wabbernden Wassereffekt zu verleihen, habe ich dem Spotlicht ein
Projektormap gegeben:
Dazu den
Materialeditor geöffnet, und einen freien Materialslot angewählt. In
den Streufarbenkanal ein Zellförmiges-Map gelegt, und dabei folgende
Werte eingestellt:
- Koordinaten ->
Quelle -> Expliziter Map-Kanal (wichtig, sonst erhält das Volumenlicht
nicht die charakteristischen Strahlen)
- Zelleigenschaften
-> rund -> fraktal aus -> Größe 0,1 -> Grenzwerte niedrig:0,0 mittel:0,5
hoch:1
- Ausgabe:
invertiert (auch wichtig, damit der Wellencharakter immitiert wird)
Die Größe des Zellmaps
kann natürlich von Szene zu Szene unterschiedlich sein, je nachdem mit
welchen Größenverhältnissen Ihr arbeitet. Jetzt müßt Ihr nur noch das
eben erstellte Map per Drag&Drop in den Projektormapkanal Eures Spotlichtes
(Rollout Spotlichtparameter) ziehen (dabei Instanz verwenden, so ist
es Euch später möglich, Veränderungen im Materialeditor direkt im Projektormap
zu aktualisieren). Außerdem solltet Ihr den Schattenwurf für das Spotlicht
einschalten, damit die Wasserpflanzen später auch einen Schatten werfen.
Zurück zum Materialeditor:
das Zellmap muß noch animiert werden. Leider gibt es hier nicht so wie
im Rauschenmap, eine Phase, die einfach animiert werden kann. Man muß
sich anders behelfen, indem man unter Koordinaten den Abstand W animiert.
Wechselt zu Frame 100 und drückt den Anim-Button. Erhöht den Abstand
W auf 0,4, und deaktiviert den Anim-Button wieder. Ihr könnt euch nun
eine Map-Vorschau erstellen lassen, um die Wasserwellenbewgung zu beurteilen.
Dazu in der
kleinen Buttonleiste linksoben im Materialeditor auf den Filmstreifen
klicken. Wenn Ihr nicht zufrieden mit der Wellenbewegung seid, dann
verändert den Abstand W (bei gedrücktem AnimButton).
Falls
eure Animation länger als 100 Frames wird, solltet ihr noch einen kleinen
Ausflug in die Spuransicht machen: Die Spuransicht befindet sich im
gleichnamigen Menü. Öffnet sie, und drückt im erscheinenden Fenster
auf die M-edit-materialien. Wühlt euch zu dem Map vor, in dem das animierte
Zellmap liegt (ob ein Map animiert ist, erkennt Ihr an den schwarzen
Balken neben der Auflistung der Spuransicht). Zur Veranschaulichung
seht euch das Bild links an. Klickt Euch bis zu den Koordinaten Eures
Zellmaps vor und wählt die "Abstand"-Spur aus. Klickt dann auf den rot
eingekreisten Button in der oberen Menüleiste der Spuransicht. Das Fenster
"Außenbereichstypen" erscheint. Hier könnt Ihr das Verhalten Eurer Animation
außerhalb der gesetzten Keys beeinflussen. Standardmäßig ist dort konstant
gewählt, d.h. nach dem letzen Key bleibt der animierte Wert dort stehen,
wohin er gesetzt wurde. Die Wellenanimation soll sich aber mit gleicher
Geschwingkeit weiterbewegen. Wenn ihr auf die roteingekreiste "Relative
Wiederholung klickt" wird eure Animation immer wieder im gleichen Maße
wiederholt, wie sie zwischen Frame 0 und 100 stattfindet.
Noch etwas zur
Beleuchtung. Ein Spotlicht alleine ist etwas wenig. Vorallem in den
Schattenbereichen wird das Bild im totalen Schwarz absumpfen. Setzt
noch ein oder zwei Punktlichter (leicht grünlich eingefärbt) in die
Szene. Den Multiplikator (unter den allgemeinen Parametern des Punktlichter)
setzt ihr dabei auf etwa 0,3. Dann leuchten die Punktlichter nicht mit
voller Kraft, sondern hellen die Szene nur leicht auf.

Macht
nun ein Testrendering: Euer Bild sollte sollte in etwa so aussehen wie
das Bild links.
Das Resultat mit
eingeblendeter Felswand und den Wasserpflanzen zeigt das Bild daneben..
Die
Luftblasen:
Was wäre ein Unterwasserszenario ohne Luftblasen? Wir verwenden dazu
ein Partikelsystem. Stellt sicher, daß alle Loftextrusionen und die
Felswand verdeckt sind, blendet den "Dummy"-Quader ein. Auch das Volumenlicht
könnt ihr vorläufig deaktivieren. Für Testrenderings ist es nicht nötig.
Klickt dazu in den Umgebungseinstellungen die Box "aktiv" aus.
Als Emitter für
die Bläschen habe ich eine Supergischt verwendet. Ich habe sie am unteren
Rand der Szene plaziert (noch außerhalb des Kamerablickfeldes), so daß
Partikel von unten nach oben durch das Bild steigen. Nun zu den Einstellungen:
Rollout Grundparameter:
Mit der Ausbreitung (Achse & Ebene) könnt Ihr, wie der Name schon vermuten
läßt, die Ausbreitung des Partikelstroms steuern. Bei einer Supergischt
entstehen die Partikel im Zentrum des Emitters. Verwendet Ihr keine
Ausbreitung, so ergibt sich ein linearer Partikelstrahl, in unserem
Fall ist dies nicht erwünscht.
Zur "Anzeige im Ansichtsfenster" gibts nicht viel zu sagen: ich habe
mir die Partikel als Netz anzeigen lassen um die Partikelgröße besser
beurteilen zu können. Dafür habe ich mir nur 2% aller Partikel anzeigen
lassen, um meinen Rechner nicht unnötig zu quälen....
Rollout Partikelerzeugung:
Ich habe
eine Partikelsumme von 1000 gewählt. Je nachdem wie groß Eure Partikel
sind, und wie "blubbrig" Euer Unterwasserszenario werden soll, könnt
ihr diese Anzahl verändern.
Die Geschwindigkeit
ist auch abhängig von den Größenverhältnissen in Eurer Szene. Damit
sich nicht alle Blasen gleich schnell bewegen, hab ich noch eine Variation
von 20% hinzugefügt.
Um auch schon in Frame 0 ein paar Blasen vor der Linse zu haben, habe
ich den Start der Emission auf Frame -200 gestellt. Gestoppt wird bei
Frame 300.
Das Feld "Anzeigen bis" gibt nur den Frame wieder, ab dem ich im Ansichtsfenster
(nicht im Rendering!) keine Partikel mehr sehen will (die 550 die ich
dort eingetragen habe, sind eigentlich unsinnig, meine Animation ist
nur 300 Frames lang).
Die Lebensdauer,
gibt an wie lange ein Partikel vor sich hinblubbert, bis er wieder verschwindet.
Damit sich keine Luftblase während der Animation plötzlich in Nichts
auflöst, hab ich einen Wert von 550 eingegeben. Dadurch sind die Partikel
100%ig von Frame -200 bis 300 (eigentlich 350) zu sehen. Die Variation
bleibt auf Null. Es sollen keine Partikel langlebiger oder kurzlebiger
sein.
Die Partikelgröße
von 0,3 hängt auch mit dem Partikeltyp zusammen (dazu gleich). Eine
Variation von 80%, berwirkt daß es auch kleinere und größe Blasen gibt.
Das Rollout
Partikeltyp:
Ich habe
eine Instanzgeometrie verwendet. Das bedeutet, das keine der Standardpartikel
verwendet werden, sondern die eigens entwickelte "Spezial-Luftblase".
Das heißt: Ich habe etwas außerhalb der Szene eine eigene, kleine Geosphäre
erstellt (Radius4; Segmente2; Ikosatyp). Auf diese Geosphäre den Schmelzen-Modifikator
gelegt um sie etwas plattzudrücken (so wie Luftblasen unter Wasser eben
aussehen). Der Schmelzbetrag auf 40, die Festigkeit auf 0,45. So hat
die Luftblase an der Oberseite ihre Krümmung, während die Unterseite
flach ist.
Und diese
Spezial-Luftblase dient nun als Vorbild für alle anderen Partikel, wenn
sie unter den Instanzparametern der Supergischt auch ausgewählt wird.
Dazu auf "Objekt auswählen" klicken´, und danach auf die modifizierte
Geosphäre. Nochmals zur Partikelgröße: Die Größe der Partikel ist sowohl
abhängig von der Größe der "Spezial-Luftblase", die einen Radius von
4 hat. Wäre dieser Radius größer, so wären auch alle Instanzpartikel
größer.
Das Rollout
Blasenbewegung:
Die Blasenbewegung
ist ideal für Luftblasen die im Wasser aufsteigen. Dadurch erhalten
die Partikel ihre "blubbernde" Eigendynamik, die den Luftblasencharakter
erst so richtig zur Geltung bringt. Je höher die Amplitude, umso größer
die Ablenkung, die jeder einzelne Partikel von seiner ursprünglichen
Bewegungsbahn macht. Die Variation dazu bewirkt, das machne mehr, andere
weniger stark abgelenkt werden. Die Periode gibt die Schwingungsdauer
in Frames an. Je geringer dieser Wert um so hektischer werden die Blasen.
Auch hier habe ich eine kleine Variation eingestellt, damit nicht alle
Partikel diegleiche Schwingungsbewegung machen (sieht doof aus).
Fertig ist das
Partikelsystem!
Ich habe
es dann noch zweimal geklont, und an anderen Stellen der Szene plaziert.
Diesen zusätzlichen Partikelsystemen habe ich noch etwas andere Wert
gegeben (vorallem Ausbreitung und Partikelanzahl), um dünnere Luftblasensäulen
zu erhalten. Um Eure Partikelbewegungen zu überprüfen, könnt ihr Euch
entweder ein kleines Test-avi herausrendern, oder eine OpenGL-Vorschau
erstellen lassen.
Fehlt nur noch
die Textur. Ich habe einfach eine Raytrace-Refraktion, und eine Raytrace-Reflektion
verwendet, und den Glanzpunkt schön scharf eingestellt. Durch die Verwendung
von Raytrace, wird die Berechung eines Bildes zwar ziemlich langsam,
aber es sieht einfach besser aus, wenn die Luftblasen glitzernde Lichtbrechungen
von sich geben.
Zuletzt noch die
Partikelsysteme vom Schattenwurf ausschließen! Dazu die drei Partikelsysteme
auswählen, mit der rechten Muastaste draufklicken, und den Menüpunkt
"Eigenschaften" wählen. Dort das Kästchen "Schatten werfen" ausklicken.
Sieht nicht so toll aus, wenn jede einzelne Luftblase einen Schatten
an die Felswand wirft... Die Szene ist fertig. Seht Euch das Bild unten
an. So oder so ähnlich könnte es aussehen. Was jetzt noch fehlt sind
ein paar friedlich umherschwimmende Fische und ein großer, fieser Angelhacken,
der von oben herab ins Bild reinhängt... ;-)
