In einem voherigen Beitrag haben wir PBR aus technischer und theoretischer Sicht definiert. In diesem Beitrag werden wir die praktische Anwendung der Erstellung von PBR-Texturen diskutieren und eine Reihe von Richtlinien liefern, die auf den im vorherigen Teil festgelegten Grundlagen basieren.

Einstieg Physical Based Rendering

Wir beginnen damit, PBR aus einer künstlerischen Perspektive neu zu definieren. Von dort aus werden wir uns mit den Prinzip des Metal-Roughness-Workflow befassen. Wir werden dann den Specular-/Glosiness-Workflow weiterverfolgen und die Unterschiede in den Autorenmethoden besprechen. Am besten ist es, beide Workflows durchzulesen, um einen vollständigen Überblick über die allgemeinen Richtlinien für die Erstellung von PBR-Texturen zu erhalten.

In diesem Leitfaden werden wir die Arbeitsabläufe mit dem Substance-Toolset diskutieren, aber die Prinzipien, die für die Erstellung von Maps diskutiert werden, gelten für jede Software, die zur Erstellung physikalisch basierter Texturen und Materialien verwendet werden.

PBR ist eher eine Methode als ein harter Standard. Es gibt spezifische Prinzipien und Richtlinien, aber keine echte Regel, was bedeutet, dass es unterschiedliche Implementierungen geben kann. Die verwendeten Map-Typen und Arbeitsabläufe können variieren. Ein GGX BRDF wird häufig verwendet, aber es kann zu Abweichungen in den Begriffen kommen. Außerdem ändern einige Implementierungen die Map-Bezeichnungen, auch wenn die zugrundeliegende Verwendung gleich bleibt.

In diesem Teil werden wir die beiden gebräuchlichsten Workflows, nämlich Metall/Roughness und Specular/Glosiness besprechen. Das Substance-Toolset zur Erstellung von PBR-Maps, bestehend aus Substance Designern, Substance Paintern und Substance B2M, unterstützt beide Workflows. Die Substance PBR Shader für Metal/Roughness und Specular/Glosiness verwenden GGX BRDF und verwenden keine Wertumschlüsselung für Roughness/Glossiness. Wenn jedoch eine benutzerdefinierte Neuzuordnung erforderlich ist, kann diese leicht in Substance implementiert werden.

Darüber hinaus werden benutzerdefinierte Shader im Substance-Toolset unterstützt, was bedeutet, dass Sie Substance an jede kundenspezifische Pipeline anpassen können.

Während beide Workflows Vor- und Nachteile in der Umsetzung haben, ist der eine dem anderen nicht überlegen. Es sind die zugrundeliegenden Konzepte und Richtlinien, die dafür sorgen, dass die PBR-Maps, die Sie erstellen, korrekt sind und nicht der Workflow selbst. Die Workflows stellen die gleichen Daten dar, setzen sie aber unterschiedlich um.

Was ist PBR?

PBR ist eine Methode des Shadings und des Renderings, die eine genauere Darstellung der Wechselwirkung von Licht mit Oberflächen ermöglicht. Es wird als Physically Based Rendering (PBR) oder Physically Based Shading (PBS) bezeichnet. Je nachdem, welcher Aspekt der Pipeline diskutiert wird, ist PBS in der Regel spezifisch für Shading-Konzepte und PBR spezifisch für Rendering und Beleuchtung. Beide Begriffe beschreiben jedoch den Prozess der Darstellung von Assets aus physikalischer Sicht.

Was sind die Vorteile?

Als Künstler können wir die Vorteile von PBR aus einer künstlerischen und produktionstechnischen Sichtweise heraus betrachten:

  1. PBR beseitigt das Rätselraten bei der Erstellung von Oberflächenattributen, wie z.B. Specularity, da seine Methodik und Algorithmen auf physikalisch genauen Formeln basieren. Es ist daher einfacher, realistisch aussehende Assets zu erstellen.
  2. Assets sehen unter allen Lichtverhältnissen genau aus.
  3. PBR bietet einen Workflow für die Erstellung konsistenter Kunstwerke, auch zwischen verschiedenen Künstlern.

Was bedeutet das für den Designer?

Als Künstler müssen wir anders über die Maps denken, die die Eigenschaften einer Oberfläche beschreiben, da Fortschritte in der Computerhardware und im Rendering es uns nun ermöglichen, die Physik des Lichts genauer zu simulieren.

Wir müssen die Konzepte der diffusen und Specular Maps aus den traditionellen Rendering-Workflows herausnehmen, da diese Maps nur als Workarounds für die Annäherung der Lichtinteraktion mit Materialien dienen.

In PBR übernimmt der Shader das schwere Anheben der Regeln der Physik durch Energieeinsparung und BRDF, während wir als Künstler Maps erstellen, die sich an physikalischen Prinzipien orientieren. Die wissenschaftliche Aspekte von PBR nehmen uns das Rätselraten von materiellen Werten und lassen uns mehr Zeit für die kreativen Aspekte der Texturierung. Obwohl es wichtig ist, die Richtlinien und Author Maps korrent einzuhalten, bedeutet das nicht, dass wir jetzt unsere künstlerische Intuition außer Acht lassen müssen. Es ist die künstlerische Perspektive, die einem Material wirklich Charakter verleiht und seine Geschichte durch sorgfältig ausgearbeitete und Details und Ausdrücke offenbart. Die Physik des Prozesses sollte niemals das Hauptanliegen des Künstlers sein. Nur weil wir in einer körperlich genaueren Umgebung arbeiten, heißt das nicht, dass wir keine stilisierte Kunst schaffen können. Beispielsweise wurde das physikalisch basierte Reflexionsmodell von Disney als prinzipienorientierter Ansatz konzipiert. Das heißt, sie war eher auf die künstlerische Ausrichtung als auf ein rein physisches Modell ausgerichtet. Es ist wichtig, die Prinzipien zu kennen und die Richtlinien anzuwenden, ohne zu gebunden zu sein.

