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... ;-)

 

© 2000 Andreas Skrzypnik lightrays.de

93Grad - design und animation für entertainment