Blender Dokumentation: Raytracing-Transparenz
Diese Seite bezieht sich auf Blender vpre2.48 |
Glas
[Bearbeiten]Welche Aspekte müssen berücksichtigt werden, um ein Glasmaterial mit den Einstellungen in Blender realistisch aufzubauen? Es gibt hierbei drei unterschiedliche Lösungsansätze, die jeweils auf ganz unterschiedlichen Techniken beruhen.
- Glasmaterial mittels Z-Transparenz
- Glasmaterial mittels Nodes
- Glasmaterial mittels Raytracing
Glasmaterial erstellen mittels Z-Transparenz
[Bearbeiten]Bis vor wenigen Jahren gab es nur diese eine Methode in Blender, um durchsichtige Objekte zu erzeugen. Es handelt sich dabei um die Simulation von Effekten, die am Ende den Eindruck von "Durchsichtigkeit" erzeugen sollten, denn die Berechnung von Spiegelungen und gebrochenen Lichtstrahlen ist der Raytracing-Technik vorbehalten, die aber, wie schon oben erwähnt, erst seit einigen Jahren in Blender zur Verfügung steht. Spiegelungen werden dabei durch Environmentmaps ersetzt und Durchsichtigkeit durch Z-Transparenz und Alphawerte. Nähere Informationen über die Anwendung der Technik finden Sie hier.
Glaseffekt erstellen mittels Composite Nodes
[Bearbeiten]Dieser Ansatz schlägt einen radikal anderen Weg ein und simuliert den Glaseffekt als "Eigenschaft der Objektoberfläche". Die scheinbare Lichtbrechung wird dadurch simuliert, dass die Texturen so verändert werden, dass sie den in der Realität sichtbaren Brechungen täuschend ähnlich sind. Nähere Informationen darüber finden Sie hier.
Glasmaterial erstellen mittels Raytracing
[Bearbeiten]Im Folgenden möchten wir uns ganz auf den dritten Aspekt beschränken, das Erstellen von Glasmaterialien durch den Einsatz von Raytracing. Dabei werden die einzelnen Aspekte systematisch erarbeitet, die dann in ihrer Summe ein realistisches Glasmaterial ergeben.
1 Ray Transp: Stellt die Raytracing-Transparenz an oder ab.
2 IOR: Index of Refraction = Brechungsindex. Typische Brechungsindizes für verschiedene Materialien finden Sie z.B. bei Wikipedia (der Link ist unten aufgelistet), Wasser hat einen Brechungsindex von 1.3, Fensterglas einen von 1.5. Brechungseffekte funktionieren nur mit Raytracing.
3 Fresnel: Winkelabhängigkeit der Transparenz. Ein Fresnel-Wert von 0 bedeutet keine Winkelabhängigkeit, und Sie müssen die Transparenz mit dem Alphawert des Materials einstellen. Höhere Fresnel-Werte bedeuten zunehmende Blickwinkelabhängigkeit. Bei senkrechtem Blick auf die Oberfläche ist das Material transparent, bei schrägem Blick undurchsichtig (Siehe Raytracing-Spiegelungen). Die resultierende Transparenz über Fresnel und Alpha ist gleichwertig.
Bitte beachten Sie, dass die Fresnel Einstellungen auch dann wirksam sind, wenn der Button Ray Transp deaktiviert ist. Damit kann Fresnel auch in Verbindung mit ZTansp verwendet werden. (Hoffentlich wird diese Unlogik in der Benutzerführung schnellstens geändert).
4 Fac: Stärke des Fresnel-Effektes.
5 Gloss: Wie unscharf die Brechungen sind. Ein Wert von 1 bedeutet vollkommen scharfe Darstellung der Brechungen. Werte geringer als 1 erzeugen immer verschwommenere Ergebnisse, benötigen aber auch höhere Samplewerte.
6 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 Brechungen berechnet werden, ist ein hoher Sample Wert unbedingt erforderlich, da sonst ein Bildrauschen auftritt.
7 Thresh: Der Grenzwert für adaptives Sampling. Höhere Werte beschleunigen den Rendervorgang, können aber auch Rauschen im Bild erzeugen.
8 Depth: Die Anzahl an Oberflächen (+1), die ein Lichtstrahl durchdringen kann. Depth 0 bedeutet 1 Oberfläche, Depth 1 zwei Oberflächen (ein Körper) usw. Für ein Glas benötigt man Depth 3, da Vorder- und Rückseite zu durchdringen sind. Zwei hintereinander gestellte Gläser brauchen Depth 7.
9 Filter: Transparentes Glas ist vollständig durchsichtig, was auch bedeutet, dass es kein Licht absorbiert. Das ist natürlich unrealistisch. Insbesondere farbiges Glas sollte Licht anderer Farben absorbieren. Das lässt sich mit der Filter Einstellung erreichen, auch wenn der Alphawert des Materials 0 ist!
10 Limit: Ein Wert über 0 aktiviert Transmissivity. Das Licht wird beim Durchgang durch das Objekt abgeschwächt. Der Limit Wert begrenzt die Abschwächung, jeder Lichtstrahl der länger ist als Limit Blendereinheiten, wird nicht weiter abgeschwächt. Empfohlene Einstellung: 100.
11 Falloff: Exponent der Berechnung der Lichtabschwächung für Transmissivity. 1 bedeutet linearer Falloff, 2 quadratischer Falloff, 0.5 entsprechend eine Abhängigkeit von der Quadratwurzel aus dem Lichtweg. Diese Einstellung gibt dem Glas optisch Tiefe und Dicke.
12 SpecTra: Hier wird die Durchsichtigkeit der Spec-Reflexionen eingestellt.
Durchsichtigkeit
[Bearbeiten]Die erste und wichtigste Eigenschaft von Glas ist zweifelsohne seine Durchsichtigkeit. Dabei sind allerdings zwei Effekte zu unterscheiden. Zum einen muss man durch die Oberfläche in das Glas hinein blicken, zum anderen durch das Glas hindurch gucken können. Der Alphawert des Materials in Verbindung mit Fresnel und Fac ist nun dafür zuständig, die Oberfläche durchsichtig zu machen. Durchsichtig bedeutet in diesem Fall, dass die Materialfarbe je nach Einstellung mehr oder weniger an der Oberfläche sichtbar ist. Bei Alpha = 0 erhalten Sie ein Glas, das ohne weitere Veränderungen als farblos durchsichtig erscheint.
Transmissivity (Lichtabsorption)
[Bearbeiten]Transmissivity ist eine Eigenschaft, die man an vielen dicken Glasobjekten oder an Wasser gut beobachten kann. Je dicker das Glasobjekt ist, desto weniger Licht kommt hindurch, da die Durchlässigkeit eben nicht 100% beträgt. Dabei ist das keine Eigenschaft der Oberfläche, sondern des Körpers. Wenn Sie den Filter Wert erhöhen, werden die Lichtstrahlen das Glas immer schlechter durchdringen können, es entsprechend seiner Dicke einfärben und an einigen Stellen dann vielleicht sogar wieder undurchsichtig erscheinen lassen, auch wenn der Alphawert des Materials auf null steht. (Abb.4)
Transmissivity wird über die folgenden drei Buttons eingestellt.
9 Filter: Transparentes Glas ist vollständig durchsichtig, was auch bedeutet, dass es kein Licht absorbiert. Das ist natürlich unrealistisch. Insbesondere farbiges Glas sollte Licht anderer Farben absorbieren. Das lässt sich mit der Filter Einstellung erreichen, auch wenn der Alphawert des Materials 0 ist!
10 Limit: Ein Wert über 0 aktiviert Transmissivity. Das Licht wird beim Durchgang durch das Objekt abgeschwächt. Der Limitwert begrenzt die Abschwächung, jeder Lichtstrahl der länger ist als Limit Blendereinheiten, wird nicht weiter abgeschwächt. Empfohlene Einstellung: 100.
11 Falloff: Exponent der Berechnung der Lichtabschwächung für Transmissivity. 1 bedeutet linearer Falloff, 2 quadratischer Falloff, 0.5 entsprechend eine Abhängigkeit von der Quadratwurzel aus dem Lichtweg. Diese Einstellung gibt dem Glas optisch Tiefe und Dicke.
Den Effekt der Transmissivity-Einstellungen sehen Sie bei einem Falloff von 1 einigermaßen deutlich nur unter bestimmten Voraussetzungen:
- Das Glasobjekt ist ziemlich dick.
- Der Alphawert des Materials ist nicht durchgängig Null, am besten stellen Sie Alpha auf 1 und benutzen Fresneltransparenz.
- Der Filterwert des Materials beträgt ca. 0.5.
Lichtbrechung
[Bearbeiten]An der Grenze zweier transparenter Medien erfährt die Richtung eines Lichtstrahls eine Änderung. Diese Erscheinung wird als Lichtbrechung bezeichnet. Lediglich bei einem senkrechten Einfall des Lichtstrahls auf die Grenzfläche der beiden Medien erfolgt keine Richtungsänderung. Die hierbei wichtigen Zusammenhänge werden durch das Brechungsgesetz beschrieben. [1] Das Maß für die Stärke der Brechung wird mit dem Brechungsindex bei Wikipedia angegeben, der dem IOR-Wert in Blender entspricht.
Verschwommene Lichtbrechung
[Bearbeiten]5 Gloss: Wie unscharf die Brechungen sind. Ein Wert von 1 bedeutet vollkommen scharfe Darstellung der Brechungen. Werte geringer als 1 erzeugen immer verschwommenere Ergebnisse, benötigen aber auch höhere Samplewerte.
6 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 Brechungen berechnet werden, ist ein hoher Samplewert unbedingt erforderlich, da sonst ein Bildrauschen auftritt.
7 Thresh: Der Grenzwert für adaptives Sampling. Höhere Werte beschleunigen den Rendervorgang, können aber auch Rauschen im Bild erzeugen.
Glanzpunkte
[Bearbeiten]Glanzlichter (Specular Light) sind etwas, was es in Wirklichkeit so nicht gibt. Aber sie lösen ein großes Problem. Mit Glanzlichtern werden die Spiegelungen der Lampen auf Oberflächen simuliert. Leider unterliegen, wie eigentlich erforderlich, die Glanzlichter nicht den Veränderungen, wie sie durch Falloff erzeugt werden. Man kann sie aber abschwächen und blasser werden lassen. Zuständig dafür ist der Button 12 SpecTra.
Spiegelung
[Bearbeiten]Für alle wichtigen Informationen über Spiegelungen lesen Sie bitte im Artikel Raytracing-Spiegelungen nach.
Transparent Filtering (Transparentes Filtern)
[Bearbeiten]Der Filter operiert nur mit dem transparenten Anteil des Materials, egal ob diese Transparenz durch den Alphawert oder durch die Fresneleinstellung erzeugt wurde. Steht Filt auf 0.0 passiert das Licht unverändert das Material. Bei 1.0 wird es vollständig mit der Materialfarbe gefiltert. Um einen Farbfilter zu erzeugen setzen Sie Alpha auf 0 und Filt auf 1. Beim Material der Objekte, auf die das gefilterte Licht fällt, muss TraShadow auf dem Shaders-Panel aktiviert sein.
Inhaltliche Zusammenfassung
[Bearbeiten]Warum kann man durchsichtige Materialien sehen?
- Sie spiegeln das Licht - den Diffuse-Anteil in Blender. Das kann Blender über Ray Mirror oder über Environmentmaps berücksichtigen.
- Sie zeigen Glanzpunkte - der Spec-Anteil in Blender. Um diese zu variieren, kann u.U. eine Spec-Map notwendig sein. Glanzpunkte sind Spiegelbilder der Lampen! Auf diese trifft der Fresnel-Effekt genauso zu wie auf alle anderen Reflexionen, Blender berücksichtigt das aber nicht.
- Sie ändern die Lichtfarbe/Lichtintensität. Dazu benutzt man das Transparent Filtering und Transmissivity.
- Sie sind ungleichmäßig dick (Fensterscheiben) oder variieren im Brechungsindex. Dafür eignen sich insbesondere Alpha- und Normalmaps.
- Sie sind schmutzig. Go wild. ;-)
Sie können Glas auch ohne Raytracing erzeugen, allerdings verlieren sie dann den IOR, das Transparent Filtering und die Transmissivity.
Einfaches Glasmaterial
[Bearbeiten]Ein Glasmaterial in Blender anzulegen ist sehr einfach. Benutzen Sie für klares Glas einfach die Einstellungen aus Abb.10.
1 Die Farbe des Glases
2 Setzen Sie Alpha auf einen Wert kleiner als 1
3 In der Realität wird die Oberfläche um so unsichtbarer, je stärker das Material spiegelt. Hier sind jedoch Werte gewählt worden, die einfach "gut" aussehen und keine Rücksicht auf "physikalisch korrekte" Einstellungen nehmen.
4 Ref und Spec-Werte übersteigen in der Realität nie die 100% Marke, weil ein Objekt nicht mehr Licht abstrahlen kann, als es empfängt. Gleiche Begründung wie bei den Ref Einstellungen.
5 Aktivieren Sie Ray Mirror
6 Aktivieren Sie Ray Transp
7 Stellen Sie Ray Mir auf einen Wert kleiner 1, sonst sehen Sie nur die Spiegelungen.
8 Stellen Sie Fresnel auf einen Wert größer 0 und den zugehörigen Fac auf einen Wert größer 1.
9 Stellen Sie den Brechungsindex auf 1.51, was normalem Fensterglas entspricht.
10 Stellen Sie Fresnel auf einen Wert größer 0 und den zugehörigen Fac auf einen Wert größer 1.
Alphakanal speichern: Raytracing Transparenz kann als Alphawert in einem entsprechenden Bildformat (z.B. PNG oder TGA) gespeichert werden. Stellen Sie dazu in den Render Buttons im Format Panel RGBA ein. Klicken Sie im Render Panel auf Premul, damit der Hintergrund nicht mit gerendert wird.
Fußnoten und Einzelnachweise
[Bearbeiten]Weblinks
[Bearbeiten]Transparent Filtering in Blender