Metal-/Roughness-Workflow.

Der Metal-/Roughness-Workflow wird durch eine Reihe von Kanälen definiert, die einem Sampler im PBR-Shader als Texturen zugeführt werden. Die für den Metall- /Roughness-Workflow spezifischen Maps sind Grundfarbe, Metall und Roughness. Wir besprechen jeden dieser Maptypen, die beiden Workflows gemeinsam sind. Der PBR-Shader verwendet auch Ambient Occlusion, Normal und eventuell Height für Parallax- und Displacement-Mapping.

Im Metal-/Roughness-Workflow wird der Reflexionswert für Metalle zusammen mit der reflektierten Farbe für Dielektrika in der Grundfarben-Map platziert. Die Reflektion unter Streifwinkeln wurde vom BRDF übernommen. Es wird eine Metal-Map verwendet, die wie eine Maske funktioniert, um die in der Grundfarben-Map gefundenen Metall und dielektrischen Daten zu unterscheiden. Die dielektrischen F0-Werte werden nicht von Hand erstellt, da der Shader sie verarbeitet. Wenn der Shader Schwarz in der Metall-Map sieht, behandelt er den entsprechenden Bereich in der Grundfarben-Map als Dielektrikum und verwendet einen Reflexionswert von 4%.

Wir wir im vorherigen Beitrag schon besprochen haben, deckt der Wert von 4% die gängigsten dielektrischen Materialien ab. Es ist zu beachten, dass alle Werte, wie dielektrische F0, Metallreflexion und Helligkeitsbereiche für Albedo-Farben aus den tatsächlichen Messdaten abgeleitet werden. Wenn wir uns jeden Maptypen ansehen, sprechen wir über Richtlinien, die auf gemessenen Daten basieren.

Im ersten Beitrag haben wir den Begriff der Energieeinsparung diskutiert, bei dem das von der Oberfläche reflektierte Licht nie intensiver sein wird als vor dem Auftreten auf die Oberfläche. Bei der Umsetzung übernimmt der Shader typischerweise die Steuerung der Energieeinsparung. Dies ist bei Substance der Fall. Mit dem Metall-/Roughness-Workflow ist es nicht möglich, das Gesetz der Energieeinsparung zu brechen. Die diffuse und spiegelnde Balance werden durch die Metallmaske gesteuert, so dass es unmöglich ist, eine Situation zu schaffen, in der sich die diffuse und die spiegelnde Farbe kombinieren können, um mehr Licht zu reflektieren oder zu brechen, als ursprünglich empfangen wurde.

Der Reflexionswert für Metalle wird zusammen mit der reflektierten Farbe für Dielektrika in die Grundfarbenmap eingetragen.

Dielektrikum F0.

Der F0 für gängige dielektrische Materialien ist typischerweise auf 0,04 (linear) 4% reflektierend eingestellt. Im Metal-/Roughness-Workflow ist dieser Wert im Shader fest codiert.

Einige Metal-/Roughness-Implementierungen, wie sie im Substance-Toolset und in der Unreal-Engine 4 zu finden sind, haben eine Specular-Steuerung, die es dem Künstler erlaubt, den konstanten F0-Wert für Dielektrika zu ändern. In Substance wird diese Ausgabe als „specularLevel“ bezeichnet und von einem Textur-Sampler im Metall-/Roughness-PBR-Shader geliefert. Er repräsentiert den Bereich von 0,0 bis 0,08. Dieser Bereich wird im Shader auf 0,0 bis 1,0 umgestellt, wobei 0,5 für 4% reflektierend steht.

Wenn Sie das F0 für ein Dielektrikum manuell einstellen müssen, können Sie dies über die Ausgabe von specularLevel im Substance Graph im Substance Designer oder über den SpecularLevel-Kanal im Substance Painter tun. Wir werden F0 für Dielektrika im Specular-/Glossiness-Workflow ausführlich besprechen, da Sie die volle Kontrolle über F0 im Specular-/Glossiness-Workflow haben.

Grundfarben (RGB – sRGB).

Die Grundfarben-Map ist eine RGB-Map, die zwei Arten von Daten enthalten kann: diffus reflektierte Farbe für Dielektrika und Reflexionswerte für Metalle. Die Farbe, die Dielektrika repräsentiert, steht für reflektierende Wellenlängen, wie in Teil 1 beschrieben. Die Reflexionswerte liegen vor, wenn eine Fläche in der Metall-Map als Metall gekennzeichnet ist (weiße Werte).

Gestaltungsrichtlinien.

Die Grundfarben-Map kann man sich als etwas flach in der Tonalität vorstellen. Das heißt, sein Kontrast ist geringer als der einer herkömmlichen diffusen Map. Es ist nicht ratsam, Werte zu haben, die zu hell oder zu dunkel sind. Objekte neigen dazu, viel heller im Ton zu sein, als wir sie in Erinnerung haben. Wir können diesen Bereich in Bezug auf die dunkelste Substanz, nämlich Kohle und den hellsten, den weißen Neuschnee, visualisieren. Kohle ist dunkel, aber nicht 0,0 schwarz. Die gewählten Farbwerte müssen innerhalb eines Helligkeitsbereichs liegen.

Bei den Helligkeitsbereichen beziehen wir uns vor allem auf dielektrisch reflektierte Farbe. Für dunkle Werte sollten Sie nicht unter 30-50 sRGB gehen. Der Bereich für dunkle Werte könnte bei 30 sRGB toleranter und bei 50 sRGB strenger sein. Für helle Farben sollten Sie keine Werte haben, die höher als 240 sRGB sind.

Wir haben festgestellt, dass die Grundfarbe Daten für refllektiertes Licht in Form von dielektrischen Materialien enthält und daher keine Lichtinformationen wie z.B. Umgebunsgeinflüsse enthalten sollte. Es kann Ausnahmen für das Hinzufügen von Mikrookklusion geben, wenn der Shader nicht in der Lage wäre, diesen Detaillierungsgrad nur mit einem Umgebungsokklusionskanal darzustellen. Die Werte in der Map, die die Reflexionswerte für Metalle angeben, sollten aus realen Messwerten ermittelt werden. Diese Werte werden etwa 70 bis 100% spiegelnd sein, was wir auf einen sRGB-Bereich von 180-255 abbilden können.

