Blender Dokumentation: Raytracing-Spiegelungen

Aus Wikibooks
<<<Zurück
Ramp Shader
Inhaltsverzeichnis

Handbuch durchsuchen

Weiter>>>
Raytracing-Transparenz


Diese Seite bezieht sich auf
Blender vpre2.48
Archiv-Version(en) verfügbar für:
2.42 / 2.37a

Raytracing-Spiegelungen sind eine Methode, um in Blender realistisch spiegelndes Material zu erstellen. Wie jede Raytracing-Methode erfordern sie das Aktivieren der Option Ray in den Render-Buttons (F10). Und genauso wie bei den anderen Raytracing-Berechnungen kann die Renderzeit unter Umständen sehr lang werden. Zu Beginn jedoch einige Begriffserklärungen.

Fresnel[Bearbeiten]

Abbildung 1: Fresneleffekt

Wenn man auf eine Wasseroberfläche schaut, bemerkt man, dass mit zunehmendem Blickwinkel - also je schräger man schaut - das Wasser undurchsichtig wird. Stattdessen reflektiert das Wasser nur noch. Blickt man von oben senkrecht in das Wasser hinein, so reflektiert es nur sehr wenig, ist dafür aber sehr durchsichtig. Das nennt man den Fresnel-Effekt (gesprochen "Fre-nel"). Der Fresnel-Effekt ist für Metalle sehr klein und kann praktisch vernachlässigt werden (sofern die Metalle ganz sauber sind). Glas und Wasser dagegen zeigen einen sehr starken Fresnel-Effekt.

Der Fresnel-Wert ist daher für transparente Materialien von besonderer Bedeutung, er spielt aber auch eine Rolle für nur teilweise transparentes Material, wie z.B. Plastik. Außerdem wird man viele Materialien (z.B. Autolack) in Blender so behandeln, als bestünden sie nur aus einem einheitlichen Material, gerade Lack aber besteht aus mehreren Schichten mit sehr unterschiedlichen Eigenschaften. Die Physik dahinter exakt zu simulieren ist mit vertretbarer Renderzeit vermutlich nicht möglich. Letztlich wird es also immer auf den zu erzielenden Effekt ankommen, welche Einstellungen von Ray Mirror, Fresnel und Fac man wählt.

Am "physikalischsten" ist die Einstellung beider Fresnel-Werte auf fünf, insbesondere sollten sie gleich groß sein. Die verschiedenen Einstellungsmöglichkeiten finden Sie in den Material Buttons im Panel Mirror Transp (Abbildung 4).


Spiegel[Bearbeiten]

Abbildung 2: Spiegel

Metalloberflächen zeigen praktisch keine Abhängigkeit der Reflexion von der Blickrichtung, der Fresnel/Fac-Wert für ideale Spiegel ist demnach 0.0/1.0. Da Spiegel an der Vorderseite aber eine Glasscheibe haben, oder die Metalloberfläche dreckig sein kann, kann man auch kleine Werte (0.1/1.1) wählen, z.B. mit einer Wolkentextur für die Spiegeloberfläche.

Bei Aluminium ist es z.B. so, dass das Reflexionsvermögen für unpolarisiertes Licht erst ab einem Betrachtungswinkel von 70° etwa um 5% abfällt, um dann ab 85° wieder anzusteigen. Bei fast 90° Einfall wird das Licht dann zu fast 100% reflektiert. Man wird diesen Effekt also ignorieren können.

Glas[Bearbeiten]

Abbildung 3: Glas

Der reflektierte Intensitätsanteil beträgt für den Übergang von Luft zu Glas bei senkrechter Betrachtung etwa 4%. Bis zu einem Winkel von 50° bleibt die Reflexion für unpolarisiertes Licht auch etwa so. Nun ändert sich die Winkelabhängigkeit aber dramatisch.

In ungefährer Parabelform steigt die Reflexion auf 100% bei einem Betrachtungswinkel von 90° (siehe unten).

Das Ray Mirror Menü[Bearbeiten]

