Cinema 4D Cinema 4D Prime Material-Manager Shader Channel-Shader
Funktion verfügbar in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D

ChanLum-Shader

Basis Shader

ChanLum-Shader

Dieser Shader wurde uns freundlicherweise von "Naam" zur Verfügung gestellt. ChanLum ist ein Effekt ähnlich dem Subsurface Scattering (siehe Advanced Render), mit dem Unterschied, dass der Effekt auf oder über der Oberfläche stattfindet. Zum Vergleich kann ein Pfirsich herangezogen werden, dessen Oberfläche von einem Flaum bedeckt ist.

Verwendet wird der Shader in der Regel im Leuchten-Kanal. Hier laden Sie den Shader, definieren die gewünschte Farbe, die zu der Objektfarbe gemischt werden soll und setzen den Mischmodus auf Multiplizieren. Sie können den Shader aber auch in einem anderen Kanal verwenden, z.B. der Farbe. Wichtig ist, dass der Mischmodus auf Multiplizieren gesetzt wird.

Lichtquellen müssen Schatten werfen! Ohne Schatten keine ChanLum-Effekt.

Wollen Sie ChanLum mit einer Textur kombinieren, geht das natürlich auch. Hier können Sie den Ebene-Shader oder Fusion verwenden. In beiden Fällen muss sowohl der Mischmodus als auch das Mischen von ChanLum auf die Textur auf Multiplizieren gesetzt werden.

Hinweis:
Haben Sie noch das originale ChanLum-Plug-in von HappyShip installiert, müssen Sie es unbedingt deinstallieren, da es sonst zu Problemen kommt!

Funktionsweise

Hier wird gezeigt, was passiert, wenn eine normale Oberfläche berechnet wird. Berechnet der Renderer einen Punkt "P" auf der Oberfläche, werden die Winkel "a" zwischen der Oberfläche und den Lichtquellen in der Szene ermittelt. Diese Winkel werden dann in Beleuchtungsmodellen wie Phong oder Oren-Nayar verwendet und bestimmen, wie die Schattierung durch die Lichter dargestellt wird.

Im Falle eines Nebels existiert keine Oberfläche. Hier berücksichtig der Renderer nur die Schatten der Lichtquellen (im Falle von volumetrischem Nebel).

Die Idee hinter ChanLum ist, die Lichtverteilung auf der Oberfläche ähnlich des Nebels zu berechnen. Um den Effekt schnell zu berechnen, versetzt der Shader den Sample-Punkt "S" mit einem Versatz "O" entlang der Oberflächennormalen des Punkts "P". Der Wert "O" definiert hierbei die Dicke des virtuellen "Flaums".

Durch den Versatz lässt ChanLum das Licht sozusagen "um die Ecke kriechen". Wie das obige Bild illustriert, liegt der oberste Oberflächen-Punkt auf der linken Seite im Schatten, wird aber durch den Versatz des Sample-Punktes trotzdem beleuchtet. Das ist die Grundidee von ChanLum, die hier aber nicht endet. Denn wird ein vergleichbares Objekt so beleuchtet, dann ist die Grenze zwischen beleuchtetem und unbeleuchtetem "Flaum" sehr scharf, was nicht richtig aussieht.

Deshalb mischt ChanLum mehrere Samples, die von unterschiedlichen Punkten im Raum ausgehen. Hierfür stehen zwei Möglichkeiten zur Verfügung: Die erste Methode Entlang Normalen ist oben dargestellt. Die Ausgangspunkte der Samples werden entlang der Oberflächennormalen verteilt, was einen weichen Übergang von Hell nach Dunkel erzeugt.

ChanLum erlaubt ein Ausbreiten der Samples. Hierfür stehen zwei Möglichkeiten zu Verfügung. Die erste Methode Entlang Normalen wird oben dargestellt. Vom Sample-Punkt ausgehend wird entlang der Normalen ein Durchschnitt "S" anhand des Sampleradius "r" berechnet, der einen weichen Übergang von Hell nach Dunkel erzeugt.

Kombiniert man ChanLum mit dem Fresnel-Effekt, erhält man eine flaumige, samtige Optik mit korrekten Schattierungen.

Die zweite Methode Fläche lässt die Samples von Punkten innerhalb einen sphärischen Bereich "S" mit Sampleradius "r" ausgehen. Damit ChanLum den Effekt richtig berechnen kann, müssen die Samples zufällig auf der Oberfläche erzeugt werden, was das Ergebnis mit einem "Rauschen" versieht. Diese Methode macht den Übergang von Hell nach Dunkel nicht nur weicher, sie gibt dem Objekt noch eine andere, interessante Optik. Diese tritt besonders dann zutage, wenn dem Objekt zusätzlich ein Glanzlicht zugewiesen und der Sampleradius erhöht wird.

Hier sieht man den Effekt sehr schön. Nicht nur, dass das Licht scheinbar "um die Ecke kriecht", es scheint auch in das Objekt einzudringen. Ist der Sampleradius größer als die Objektdicke, werden die Samples der beleuchteten Seite in die Berechnung der im Schatten liegenden einbezogen. Richtig eingesetzt, können Sie hiermit schöne Wachs- oder sogar Hauteffekte erzeugen.

Der ChanLum-Shader als Schattenfänger

Beim Einfügen von 3D-Objekten in Realfilme bzw. -bilder ist es oft gewünscht, den Schatten des 3D-Objekts ebenfalls nahtlos einzupassen. Üblicherweise wird dazu ein Ersatzobjekt (der Schattenfänger) benötigt, was den Schatten auffängt. Dieses Ersatzobjekt sollte bis auf den Schattenwurf transparent sein. Hier kommt der ChanLum-Shader zum Einsatz. Laden Sie diesen in den Transparenzkanal des Schattenfängermaterials. Und das war es auch schon. Alles bis auf den Schatten ist unsichtbar. Die Schattendichte können Sie an der Lichtquelle einstellen.