Im Abschnitt Substance PBR Utilities werden wir Werkzeuge diskutieren, die voreingestellte F0-Werte für gängige Materialien bereitstellen. Die von Sebastien Lagarde zur Verfügung gestellten Metall-/Roughnessdiagramme sind ebenfalls nützliche Ressourcen.

Werte, die die Reflexionswerte für Metalle angeben, sollten aus realen Messwerten gewonnen werden.

  • Farbe stellt Albedo für nichtmetallische Materialien und Reflexionswerte für Metalle dar.
  • Die Grundfarbe sollte mit Ausnahme der Mikrookklusion frei von Lichtinformationen sein.
  • Dunkle Werte sollten nicht unter 30 sRGB (toleranter Bereich) bis 50 sRGB (strenger Bereich) liegen.
  • Helle Werte sollten nicht höher als 240 sRGB sein.
  • Der Reflexionsgrad für Rohmetall wird hoch sein, im Bereich von 70 bis 100% spiegelnd, was wir auf 180 bis 255 sRGB abbilden können.

Wie Sie im Abschnitt Metallic weiter unten lesen können, kann die Grundfarbe auch Metallreflexionswerte enthalten. Wird der Grundfarbe Schmutz und Oxidation zugesetzt, verringert sich der Metallreflexionswert auf einen Bereich, der nicht als Rohmetall betrachtet werden kann.

Die Metal-Map muss auch den Zusatz von Schmutz und Oxidation berücksichtigen und ihr Wert muss in diesen Bereichen gesenkt werden, um anzuzeigen, dass sie nicht mehr als Rohmetall gilt. Die Schmutzschicht wird auch in der Metal-Map mit Übergangsgrauwerten berücksichtigt. Die metallische Map ist nicht immer binär, d.h. 0,0 (schwarz) oder 1,0 (weiß), wenn es eine dünne Schicht eines dielektrischen Materials wie Schmutz gibt.

Die metallische Map funktioniert ähnlich wie eine Maske, da sie dem Shader sagt, wie er die in der Grundfarbe gefundenen Daten zu intepetieren hat.

Metallisch (Graustufen – Linear).

Die Metal-Map wird verwendet, um zu definieren, welche Bereiche eines Materials Rohmetall bezeichnen. Als Graustufen-Map arbeitet sie ähnlich wie eine Maske, da sie dem Shader sagt, wie er die in der Grundfarbe gefundenen Daten interpretieren soll.

Die Daten in der Metallmap enthalten keine realen Daten, die direkt als Materialwert verwendet werden. Er beschreibt dem Shader lediglich, welche Bereiche in der Grundfarbe als reflektierte Farbe (Dielektrikum) zu interpretieren sind und welche Bereiche Metallreflexionswerte bezeichnen. In der Metallmap stehen 0,0 (schwarz – 0 sRGB) für Nichtmetall und 1,0 (weiß – 255 sRGB) für Rohmetall. In Bezug auf die Definition von Rohmetall und Nichtmetall ist diese Metallmap oft binär: schwarz oder weiß, Metall oder Nichtmetall. In der Praxis, wenn der Shader auf der Metall-Map schaut und weiß sieht, überprüft er dann die entsprechenden Bereiche in der Grundfarben-Map , um die Reflexionswerte für das Metall zu erhalten.

Gestaltungsrichtlinien.

Metalloberflächen haben zwei wichtige Aspekte in Bezug auf die Texturierung: Erstens sind ihre Reflexionswerte hoch im Bereich von 70 bis 100% spiegelnd, zweitens können einige Metalle korrodiert werden. Wir werden diese beiden Aspekte einzeln betrachten, wenn wir die Gestaltungsrichtlinien diskutieren.

Metallflächen, die in diesen Bereichen fallen, müssen einen Reflexionsgrad von 70 bis 100% aufweisen.

Raw Metal.

Die Metall-Map soll als 0 oder 1, Metall oder nicht, erstellt werden und dient zur Definition eines rohen, polierten Metallzustandes. Als allgemeine Richtlinie wird der Grauwertbereich für Rohmetall in der Metall-Map mit 235 – 255 sRGB definiert. Metallbereiche, die in diesen Bereich fallen, müssen einen Reflexionsgrad von 70 bis 100% in der Grundfarbenmap haben, die wir auf 180-255 sRGB abbilden können. Auch diese Werte basieren auf realen Messwerten.

Korrodierte oder dielektrische Layer.

Wenn Sie eine Oberfläche verwittern, müssen Sie möglicherweise berücksichtigen, dass das Metall oxidiert ist oder um andere Aspekte wie Schmutz auszugleichen. In diesen Fällen muss das Metall als Dielektrikum behandelt werden. Dasselbe gilt für lackiertes Metall. Wenn Sie sich lackiertes Metall ansehen, bei dem Teile der Farbe zerkratzt oder geplatzt sind, ist das belichtete Metall „roh“ (weiß in der Metall-Map) und die Farbe ist ein dielektrischer Layer (schwarz in der Metall-Map).

Die Metall-Map kann einen Mischzustand zwischen Metall und Nichtmetall darstellen, der durch Übergangsgrauwerte in der Map dargestellt wird. Wenn die Metall-Map Grauwerte kleiner als 235 sRGB hat, müssen Sie den „rohen“ Metallreflexionswert in der Grundfarbe senken. Denken Sie an eine Schmutzschicht, die Teile des Rohmetalls teilweise verdeckt. Der Schmutz ist dielektrisch. Würde man die Metallmap in vollem Weiß belassen, würde man diese Schmutzflächen in der Grundfarbe als Reflexionswert für Metall behandeln. Der Schmutzfarbwert ist viel niedriger als der Wert, der für das Reflexionsvermögen von 70 bis 100% bei polierten Metallen erforderlich ist. Indem Sie den metallischen Mapwert in den durch den Schmutz dargestellten Bereichen senken, schaffen Sie die richtige Mischung zwischen den dielektrischen und metallischen Reflexionswerten.

