Auch wenn das 'zufällige' Platzieren einiger unterschiedlich großer Kugel-Objekte niemanden wirklich herausfordert, findet ihr meine Ausgangs-Projektdatei wie gewohnt im Paket mit den Arbeitsdateien.
Neben den insgesamt fünf in die Szene eingebauten
Kugel-Objekten findet ihr ein
Himmel-Objekt für die Umgebung und auch eine eigene
Kamera. Mit diesen beiden Szene-Objekten wollen wir im ersten Schritt einen geeigneten Hintergrund schaffen, damit unsere Seifenblasen später auch gut zur Geltung kommen.
Einrichten der Szenen-Umgebung
Wie bei allen spiegelnden Materialien leben auch die Seifenblasen von einer Umgebung, die sie widerspiegeln können. Das dafür prädestinierte
Himmel-Objekt haben wir bereits in unserer Szene und auch ein Material namens „Himmel“ findet ihr für diese Umgebung im
Material-Editor.
Weil die Weitergabe von HDR-Bildern aus dem Content Browser von Cinema 4D nicht erlaubt ist: Sucht euch bitte aus der Auswahl im Content Browser, aus eurem eigenen Fundus oder über eine Suche im Internet eine passende Umgebung in Form einer HDRI-Bilddatei aus und ladet sie als Datei in den
Leuchten-Kanal des
Himmel-Materials.
Solltet ihr das gleiche oder ein ähnliches HDR-Bild mit vergleichbarer Farbanmutung verwenden, stört euch vielleicht auch die etwas triste Erscheinung. Für mich passt ein sonniger Nachmittag viel besser zu den Seifenblasen, deswegen bekommt unser Ausgangs-HDR-Bild eine leichte Farbauffrischung.
Dazu klickt ihr auf den
Textur-Button und ladet euch über das
Shader-Menü einen
Ebene-Shader über die bereits vorhandene HDRI-Textur.
Keine Sorge, die HDRI-Textur wurde nicht gelöscht bzw. überschrieben, sie liegt vielmehr als Bitmap-Ebene in dem von uns erzeugten
Ebene-Shader. Für die Farbauffrischung soll nun ein
Farbverlauf-Shader sorgen, den wir über den Button
Shader... als zweite Ebene einfügen.
Per Klick auf das kleine Vorschau-Quadrat landen wir in den Einstellungen für den
Farbverlauf-Shader. Um einen vertikalen Verlauf zu erhalten, ändern wir den
Typ auf
2D - V. Die eigentliche Farbgebung ist natürlich ganz euch überlassen – mit dem von mir vom Grün über Gelb bis zum Rot führenden Verlauf bekommt das HDR-Bild eine satte, sonnige Nachmittagsstimmung.
Über den nach oben weisenden Pfeil wechseln wir zurück in die Ebenenverwaltung des
Ebene-Shaders. Dort ändern wir den Blendemodus der
Farbverlauf-Ebene auf
Multiplizieren, damit der farbige Verlauf wie gewünscht auf unser HDR-Bild wirken kann. Sollte die Färbung etwas zu extrem ausfallen, reduziert einfach den prozentualen Einfluss der Ebene, in meinem Fall auf 80 %.
Das Material für die Umgebung ist damit fertiggestellt, sodass wir es dem
Himmel-Objekt per Drag and Drop aus dem
Material-Manager in den
Objekt-Manager zuweisen können. Im Einstellungsdialog des
Textur-Tags setzen wir die
Projektion der Textur passend zur HDRI-Umgebung auf
Kugel-Mapping.
Wie eingangs erwähnt, dient uns neben dem
Himmel-Objekt auch eine
Kamera zur Gestaltung der Umgebung. Mit ihr können wir eine Kameraunschärfe auf das HDR-Bild im Hintergrund bringen, damit die Seifenblasen richtig herausstechen. Die
Kamera ist bereits installiert, deshalb kümmern wir uns über das Menü
Rendern gleich um die
Rendervoreinstellungen.
Für unsere Zwecke reicht die
Schärfentiefe der
Standard-Kamera bzw. des
Standard-Renderers aus. Wir finden sie nach Klick auf den Button
Effekte... und aktivieren sie für unsere Szene.
Da wir die Unschärfe lediglich für das im Hintergrund befindliche
Himmel-Objekt benötigen, müssen wir uns in den
Rendervoreinstellungen der
Schärfentiefe lediglich um die
Unschärfenstärke kümmern. Für mein HDR-Bild reicht ein Wert von 5 %, soll der Hintergrund noch unschärfer werden, könnt ihr den Wert auch noch erhöhen.
Der Grund, warum die
Schärfentiefe bereits funktioniert, liegt natürlich an der aktiven
Kamera, in deren Einstellungsdialog auf der
Objekt-Seite bereits eine Fokusdistanz hinterlegt ist. Aktuell ist
Kugel.4 im Fokus, da allerdings alle Kugeln fast auf einer Linie liegen, sollte hier kein Unterschied bemerkbar sein.
Auf der
Details-Seite des Einstellungsdialogs der
Kamera ist nur wichtig, dass die
Schärfentiefe für hinten aktiviert ist. Aufgrund der Beschränkung der Unschärfe auf das entfernt liegende
Himmel-Objekt reichen die Standard-Parameter.
Nach diesen Maßnahmen ist unsere Szene nun für die Seifenblasen bestens vorbereitet. Die in der Szene befindlichen Kugeln überschneiden oder berühren einander nicht. Kümmern wir uns nun endlich um die Seifenblasen mit dem
Dünnfilm-Shader.
Einrichten des Effekts im Dünnfilm-Shader
Weil die Beurteilung der Modifikationen auf transparentem Material wie einer Seifenblase naturgemäß schwerfällt, behelfen wir uns für das Einrichten des
Dünnfilm-Shaders mit dem
Leuchten-Kanal, den wir hinterher nicht mehr benötigen.
Wir erstellen uns dazu als Erstes ein neues Material per Doppelklick auf eine freie Stelle im
Material-Manager und aktivieren im Einstellungsdialog des Materials auf der
Basis-Seite den
Leuchten-Kanal.
Auf der Seite des
Leuchten-Kanals öffnen wir über den
Textur-Button das
Shader-Menü und wählen dort aus dem Untermenü
Effekte den
Dünnfilm-Shader als Textur aus.
Schon nach dem Einladen des
Dünnfilm-Shaders erkennen wir in der
Materialvorschau den zugehörigen Regenbogeneffekt. Im Moment entsteht der Effekt allerdings auf Basis einer konstanten Schichtdicke des dünnen Films und ist deshalb nicht wirklich spektakulär.
Nach Klick auf den Button des
Dünnfilm-Shaders landen wir in dessen Einstellungsdialog. Obwohl die Anzahl der Parameter überschaubar ist, können sich schon kleine Abweichungen deutlich auf das Ergebnis auswirken. Wie an den Einheiten hinter den
Dicke- und
Variations-Parametern zu sehen, hantieren wir hier mit Zahlen aus der realen Welt. Die eingestellten 500 Nanometer entsprechen der mittleren Wellenlänge von weißem Licht und geben eine gute Ausgangsbasis für unsere ersten Schritte ab.
Die
Dicke ist derzeit noch konstant und der Parameter
Variation ausgegraut. Es ist also nun an uns, die
Variation der Schichtdicke über eine passende
Textur unseren Vorstellungen bzw. den natürlichen Gegebenheiten anzupassen.
Wir beginnen für unser erstes Seifenblasen-Material mit einem
Farbverlauf-Shader, den wir uns über den
Textur-Button aus dem
Shader-Menü holen.
Wir öffnen den Einstellungsdialog des
Farbverlauf-Shaders per Klick auf den
Shader-Button und ändern die Ausrichtung des Verlaufs über den Parameter
Typ mit
2D - V in die Vertikale. Da auf den dünnen Film der Seifenblase Schwerkraft wirkt, ist eine vertikal verlaufende
Variation sicherlich nicht verkehrt.
Jetzt ist auch endlich der Parameter
Variation für uns zugänglich. Wir bleiben für unsere erste Seifenblase bei der Standard-Variation von 200 nm. Dies bedeutet im Klartext, dass die Schichtdicke auf der späteren Seifenblase zwischen 300 und 700 Nanometern variiert.
Der
Brechungsindex eines Ölfilms liegt bei ca. 1,3. Diesen Wert können wir für unsere Seifenblasen im
Dünnfilm-Shader hinterlegen.
Wenn wir nun über den nach oben weisenden Pfeil zurück in den Einstellungsdialog des
Leuchten-Kanals wechseln, sehen wir die Auswirkungen unserer Modifikationen bereits in der
Materialvorschau.
Fertigstellen des transparenten Materials
Wie anfangs erwähnt, dient uns der
Leuchten-Kanal ausschließlich zur Visualisierung des Regenbogeneffekts. Für die Fertigstellung des ersten Seifenblasen-Materials benötigen wir den eingerichteten
Dünnfilm-Shader. Wir kopieren ihn uns daher mit allen getätigten Einstellungen über den Befehl
Shader/Bild kopieren aus dem
Shader-Menü des
Textur-Buttons in die Zwischenablage.
Auf der
Basis-Seite des ersten Seifenblasen-Materials deaktivieren wir nun den
Leuchten-Kanal und aktivieren stattdessen den
Reflektivitäts- und
Transparenz-Kanal. Weitere Material-Kanäle sind für das Seifenblasen-Material nicht notwendig.
Auf der
Reflektivitäts-Seite unseres Materials finden wir neben einer
Transparenz-Ebene eine automatisch erstellte
Standard-Glanzlicht-Ebene. Wir löschen Letztere einfach über den
Löschen-Button ...
... und erzeugen stattdessen über den Button
Hinzufügen... eine neue Ebene des Typs
Beckmann oder auch
GGX.
Auf dieser neuen
Reflektivitäts-Ebene klappen wir uns den Abschnitt
Ebene: Farbe auf und fügen dort über das
Shader-Menü im
Textur-Button den kopierten
Dünnfilm-Shader als Textur ein.
Spätestens jetzt sollte klar sein, warum wir zum Einrichten des
Dünnfilm-Shaders nicht gleich in den
Reflektivitäts-Kanal gewandert sind: Die
Materialvorschau ist nicht wirklich aussagekräftig.
Der
Reflektivitäts-Kanal ist damit auch schon eingestellt, allerdings ist im
Transparenz-Kanal noch eine kleine, aber sehr wichtige Anpassung vorzunehmen. Die übergeordnete
Materialvorschau zeigt uns auch schon das Problem: Die vorherrschende Transparenz lässt unserem
Dünnfilm-Shader keine Chance.
Dieses Problem ist aber schnell behoben, indem wir im
Transparenz-Kanal die Option
Additiv aktivieren. Nun wird die Transparenz auf die bereits bestehenden Farbinformationen aufaddiert – unser
Dünnfilm-Shader bleibt unversehrt und zeigt sich auch gleich in der
Materialvorschau.
Damit ist unser Seifenblasen-Material bereit für ein erstes Kugel-Objekt. Wir können es einfach per Drag and Drop aus dem
Material-Manager auf eine der Kugeln in der
Editor-Ansicht bzw. im
Objekt-Manager ziehen.
Höchste Zeit für ein Test-Rendering: Der
Dünnfilm-Shader ist gut erkennbar und auch die über das
Himmel-Objekt erzeugte Umgebung zeichnet sich auf der Seifenblase ab.
Weitere Seifenblasen – Varianten des Dünnfilm-Shaders
Für die vier weiteren
Kugel-Objekte ändern wir den bestehenden
Dünnfilm-Shader leicht ab. Zum einen wirkt die Szene dadurch glaubwürdiger, zum anderen können wir so ein wenig mit den Parametern experimentieren. Meine Varianten sind auch nur als Vorschläge zu sehen.
Wir können uns die vier zusätzlichen Seifenblasen-Materialien sehr schnell durch Duplizieren des bereits bestehenden Materials mittels Ziehen bei gedrückt gehaltener
Strg- bzw.
Ctrl-Taste im
Material-Manager anfertigen. Zur besseren Darstellung habe ich alle
Dünnfilm-Shader wieder im
Leuchten-Kanal eingestellt.
Beim zweiten Seifenblasen-Material habe ich die
Variation des
Dünnfilm-Shaders auf 30 nm reduziert.
Um den
Farbverlauf etwas lebendiger zu gestalten, ist in seinem Einstellungsdialog eine
Turbulenz von 30 % hinterlegt. Eine von vielen Möglichkeiten, mehr Leben in den Verlauf zu bekommen.
Wie in der
Materialvorschau zu sehen, lässt allein die Änderung der
Variation unsere zweite Seifenblase in einem völlig anderen Farbbereich wirken.
Im dritten Seifenblasen-Material habe ich die variierende Schichtdicke auf 100 nm gesetzt und den
Farbverlauf von der vertikalen Richtung über den Typ
2D - U in die Horizontale gekippt.
Wieder ist in der
Materialvorschau gut der Farbumschlag und die nun horizontal verlaufende Richtung abzulesen. Seifenblasen bzw. deren Oberflächenfilm mögen zwar der Gravitationskraft unterliegen, kurz nach dem Ausstoß aus dem Pusterohr jedoch wäre diese horizontale Variante ebenfalls stimmig.
Mein viertes Seifenblasen-Material besitzt wieder einen senkrechten, mit
Turbulenzen versehenen Farbverlauf, besitzt diesmal aber eine deutlich niedrigere Ausgangs-Schichtdicke von lediglich 300 nm.
Beim fünften und letzten Seifenblasen-Material werden wir die variierende Schichtdicke statt über einen Farbverlauf mit einem
Noise-Shader realisieren. Mit den richtigen
Shader-Einstellungen ahmen wir so die schillernden Verzerrungen und Inselbildungen auf der Oberfläche nach.
Die Ausgangs-Schichtdicke habe ich für dieses Material auf 400 nm gesetzt, für die
Variation setzen wir zunächst über den
Textur-Button einen
Noise-Shader aus dem
Shader-Menü ein.
Per Klick auf den
Shader-Button gelangen wir in den Einstellungsdialog des
Noise-Shaders. Dort wählen wir die für Ölfilm-Oberflächen bestens geeignete
Noise-Variante namens
Stupl. Damit der
Shader auch gut erkennbar und nicht zu filigran ausfällt, setzen wir die
globale Größe auf 500 %. Mit etwas
Clipping unten schneiden wir den unteren Bereich des
Shaders etwas ab, um die Inselbildung etwas zu erleichtern.
In der
Materialvorschau sehen wir nun bereits, dass der
Noise-Shader ganze Arbeit leistet. Damit wir diesmal für die Gestaltung der Seifenblase deren Form einbeziehen können, nehmen wir noch einen zweiten Shader hinzu. Dazu klicken wir auf der Ebene des
Dünnfilm-Shaders auf den
Textur-Button und wählen aus dem
Shader-Menü den
Ebene-Shader.
Nach dieser Aktion liegt der
Ebene-Shader als
Textur im Material-Kanal, der
Noise-Shader wurde als erste Ebene integriert. Als zweite Ebene integrieren wir per Klick auf den Button
Shader... einen
Falloff-Shader. Dieser Shader ermittelt die Abweichung der Oberflächennormale von einer vorgegebenen Richtung, somit kann der
Noise-Shader auf die runde Form der Seifenblase reagieren.
Im Einstellungsdialog des
Falloff-Shaders löschen wir zunächst die nicht gebrauchten Farbregler und erstellen einen
Verlauf von Weiß nach Schwarz. Die beiden Maxima schieben wir ein gutes Stück zusammen, damit die Übergänge nicht zu lang bzw. weich ausfallen.
Über den nach oben weisenden Pfeilbutton wechseln wir in den Einstellungsdialog des
Ebene-Shaders und setzen den Blendemodus des
Falloff-Shaders auf
Multiplizieren. Jetzt werden beide Shader-Ebenen gleichwertig miteinander verrechnet.
Die Auswirkung unseres neuen Shader-Aufbaus für die
Variation der Schichtdicke ist in der
Materialvorschau deutlich zu sehen. Darüber hinaus ist jetzt auch der Parameter
Variation bearbeitbar, hier verwenden wir eine Spanne von 100 nm.
Damit sind nun alle fünf
Kugel-Objekte mit Seifenblasen-Materialien versorgt. Falls ihr ebenfalls den
Leuchten-Kanal zur besseren Visualisierung des
Dünnfilm-Shaders verwendet habt, müsst ihr diesen natürlich noch in den
Reflektivitäts-Kanal unter
Ebene: Farbe einsetzen. Schließlich sind es nur noch
Reflektivitäts- und
Transparenz-Kanal, die unsere Seifenblasen-Oberfläche bilden.
Hier noch zum Vergleich ein Rendering der Seifenblasen mit dem
Dünnfilm-Shader im
Leuchten-Kanal ...
... und dazu das entsprechende finale Rendering der Seifenblasen.
Verwenden des Dünnfilm-Shaders auf metallischen Objekten
Unsere Seifenblasen waren nur eines von vielen Anwendungsbeispielen für den
Dünnfilm-Shader. Er macht sich beispielsweise auch gut als Ölfilm auf Pfützen, als hauchdünne, schimmernde Oberfläche auf Glas, Kunststoff oder auch Metall. Zum Ende dieses Tutorials möchte ich noch kurz zeigen, wie ihr den
Dünnfilm-Shader auf metallischen Objekten einsetzen könnt. Auch hier bekommt wieder der
Reflektivitäts-Kanal auf einer eigenen
Ebene den
Dünnfilm-Shader zugewiesen – analog zu einer Klarlack-Ebene. Die schimmernde Einfärbung der Oberflächen erfolgt über den Bereich
Ebene: Farbe.
Die Färbung des Regenbogeneffekts bestimmt ihr wie gehabt maßgeblich über die Parameter
Dicke und
Variation – in gezeigtem Beispiel sorgt ein
Sema-Noise-Shader mit starkem
Clipping für stark vereinzelte Dünnfilm-Spuren.
Das Rendering zeigt zwei unterschiedlich farbige Beispiele von leichten Ölfilm-Spuren auf metallischen Gegenständen, wie sie beispielsweise von Bearbeitungsrückständen oder von leichtem Beschlagen herrühren könnten.
Super Tutorial :) Thx
Ein super erklärendes Tutorial mit wirklich ausgezeichnetem Arbeitsmaterial!!!
Super danke schön :-)
Vielen Dank.
Vielen Dank!
Vielen Dank für das Tutorial.
Vielen Dank für das Tutorial. Es sei nur kurz erwähnt, dass der Dünnfilmshader ab der Broadcastversion verfügbar ist.
Vielen Dank.
Super. Vielen Dank dafür.
Danke! Wenn meine Schwester davon erfährt, gibt's nur noch Bilder mit Seifenblasen von mir... ^_^
Danke für das Tutorial.
Interessant dass dies jetzt so möglich ist
Vielen Dank für das Tutorial.
Klasse Tutorial! Vielen Dank!
Vielen Dank für das Tutorial.