Abbildung 4: Ray Mirror Buttons.

 1  Ray Mirror: stellt die Raytracing-Spiegelungen an oder ab.

 2  RayMir: gerichtete Reflektivität (Spiegelung) des Materials. Hier gilt: Einfallswinkel gleich Ausfallswinkel. RayMir= 1 bedeutet ideal spiegelnd, RayMir= 0 entsprechend überhaupt nicht spiegelnd.

 3  Fresnel: Blickwinkelabhängigkeit der Reflexion. Fresnel = 0 bedeutet keine Blickwinkelabhängigkeit. Bei größeren Fresnel Werten ist die Spiegelung bei senkrechter Betrachtung kleiner, bei schräger Betrachtung größer. Eine genauere Besprechung des Fresnel Wertes folgt weiter unten.

 4  Fac: Einflussfaktor des Fresnel Wertes. Fac=1 schaltet Fresnel aus. Wenn Fresnel und Fac auf 5 stehen, spiegelt das Material überhaupt nicht (aus keiner Richtung).

 9  Depth: Wie oft ein gespiegelter Lichtstrahl wieder gespiegelt wird (erfordert mehrere spiegelnde Oberflächen). Haben sie nur einen geraden Spiegel, funktioniert auch Depth = 0. Ein großer Depth Wert treibt bei mehreren spiegelnden Objekten die Renderzeit sehr in die Höhe, ein Depth Wert von 2 oder 3 genügt in der Regel.

Abbildung 5: Fresnel


Verschwommene Reflexionen[Bearbeiten]