Die Opazität der Schmutzschicht kann angeben, wie stark der Reflexionswert in der Grundfarbe gesenkt werden soll. Es gibt hier keine harten und schnellen Regeln. Sie bewegen sich im Wesentlichen von einer hochreflektierenden Oberfläche (leitfähig) zu einer niederreflektierenden Oberfläche (Dielektrikum). Der Grad, in dem dieser Übergang stattfindet, kann jedoch variieren.

Das Substance-Toolset ermöglicht die einfache Nutzung von Verwirrungseffekten sowie die Kontrolle darüber, wie sich diese Effekte durch Mehrkanalunterstützung auf die Kanäle ausbreiten. Mit Substance Designer und Painter können Sie die Parameter eines Substance-Effektgenerators ändern, der automatisch die Kanäle anpasst, die durch den Substance-Effekt gesteuert wird.

Beispielsweise können Sie im Substance Designer einen Node Material Color Blend verwenden, um einen Effekt wie Schmutz auf mehrere Kanäle anzuwenden. Bei der Materialfarbmischung können Sie die Wirkung der Schmutzschicht auf das Metall steuern, indem Sie den Schieberegler für den Metallwert einstellen.

Metall, das oxidiert wird, muss als dielektrisches oder verrostetes Metall behandelt werden. Das Gleiche gilt für lackiertes Metall.

  • Metall, das oxidiert wird, muss als dielektrisches oder verrostetes Metall behandelt werden. Das Gleiche gilt für lackiertes Metall.
  • Wenn die Metall-Map Werte unter 235 sRGB hat, muss der Reflexionswer in der Grundfarbenmap gesenkt werden.

Roughness (Graustufen – Linear).

Die Roughness-Map beschreibt die Oberflächenunregelmäßigkeiten, die Lichtstreuung verursachen. Wie im vorherigen Beitrag beschrieben, variiert die reflektierte Richtung in Abhängigkeit von der Oberflächenrauhigkeit. Dadurch ändert sich die Lichtrichtung, die Lichtintensität bleibt jedoch konstant. Rauhere Oberflächen haben größere und dunklere Akzente. Glattere Oberflächen fokussieren Spiegelungen, die trotz gleicher Gesamtmenge an Licht heller oder intensiver wirken können.

In dieser Map steht Schwarz (0,0) für eine glatte Oberfläche und Weiß (1,0) für eine raue Oberfläche. Die Roughness-Map ist die kreativste Map, da sie es dem Künstler ermöglicht, den Charakter einer Oberfläche visuell zu definieren. Es erlaubt ihnen, eine Geschichte über den Zustand einer Oberfläche kreativ zu erzählen. Was ist seine Umgebung? Wurde es mit Vorsicht oder Missachtung behandelt? Wurde es den Witterungseinflüssen ausgesetzt? Der Zustand einer Oberfläche sagt viel über ihre Umgebung aus und bezieht sich somit auf die Gesamtgestaltung der Objekte und Welten, die Sie zu erschaffen versuchen.

Roughness ist ein sehr subjektiver Bereich. Sie, der Künstler, haben die volle kreative Kontrolle. Ein guter Ort, um mit der Roughness zu beginnen, ist die Normal Map. Die Normal Map enthält oft wichtige Oberflächendetails, die auch in der Roughness-Map dargestellt werden sollten.

Gestaltungsrichtlinien.

Seien Sie kreativ und erzählen Sie eine visuelle Geschichte über die Oberfläche.

Auflösung und Texteldichte.

Ein Nebenprodukt der Verwendung des Metall-/Roughness-Workflows ist, dass er ein Artefakt mit weißem Rand erzeugen kann. Dieses Problem tritt auch im Specular-/Glossiness-Workflow auf. In diesem Fall ist es jedoch nicht annähernd so sichtbar, weil der Effekt umgekehrt ist. Es gibt einen schwarzen statt weißen Rand.

Dieser Rand ist auf Texturinterpolation zurückzuführen und zeigt sich in den Übergangsbereichen zwischen Materialien, in denen ein scharfer Kontrast zwischen einem dielektrischen Material und einem sehr hellen Metall besteht. Bei Metall/Roughness enthält die Grundfarbe einen helleren Wert für den Metallreflexionsgrad, der mit der nichtmetallischen diffusen Farbe interpoliert wird, die den weißen Rand erzeugt. Bei Specular/Glossiness enthält die diffuse Map schwarz, da Rohmetall keine diffuse Farbe hat. Der Schwarzwert wird mit der nichtmetallischen diffusen Farbe interpoliert, was wiederum einen schwarzen Wert erzeugt.

Die Dokumentenauflösung und die Texeldichte haben einen direkten Einfluss auf die Sichtbarkeit von Kantenartefakten. Wenn Sie zum Beispiel einen harten Kantenpinsel verwenden, um die Übergangsbereiche zwischen Metall und Nichtmetall zu erzeugen, wird eine niedrige Dokumentenauflösung die Kante noch weicher machen und somit das Artefakt verschlimmern. Dieses Problem mit niedriger Auflösung wird auch durch UVs verursacht, die nicht so skaliert sind, dass Sie eine ausreichende Texeldichte auf der Grundlage der Dokumentenauflösung liefern. Eine gute Texeldichte für UVs ist die beste Methode, um Kantenartefakte zu minimieren.

Die Dokumentenauflösung und die Texeldichte haben einen direkten Einfluss auf die Sichtbarkeit von Kantenartefakten.

Gestaltungsrichtlinien.

Texeldichte und Auflösung beeinflussen die weiße Kante, die im Metall/Roughness-Workflow auftreten kann. Um Artefakte zu minimieren, stellen Sie sicher, dass ihre UVs eine ausreichende Dichte aufweisen, die der Dokumentenauflösung entspricht.

