Subsurface Scattering simuliert halbtransparente Objekte, in die Lichtstrahlen eindringen, umherhüpfen und anschließend an einem anderen Ort austreten. Viele organische und anorganische Materialien sind nicht direkt an der Oberfläche völlig undurchsichtig, so dass Licht nicht einfach von der Oberseite abprallt. Stattdessen dringt auch etwas Licht tief in die Hautoberfläche ein und streut sich im Inneren, nimmt die Farbe des Inneren an und tritt an einer anderen Stelle wieder heraus. Menschen- oder Tierhaut, die Schale von Trauben, Tomaten, Früchten, Wachs etc. haben alle ein Subsurface Scattering (SSS – deutsch: unterirdische Streuung) und die eine fotorealistische Abbildung nicht erreicht werden kann.
Es ist wichtig zu verstehen, dass Subsurface Scattering und Diffusion ein und dasselbe ist. Der Unterschied besteht darin, inwieweit das Licht unter der Oberfläche diffundieren kann, bevor es absorbiert oder wieder abgegeben wird.
Wie es funktioniert.
Die tatsächliche Berechnung des Lichtweges unter der Oberfläche eines Objektes ist nicht sinnvoll. Aber es hat sich gezeigt, dass es nicht notwendig ist, dies zu tun, und dass man einen anderen Ansatz wählen kann.
Blender z.B. berechnet SSS in zwei Schritten:
Lassen Sie uns stattdessen thematisieren, was SSS mit einem bestimmten Lightpoint macht.
Wenn Sie das SSS aktivieren, wird das Licht auf eine größere Fläche verteilt. Die Größe dieses Bereichs ist abhängig von den Radiuswerten. Anstatt alle Farben mit dem gleichen Betrag zu verteilen, können Sie für jede der RGB-Farben unterschiedliche Radiuswerte wählen.
Nachfolgend finden Sie eine Demo zum SSS von cgvirus:
Wenn Sie einen sehr großen Radiuswert für eine Farbe verwenden, ist Ihr Licht gleichmäßig über das gesamte Objekt verteilt.
Hinweis zum Streuradius: Aufgrund der Art und Weise, wie diese Streuung berechnet wird, werden Sie bei Verwendung von Werten mit großen Radien Saumartefakte bemerken, die als Komplementärfarbe zur vorherrschenden Farbe der Streuung erscheinen. Eine Möglichkeit, diesen Effekt zu verringern, besteht darin, mehrere Durchgänge mit unterschiedlichen Streurodioden zu verwenden und zu mitteln.
SSS in Blender aktivieren.
Subsurface Scattering benötigt kein Raytracing. Da es jedoch vom einfallenden Licht und den Schatten abhängig ist, benötigen Sie eine geeignete Schattenberechnung (die eine Raytracing-Funktion benötigt).
Optionen.
Die numerischen Slider steuern, wie das Licht gestreut wird:
IOR.
Der Index of Refraction bestimmt den Falloff des einfallenden Lichts. Höhere Werte bedeuten, dass das Licht schneller abfällt. Der Effekt ist sehr subtil und verändert die Verteilungsfunktion nur geringfügig. Bei der Untersuchung vieler verschiedener Materialien wurden Werte von (1,3 bis 1,5) festgestellt, die für die meisten Materialien gut funktionieren.
Scale.
Die Größe Ihres Objekts in Blender-Einheiten, über die der Streueffekt erfolgen soll. Ein Scale von 1,0 bedeutet 1 Blender-Einheit ist gleich 1 mm, ein Scale von 0,001 hingegen bedeutet 1 Blender-Einheit ist gleich einem Meter. Wenn Sie herausfinden möchten, welchen Scale-Wert Sie in Ihrer Szene verwenden sollen, nutzern Sie einfach die Formel: (Größe in Blender-Einheiten) / (reale Größe in Millimetern) = Scale.
Scattering-Farbe (Albedo).
Albedo ist die Wahrscheinlichkeit, dass Licht ein Scattering-Event übersteht. Wenn Sie an Scattering als Filter denken, ist dies die Höhe des Filters. Sie wird mit der Oberflächenfarbe multipliziert. In der Praxis ist dies nicht intuitiv. Es sollte das gleiche sein wie die Oberflächenfarbe, jedoch hat die Änderung dieses Wertes unintuitive Auswirkungen auf den Scattering-Effekt:
Je dunkler die Farbe, desto mehr Licht wird gestreut. Ein Wert von 1 führt zu keinem Scattering-Effekt.
Wenn Sie es also auf grün setzen, erscheinen die beleuchteten Bereiche des Objekts grün und grün wird nur wenig gestreut. Daher erscheinen die dunkleren Bereiche in rot und blau. Sie können die unterschiedlichen Streuungen kompensieren, indem Sie einen größeren Radius für die Farbe einstellen.
RGB Radius.
Dies ist nicht der Radius des Subsurface Scatterings, sondern die durchschnittliche Weglänge zwischen den Scattering-Events. Während das Licht durch das Objekt wandert, springt es umher und tritt anschließend an einem anderen Punkt aus der Oberfläche aus. Dieser Wert entspricht der durchschnittlichen Länge, die das Licht zwischen den einzelnen Bounces zurücklegt. Je länger die Weglänge ist, desto weiter darf das Licht streuen. Dies ist die Hauptquelle für die wahrgenommene „Scattering-Farbe“ eines Materials. Ein Material wie die Haut hat einen höheren roten Radius als grün und blau. Das Subsurface Scattering ist die Steuung des Lichts unter der Oberfläche. Sie steuern, wie weit sich das Licht ausbreitet, um ein bestimmtes Ergebnis zu erzielen.
Blend.
Scattering-Gewicht.
Fehler.
Dieser Parameter steuert, wie genau der Algorithmus die umgebenden Punkte abtastet. Wenn man diesen bei 0,05 belässt, sollte man Bilder ohne Artefakte erhalten. Es kann höher eingestellt werden, um das Rendern zu beschleunigen, möglicherweise mit Fehlern.
Die Einstellung auf 1.0 ist eine gute Möglichkeit, schnell eine Preview der Arbeit mit Fehlern zu erhalten.
Entwicklung eines eigenen SSS-Materials.
Der traditionale Ansatz.
Ein häufigerer, aber weniger intuitiver Ansatz ist die Verwendung von „Layering“. Dies ist eine vereinfachte Version des Layering-Ansatzes:
Ein intuitiverer Ansatz.
Wir hoffen, dass wir Ihnen einen ersten, kleinen Überblick über das Subsurface Scattering geben konnten. Wenn Sie noch Fragen oder Anregungen haben sollten, hinterlassen Sie uns unten einen Kommentar.
Vielen Dank für Ihren Besuch.