In der realen Welt wird der Glanz einer Oberfläche durch mikrofeine Unebenheiten verursacht, die das Licht zerstreuen. Je rauher die Oberfläche ist, desto verschwommener wird der Glanz. In Blender wird dieser Effekt nachgebildet, indem mehrere Samples überblendet werden, die konusförmig um den eigentlichen Raytracing Strahl angeordnet sind. Je mehr Samples verwendet werden, um so besser fällt das Ergebnis aus. Damit die Renderzeiten nicht uferlos ansteigen, ist die Berechnung auf das erste Auftreffen des Raytracing Strahls beschränkt. Deswegen ist es nicht möglich, verschwommene Reflexionen z.B. hinter einem Glas zu berechnen, weil es eben nicht das erste, sondern schon x`te Auftreffen des Strahls bedeuten würde.

 5  Gloss: Der Glanz der Oberfläche. Ein Wert von 1 bedeutet vollkommen scharfe Reflexionen wie z.B. bei glattem Glas oder Spiegeln. Werte geringer als 1 erzeugen immer verschwommenere Reflexionen, benötigen aber auch höhere Sample Werte für gleichmäßige Ergebnisse. In Abb.6 wurde der Sample Wert nicht erhöht und Sie sehen schon ab 0.6 die körnige Struktur der Reflexionen.

Abbildung 6: Glossy


 7  Samples: Um den endgültigen Farbwert für ein Pixel berechnen zu können, muss ein Durchschnittswert aus verschiedenen Samples berechnet werden. Dafür muss der ursprüngliche Raystrahl aber feiner untergliedert werden, was die Renderzeit erhöht. Sollen sehr verwaschene Reflexionen berechnet werden, ist ein hoher Sample Wert unbedingt erforderlich, da sonst ein Bildrauschen auftritt.

 8  Thresh: Der Grenzwert für adaptives Sampling. Höhere Werte beschleunigen den Rendervorgang, können aber auch Rauschen im Bild erzeugen.

Anisotropische Reflexionen[Bearbeiten]

 6  Aniso: Anisotropische Reflexionen entstehen durch Mehrfachreflexionen in dünnen Schichten, z.B. bestimmten Lacken oder auch in der Haut von Seifenblasen. Diese Mehrfachreflexionen treten bei ganz bestimmten Einfallswinkeln des Lichtes auf, und dieser Winkel ist abhängig von der Wellenlänge - also der Farbe des Lichtes. Es entstehen nicht einfach diffuse, kreisförmig verwischte Reflexionen, sondern langgezogene Lichtbrechungen von vielen parallelen Reflexionen. In den Shader Einstellungen muss dafür der Tangent V Button aktiviert sein, dann werden die Diffusion und Specular automatisch als anisotropische Reflexionen berechnet. Null bedeutet, die Reflexionen werden wie bisher kreisförmig, bei eins hingegen langgezogen berechnet. Die "Anisotropic raytraced reflections" basieren auf den "tangent Vektoren", wie sie auch beim tangent shading verwendet werden.

Abbildung 7: Anisotropische Reflexion


Maximale Distanz der verschwommenen Reflexionen[Bearbeiten]

 10  Max Dist: Beschränkt die Reflexionen auf einen bestimmten Abstand, gemessen in Blendereinheiten. Dies erhöht die Rendergeschwindigkeit signifikant. Anstatt Raystrahlen in die ganze Szene zu senden, werden die Reflexionen nur noch in dem durch Max Dist angegebenen Bereich errechnet.

Abbildung 8: Max Dist


 11  Fade to sky color: Wenn Max Dist verwendet wird besteht das Problem, die verwaschenen Reflexionen sanft auslaufen zu lassen. Deswegen gibt es die zwei Optionen "fade out to sky color" oder "fade out to material".

Traceable[Bearbeiten]

Abbildung 9: Vampireffekt

Wird Traceable deaktiviert, wird das Material nicht in einem Spiegel reflektiert, reflektiert aber selbst (Vampireffekt ;-) ). Allerdings ist es dann auch unsichtbar für die Berechnungen von Ambient Occlusion  :-(

Allgemeine Hinweise[Bearbeiten]

  • Die Farbe des reflektierten Lichts wird über die Mir-Einstellungen im Material-Panel eingestellt.
  • Wenn nichts zum Spiegeln da ist, können Sie Ray Mirror einstellen wie sie wollen. Sorgen Sie also für eine interessante Umgebung!


Etwas Physik[Bearbeiten]

Auf die Grenzfläche zweier Materialien fallendes Licht erfährt prinzipiell drei Effekte.

  • Transmission: Ein Teil des Lichtes scheint durch ein Material hindurch, dabei wird es gebrochen.
  • Reflexion: Ein Teil des Lichtes wird reflektiert, dabei gilt das Reflexionsgesetz Einfallswinkel=Ausfallswinkel.
  • Absorption: Ein Teil des Lichtes wird verschluckt.

Die Summe aus Transmission, Reflexion und Absorption muss gleich der einfallenden Lichtmenge sein. Die Summe der relativen Anteile muss also 1 ergeben.

Die Verhältnisse werden leider dadurch verkompliziert, dass das Verhältnis von reflektierter und transmittierter Lichtmenge vom Einfallswinkel der Lichtstrahlen abhängt. Diesem Umstand trägt der Fresnel Wert Rechnung. Schaut man senkrecht auf eine Oberfläche, reflektiert sie am wenigsten - transparente Materialien transmittieren am besten. Umgekehrt spiegeln bswp. Glasscheiben oder Wasseroberflächen bei schräger Betrachtung sehr stark, der transmittierte Lichtanteil ist entsprechend geringer.

In Blender wird der Fresnel-Effekt mit der Schlickschen Näherung (Schlicks Approximation) berechnet. Für Glas (IOR=1.5) und Wasser (IOR=1,33) habe ich für verschiedene Fresnel-Werte jeweils den reflektierten und den transmittierten Anteil dargestellt. Wer sich für die Berechnungsformeln interessiert, sei auf Dielectrics and Distribution in Ray Tracing verwiesen. Der Fresnel-Wert fünf für Reflexion und Transmission entspricht dabei der exakten Berechnung am meisten.

Abbildung 2: Glas (IOR=1.5), Fresnel-Wert 1.
Abbildung 3: Glas (IOR=1.5), Fresnel-Wert 3.
Abbildung 4: Glas (IOR=1.5), Fresnel-Wert 5. Dies ist die physikalisch richtigste Darstellung für Fensterglas.
Abbildung 5: Wasser (IOR=1.33), Fresnel-Werte 1, 3 und 5 in einem Diagramm aufgetragen. Der Unterschied zum Glas ist verhältnismäßig klein.


Links[Bearbeiten]

Beispieleinstellungen für Yafray (englisch).

Dielectrics and Distribution in Ray Tracing

Metals and Reflections

<<<Zurück

Ramp Shader

Inhaltsverzeichnis
Glossar
Weiter>>>

Raytracing-Transparenz