Die Vor- und Nachteile des Metall/Roughness-Workflows.

Vorteile:

  • Kann einfacher zu erstellen und weniger anfällig für Fehler sein, die durch falsche dielektrische F0-Daten verursacht werden.
  • Benötigt weniger Texturspeicher, da Metallic und Roughness beide Graustufen-Maps sind.
  • Scheint ein weit verbreiteter Workflow zu sein.

Nachteile:

  • Keine Kontrolle über F0 für Dielektrika bei der Maperstellung. Die meisten Implementierungen haben jedoch eine spiegelnde Kontrolle, um den Basiswert von 4% zu überschreiben.
  • Kantenartefakte sind vor allem bei niedrigen Auflösungen deutlicher zu erkennen.

Specular / Glossiness Workflow.

Kantenartefakte sind wie der Specular-/Glossiness-Workflow durch einen Satz von Maps definiert, die als Texturen einem Sampler im PBR-Shader zugeführt werden. Die für den Specular-/Glossiness-Workflow spezifischen Maps sind diffus, spiegelnd und glänzend.

Obwohl der Specular/Glossiness Workflow bekanntere Namen wie diffus und spiegelnd verwendet, ist es wichtig zu unterscheiden, dass die Maps nicht die gleichen sind wie ihre traditionellen Pendants. Substance verwendet den Begriff diffus, aber einige Implementierungen können sich auf diffus als Albedo beziehen. Der PBR-Shader verwendet auch Ambient Occlusion, Normal und möglicherweise Height für das Parallax-Mapping, wie bereits erwähnt, im Abschnitt Maps Common to Both Workflows diskutiert wird.

In diesem Workflow werden die Reflexionswerte für Metall und F0 für nichtmetallische Materialien in der Specular Map platziert. Mit dem Specular/Glossiness Workflow haben Sie zwei RGB-Maps: eine für diffuse Farbe (Albedo) und eine für Reflexionswerte (Specular). Mit der Specular Map haben Sie die Kontrolle über die F0 für dielektrische Materialien innerhalb der Map selbst.

Wie wir im Metall-/Roughness-Workflow festgestellt haben, übernehmen die PBR-Shader in Substance die Energieeinsparung. Dies wird im Specular/Glossiness-Workflow noch wichtiger, da die Specular Map die volle Kontrolle über das Dielektrikum F0 bietet. Dies bedeutet, dass die Map anfälliger für falsche Werte ist. Beispielsweise kann ein weißer (1,0) diffuser und ein weißer (1,0) Specular-Wert kombiniert werden, um mehr Licht zu reflektieren bzw. zu brechen als ursprünglich empfangen wurde, was wiederum gegen das Gesetz der Energieeinsparung verstößt. Folglich würden die Texturdaten beim Erstellen der Texturen nicht dem tatsächlichen Ergebnis entsprechen.

Wie Sie sehen werden, sind die Daten, die die Maps darstellen, dieselben wie im Metal-/Roughness-Workflow. Wir werden die gleichen Richtlinien befolgen, aber der Unterschied besteht darin, wie die Maps erstellt werden.

Die Daten werden in verschiedenen Maps dargestellt, aber wir folgen den gleichen Prinzipien. Wie bereits erwähnt, werden alle Werte, wie Dielektrikum F0, Metallreflexion und Helligkeitsbereiche für Albedo-Farbe aus den tatsächlichen Messdaten abgeleitet. Wenn wir uns jeden Maptypen ansehen, werden wir Richtlinien diskutieren, die auf gemessenen Daten basieren. Dieser Abschnitt wiederholt nicht die genauen Informationen, die im Abschnitt Metal/Roughness behandelt werden, sondern konzentriert sich auf die Unterschiede und die Bereiche, in denen Unterscheidungen für den Specular-/Glossiness-Workflow gemacht werden müssen.

Wie bei der Grundfarbenmap aus dem Metall-/Roughness-Workflow enthält die diffuse Map Albedo-Farben. Es enthält jedoch keine Reflexionswerte.

Gestaltungsrichtlinien.

Die diffuse Map ist nur in Albedo-Farbe. Die Bereiche, die das Rohmetall anzeigen, sind schwarz (0,0), da das Metall keine diffuse Farbe hat. In Fällen, in denen eine Oxidation stattgefunden hat, enthält der Metallbereich Farbe, da er nicht mehr als Rohmetall behandelt. Gleiches gilt für Schmutz oder andere Effekte, die eine dielektrische Schicht über dem Rohmetall erzeugen.

Die Richtlinien für die diffuse Map in Bezug auf die Tonalität sind die gleichen wie für die Grundfarbenmap. Die Ausnahme ist, dass, wenn Rohmetall vorhanden ist, ein Wert von 0,0 (schwarz) erlaubt ist und er nicht durch die Richtlinien für die Schwärzungsbereiche geregelt ist.

  • Farbe steht für Albedo bei nichtmetallischen Werkstoffen und Schwarz (0,0) bei Rohmetall.
  • Die Grundfarbe sollte bis auf die Mikrookklusion frei von Lichtinformationen sein.
  • Dunkle Werte sollten nicht unter 30 sRGB (toleranter Bereich) oder 50 sRGB (strenger Bereich) liegen, außer wenn das Rohmetall schwarz ist.
  • Helle Werte sollten nicht höher als 240 sRGB sein.

Specular (RGB – sRGB).

Die Specular Map definiert die Reflexionswerte für Metall und die F0 für Nichtmetall. Diese RGB-Map ermöglicht es, verschiedene Werte für dielektrische Materialien in der Map zu erstellen. Dies unterscheidet sich vom Metall-/Roughness-Workflow, bei dem Dielektrika mit einem Reflexionsvermögen von 4% fest codiert sind und nur über den „specularLevel“-Kanal modifiziert werden können. Wie im Metall-/Roughness-Workflow sollten die F0-Daten aus realen Messwerten abgeleitet werden. Der F0 für Dielektrika ist ein dunklerer Wert. Das Metallreflexionsvermögen kann eingefärbt werden, da einige Metalle Licht mit unterschiedlichen Wellenlängen absorbieren. Die F0 für Dielektrika und Metalle sind in der RGB Specular Map enthalten.

Die Specular Map erlaubt es, verschiedene Werte für die dielektrische F0 in der Map zu erstellen.

Gestaltungsrichtlinien.

Da die Specular Map den F0-Wert sowohl für Metalle als auch für Nichtmetalle enthält, werden wir die Map für jeden Materialtyp in eine eigene Kategorie einteilen.

Raw Metal.

Der F0-Wert sollte auf realen Daten basieren. Wie in der Metall-Map dargestellt, muss der Reflexionsgrad für Raw Metal gesenkt werden, wenn es eine Oxidation oder eine Schicht gibt, die auf Nichtmetall hinweist. Im Falle des Specular-/Glossiness-Workflows erhöhen Schmutz und Oxidation die diffuse Farbe für Raw Metal in der diffusen Map und senken den Reflexionswert in der Specular Map.

Dielektrikum.

Die F0 für dielektrische Materialien ist ebenfalls in der Specular Map enthalten. Hier haben Sie die volle Kontrolle über den F0-Wert, aber es ist wichtig, die richtigen Daten zu verwenden. Wie wir bereits im vorangegangenen Beitrag besprochen haben, sind Nichtmetalle schlechte Stromleiter. Das gebrochene Licht wird gestreut und/oder absorbiert und somit reflektieren diese Materialien viel weniger Licht als Metalle. Wir gaben an, dass der Wert für gewöhnliche Dielektrika bei etwa 2 bis 5% liegt, basierend auf dem F0, wie er durch den Brechungsindex (IOR) berechnet wird. Mit Ausnahme von Edelsteinen kann der F0 im Bereich 0,02-0,05 (linear) für gängige dielektrische Materialien liegen.

Bei sRGB handelt es sich um eine Skala von 40-75 sRGB, die den linearen Bereich von 0,02-0,05 (2-5%) überlappt.

Wenn Sie für ein bestimmtes Material keinen IOR-Wert finden, können Sie von 4% (0,04 – Kunststoff) ausgehen. Edelsteine sind eine Ausnahme und haben einen Bereich von 0,05-0,17 (linear). Im Metallworkflow wird der Shader auf einen Bereich von 0,0-0,08 (linear) abgebildet, wenn der SpecularLevel-Kanal verwendet wird, da Null für die Darstellung von Luft benötigt wird.

  • Die Specular Map enthält F0 für Dielektrika und den Reflexionswert für Raw Metal.
  • Dielektrika reflektieren weniger Licht als Metalle. Der Wert für herkömmliche Dielektrika liegt bei etwa 2 bis 5%. Im Sinne von sRGB sollten die Werte zwischen sRGB 40-75 liegen, die den Bereich von 0,02-0,05 (linear) überlappen.
  • Gängige Edelsteine liegen im Bereich von 0,05-0,17 (linear).
  • Übliche Flüssigkeiten liegen im Bereich von 0,02-0,04 (linear).
  • Der Reflexionswert für Raw Metal wird hoch im Bereich von 70 bis 100% spiegelnd sein, was wir auf 180-255 sRGB abbilden können.
  • Wenn Sie für ein bestimmtes Material keinen IOR-Wert finden, können Sie 4% (0,04 – Kunststoff) verwenden.

Glossiness (Graustufen – Linear).

Die Glossiness-Map beschreibt die Oberflächenunregelmäßigkeiten, die Lichtstreuung verursacht. In dieser Map steht Schwarz (0,0) für eine rauhe Oberfläche und Weiß (0,0) für eine raue Oberfläche und Weiß (1,0) für eine glatte Oberfläche. Sie ist die Kehrseite der Roughness-Map im Metall-/Roughness-Workflow. Diese Map hat die gleichen künstlerischen Richtlinien, die im obigen Abschnitt über die Roughness behandelt werden.

Gestaltungsrichtlinien.

Seien Sie wieder einmal kreativ und erzählen Sie eine visuelle Geschichte über die Oberfläche.

Auflösung und Texeldichte.

Wir haben vorhin besprochen, wie Kantenartefakte in beiden Workflows auftreten können. Dies wurde im Abschnitt Metall/Roughness ausführlich besprochen, da die Kantenartefakte in diesem Workflow deutlich erkannbar sind. Wir haben auch erwähnt, dass die diffuse Map schwarz enthält, da das Raw Metal keine diffuse Farbe hat. Der Schwarzwert wird mit der nichtmetallischen diffusen Farbe interpoliert, wodurch ein schwarzer Rand entsteht.

Auch hier haben die Dokumentenauflösung und die Texeldichte einen direkten Einfluss auf die Sichtbarkeit von Kantenartefakten. Wenn Sie einen harten Kantenpinsel verwenden, um die Übergangsbereiche zwischen Metall und Nichtmetall zu erzeugen, wird eine niedrige Dokumentenauflösung die Kante noch weicher machen und somit das Artefakt verschlimmern. Dieses Problem mit niedriger Auflösung wird auch durch UVs verursacht, die nicht so skaliert sind, dass sie eine ausreichende Texeldichte im Vergleich zu Dokumentenauflösung bieten. Eine gute Texeldichte für UVs ist die beste Methode, um dieses Problem zu kontrollieren. Die Dokumentenauflösung und die Texeldichte haben einen direkten Einfluss auf die Sichtbarkeit von Kantenartefakten.

Gestaltungsrichtlinien.

Texel-Dichte und Auflösung beeinflussen den schwarzen Rand, der im Specular-/Glossiness-Workflow auftreten kann. Stellen Sie sicher, dass ihre UVs eine ausreichende Dichte aufweisen, die der Auflösung des Dokuments entspricht, um Artefakte zu minimieren.

Vor- und Nachteile des Specular-/Glossiness-Workflows.

Vorteile:

  • Kantenartefakte sind weniger auffällig.
  • Kontrolle über das Dielektrikum F0 in der Specular Map.

Nachteile:

  • Da die Specular Map die Kontrolle über das Dielektrikum F0 ermöglicht, ist sie anfälliger für die Verwendung falscher Werte. Es ist möglich, das Konservierungsgesetz zu brechen, wenn es im Shader falsch gehandhabt wird.
  • Verwendet mehr Texturspeicher mit einer zusätzlichen RGB-Map.
  • Kann verwirrender sein, da es eine ähnliche Terminologie wie herkömmliche Workflows verwendet, aber andere Dinge benötigt. Es erfordert auch mehr Wissen über physikalisch basierte Richtlinien wie z.B. korrektes F0 für Dielektrika, schwarz für rohe Metalldiffusionsfarben und mögliche Energieeinsparungen, wenn Sie nicht im Shader behandelt werden.

Common Maps für beide Workflows.

Ambient Occlusion (AO).

Die Ambient Occlusion Map definiert, wie viel von der Umgebungsbeleuchtung für einen Oberflächenpunkt zugänglich ist. Sie wirkt sich nur auf den diffusen Beitrag aus und sollte den spiegelnden Beitrag nicht verdecken. Einige Engines, wie z.B. Unreal Engine 4, haben eine Option für die Spiegelung des Bildschirms, um lokale Reflexionen zu simulieren. Die beste Kombination ist die Verwendung von AO mit Spiegelungen des Bildschirms.

In Substance PBR Shadern wird die Umgebungsbeleuchtung mit dem AO multipiliziert. Die AO-Map im PBR-Shader wird von einem Textur-Sampler im PBR-Shader geliefert und ist ein optionaler Kanal. Das AO sollte nicht in Textur-Maps eingebrannt werden, sondern nur als eigener Kanal an den Shader geliefert werden.

AO beeinflusst nur den diffusen Beitrag und sollte den spiegelnden Beitrag nicht verdecken.

Ambient Occlusion erstellen.

Im Substance Designer und Painter kann AO aus einem Mesh gebakt oder mit Hilfe des integrierten Baking-Tools aus einer Normal Map konvertiert werden. Auch im Substance Designer und im Painter können Sie den HBAO-Node/Filter verwenden, um aus einer Höheneingabe eine horinzontbasierte Ambient Occlusion zu erzeugen, die ähnliche Ergebnisse wie ein Raytraced-Bake liefert.

Height.

Eine Height Map wird häufig für die Verschiebung im Rendering verwendet. Es kann für das Parallax-Mapping verwendet werden, um dem Normal- und Bump-Mapping mehr scheinbare Tiefe und damit mehr Realismus zu verleihen. Substanz verwendet den Relief-Mapping-Parallax-Algorithmus. Die Höhe wird von einem Textur-Sampler im PBR-Shader geliefert und ist auch ein optionaler Kanal-Eingang zum PBR-Shader. Im Substance Designer können Sie einen Parallax-Occlusions- oder Tesselations-Shader verwenden. Mit dem Substance Painter können Sie einen Displacement Kanal verwenden, um die Parallax Occlusion zu steuern.

Höhe erzeugen.

Wie AO kann die Höhe im Substance Designer oder Substance Painter mit Hilfe des integrierten Baking-Toolsets aus einem Mesh gebakt werden. Im Substance Designer können Sie ein Node verwenden, um die Höhe von einer Normal Map zu konvertieren. Im Substance Painter können Sie direkt Höhenangaben malen.

Im Hinblick auf die Verwendung der Höhe mit einem Echtzeit-Shader ist es am besten, die Menge an hochfrequenten Details in der Map zu reduzieren. Die Height Map sollte so gestaltet sein, dass sie die gesamte Silhoutte der zur Verschiebung der Geometrie verwendeten Daten darstellt. Eine gute Praxis ist es, eine verschwommene Version der Höhe zu verwenden, um die Formen hervorzuheben und hochfrequente Details zu reduzieren. Dies führt dazu, dass die Normal Map die hochfrequenten Details liefert und die Höhe die Silhouette der Formen verschiebt. Wenn Sie die Höhe als Verschiebung in einem Raytracing-Renderer verwenden, wird dieses hochfrequente Detail benötigt.

Normal.

Die Normal Map wird verwendet, um Oberflächendetails zu simulieren. Es ist eine RGB-Map, wobei jede Komponente den X-, Y- und Z-Koordinaten der Flächen-Normals entspricht. Es kann verwendet werden, um die projizierten Details eines hochauflösenden Modells in ein niedrigauflösendes Modell zu speichern. Im Substance Toolset können Sie die Normal Map baken oder eine Height Map in eine Normal Map umwandeln.

Normal erzeugen.

Eine Normal Map kann im Substance Designer und Substance Painter aus einem Mesh mit Hilfe des integrierten Baking-Toolsets gebakt werden. Im Substance Designer können Sie ein Normal Node verwenden, um die Höhe in eine Normal Map umzuwandeln. Im Substance Painter können Sie normale Daten direkt im 3D-Viewport zeichnen.

Substance PBR Utilities.

In diesem Abschnitt werden wir verschiedene Substance Utilities besprechen, die bei der Erstellung von PBR-Texturen und der Einstellung der korrekten Reflexionswerte helfen können. Diese Werkzeuge wurden auf der Grundlage der in diesem Leitfaden behandelten Prinzipien und Konzepte entwickelt.

Substance Designer.

PBR Base Material.

Dieser Node ist ein Hilfsmittel zum Erstellen eines vollständigen Basismaterials und befindet sich unter Materialfilter > PBR Utilities. Es unterstützt sowohl Metall-/Roughness, als auch Specular-/Glossiness-Workflows und bietet gängige Voreinstellungen für Metallrohstoffe. Es erlaubt ihnen auch, das Albedo zu setzen, wenn Sie ein Nicht-Metall erstellen. Es gibt Kontrollen für Roughness und Glossiness vom Workflow, die auch eine Grunge-Amount-Option haben. Sie können Map-Eingaben aktivieren, um Kanäle wie Grundfarbe, Normal oder Height einzuspeisen.

Dielektrikum F0.

Dieser Node gibt F0-Werte für gängige dielektrische Materialien aus und ist unter Materialfilter > PBR Utilities zu finden. Sie können aus voreingestellten Werten wählen und der Node hat ein IOR-Eingabefeld, das einen IOR nimmt und den F0-Wert berechnet. Es wurde für dielektrische Materialien entwickelt und kann mit dem Specular-/Glossiness-Workflow verwendet werden.

Metall-Reflexion.

Dieser Node gibt Reflexionswerte für gängige Metallrohstoffe aus. Sie finden sie in der Substance Designer Library unter Materialfilter > PBR Utilities. Sie können aus mehreren voreingestellten Metallwerten wählen.

PBR Metall/Roughness validieren.

Dieser Node ist für die Arbeit mit dem Metall-/Roughness-Workflow konzipiert und ist ein Hilfsmittel, das nach falschen Werten für die Grundfarbe und Metall-Maps sucht. Sie finden es unter Materialfilter > Utilities. Der Node gibt eine Heatmap aus, die sich von rot > gelb > grün bewegt, wobei rot falsch und grün/gelb richtig ist. Bei Metall prüft er die entsprechenden F0-Werte in der Grundfarbe für Bereiche, die in der Metall-Map als Metall gekennzeichnet sind. Die Heatmap zeigt den Bereich an, in dem der F0-Bereich möglicherweise zu niedrig ist. Beim Albedo wird geprüft, ob die dielektrischen Helligkeitsbereiche korrekt sind.

PBR Safe Color.

Dieser Node korrigiert in der Grundfarbe oder in diffusen Maps. Es stellt sicher, dass die Werte innerhalb der korrigierten Helligkeitsbereiche für Dielektrika liegen. Diese finden Sie unter Materialfilter > PBR Utilities.

Conversion.

BaseColor_metallic-Roughness_converter

Dieser Node konvertiert Maps aus dem Metall-/Roughness-Workflow in verschiedene Renderings und ist unter Materialfilter > PBR Utilities zu finden.

  • Vray (GGX)
  • Corona
  • Corona 1.6
  • Redshift 1.x
  • Arnold (aiSurface)
  • Arnold 4 (aiStandard)
  • Renderman (pxrSurface)

Substance Painter.

PBR Metall/Roughness Validate (Filter).

Dieser Filter wurde entwickelt, um mit dem Metall-/Roughness-Workflow zu arbeiten und ist ein Hilfsmittel, das nach falschen Werten für die Grundfarbe und Metall-Maps sucht. Es ist ein kostenloser Filter, der von Substance Share heruntergeladen werden kann.

Dieser Filter gibt eine Heatmap aus, die sich zwischen den Farben rot, gelb und grün bewegt, wobei rot falsch und grün/gelb richtig ist. Bei Metall prüft er die entsprechenden F0-Werte in der Grundfarbe für Bereiche, die in der Metall-Map als Metall gekennzeichnet sind.

Die Heatmap zeigt den Bereich an, in dem der F0-Bereich möglicherweise zu niedrig ist. Beim Albedo wird geprüft, ob die dielektrischen Helligkeitsbereiche korrekt sind.

Um dies im Painter zu verwenden, importieren Sie den Filter in ihr Substance Painter Projekt und markieren Sie ihn als Filter oder kopieren Sie den Filter in den Ordner Filter in ihrem Shelf.

Substance Output und Renderings.

Ein Substance Material von Substance Source unterstützt sowohl den Metall-/Roughness- als auch dem Specular-/Glossiness-Workflow. Diese Outputs können mit physikalisch basierten Echtzeit-Shadern wie in Unreal Engine 4 und Unity verwendet werden. Die Basisfarben-/Metall-/Roughness-Outputs können mit Raytraced-Renderern verwendet werden, die einen metallischen Workflow wie Arnold unterstützen. Die Specular-/Glossiness-Maps werden nur für Echtzeit-Shader verwendet. Je nach Renderer können Sie die Basisfarben-/Metall-/Roughness-Outputs direkt verwenden oder Sie müssen sie konvertieren.

Benutzerdefinierte Materialien oder Ressourcen, die Sie von Substance Share herunterladen, haben möglicherweise nicht die passenden Outputs für einen bestimmten Renderer, da sie hauptsächlich nur Basisfarben-/Metall-/Roughness-Outputs enthalten, daher ist es wichtig, die Art der Materialinputs zu verstehen, die ihr Material akzeptieren wird, damit Sie die Outputs des Substance Materials korrekt verwenden können, wenn sie konvertiert werden müssen.

Mit Arnold 5 können Sie z.B. den Metall-/Roughness-Outputs direkt nutzen. Bei einem Vray-Material müssen Sie jedoch die Metall-/Roughness-Outputs konvertieren, um Reflexions- und 1/IOR-Maps zu erzeugen. Substance Painter unterstützt mehrere Renderer-Konfigurationen von Drittanbietern.

Das Ziel der Substance-Integration-Plugins ist die automatische Konvertierung von Substance-Outputs für die Arbeit mit bestimmten Renderern. Zum Beispiel hat das 3ds Max Substance Plugin Voreinstellungen für die Arbeit mit Arnold, Vray und Corona. Die Auswahl des Presets konvertiert automatisch die Substance-Outputs für die Verwendung mit diesen Renderern.

Ist die Oberfläche metallisch?

Es kann hilfreich sein, eine Oberfläche in die Kategorie Metall oder Nichtmetall einzuteilen. Häufig ist es sinnvoll, den Texturierungsprozess zu beginnen, indem man zuerst das Material untersucht und fragt, ob es sich um Metall handelt oder nicht. Mit dieser Frage können Sie einige Richtlinien für den Texturierungsprozess ableiten, wie wir sie in diesem Artikel behandelt haben.

Vielen Dank fürs Lesen.