Tutorial? – Substance Designer lernen, Fliesentextur erstellen.

Sebastian Pohl - 5. Januar 2015

brick_show_003

Da ich derzeit wieder mehr 3D Modellierung und Texturierung machen möchte habe ich auch meine Tool-Sammlung um ein paar interessante Dinge ergänzt. Neben neuer Hardware zur Eingabe in Form einer 3DConnexion SpaceMouse Pro Wireless auch neue Software – dank Steam-Winter-Sale auch zu moderaten Preisen. Zusätzlich zu Bitmap2Material das ich schon länger im Einsatz habe, habe ich aus der Produktpalette von Allegorithmic jetzt auch die Programme Substance Painter und Substance Designer. Und um letzteren wird es hier gehen.

Überblick

Substance Designer ist ein Tool um prozedural Texturen zu erstellen. Das lässt sich sehr einfach hinschreiben, wird dem Umfang des Programms aber bei weitem nicht gerecht. Neben einfachen Dingen wie Rauschgeneratoren oder einfachen Filtern kann die Software nämlich auch auf Basis der Geometrie und der Oberflächenstruktur verschiedene Effekte berechnen (Feature Trailer).

Da ich den Workflow der gesamten Produktpalette an Substance Programmen mag arbeite ich derzeit daran mir die Funktionsweise der unterschiedlichen Tools beizubringen. Und da es dort draußen im Internet  vielleicht noch mehr Anfänger gibt werde ich das ganze niederschreiben. Ich betone dabei aber nochmal das ich Anfänger bin und meine Vorgehensweise sicherlich noch verbesserungsfähig ist und sicherlich nicht optimal.

Mein Ziel für dieses Mal ist es eine Textur zu erstellen die auf einer beliebigen Geometrie eine Fliesenoberfläche erzeugt. Die Textur soll also unabhängig vom Objekt funktionieren.

Der daraus entstandene Node-Graph lässt sich dabei in die folgenden Abschnitte unterteilen:

  1. Anlegen einer Substance
  2. Grundstruktur der Fliesen
  3. Oberfläche in den Fugen
  4. Oberfläche auf den Fliesen
  5. Zusammenfügen der Materialien
  6. Hinzufügen von Dreck
  7. Ausgabe der Textur

Entsprechend dieser Abschnitte ist auch dieser Artikel gegliedert.

Allgemein gehe ich davon aus das die ganz grundlegende Bedienung und Navigation innerhalb des Programms klar ist.

1. Anlegen einer Substance

brick_createZuerst wird ein neuer Node-Graph angelegt. Dazu wird eine neue Substance erzeugt. Die wichtigen Einstellungen für diese Anleitung sind:

  • Template
    Legt in erster Linie fest welche Ausgabe-Knoten wir bekommen. Da ich persönlich das Modell Metallic / Roughness am besten verstehe wähle ich das immer aus. Dadurch kriegt man die Ausgabe von BaseColor, Normal, Roughness und Metallic.
  • Width und Height
    Substances haben die Möglichkeit ihre Größe dynamisch an das Programm in dem sie verwendet werden anzupassen. Diese etwas schwerer zu verstehende Variante habe ich hier ausgelassen und arbeite mit einer festen Größe von 2048×2048 Pixeln.

Die restlichen Einstellungen habe ich so belassen wie sie sind.

2. Grundstruktur der Fliesen

brick_basicSubstance Designer bietet eine Menge an Muster-Generatoren an. Für die Fliesenstruktur habe ich Brick 1 verwendet da die Optionen überschaubar und leicht verständlich sind.

Die einzelnen Nodes in diesem Teil (Zahlen in eckigen Klammern dienen nur der Identifikation der verschiedenen Nodes mit gleichem Typ):

  • Brick 1
    Die Grundstruktur wird mit dieser Node erzeugt. Die Optionen ermöglichen mehr oder weniger Fliesen und verschieden breite Fugen.
  • Blur HQ Grayscale
    Die schwarz-weisse Fliesenstruktur wird geblurt. Dadurch werden die schwarzen Fugen breiter. Damit soll ein weicherer Übergang zwischen Fugen und Fliesen erreicht werden.
  • Blend [1]
    Die unscharfe Fliesenstruktur wird doppelt übereinandergelegt um die Struktur dunkler zu bekommen. Die Blend-Node wird dafür auf Multiply gestellt.
  • Invert Grayscale [1]
    Die Struktur wird invertiert, so dass die Fließen schwarz sind und die Fugen weis.
  • BnW Spots 2 (nicht abgebildet)
    Dieser Knoten ist im Abschnitt Oberfläche in den Fugen.
  • Blend [2]
    Mittels Multiply wird die ursprüngliche Struktur und die Ausgabe der BnW Spots Node kombiniert und die invertierte, weichgezeichnete Struktur wird als Maske verwendet. Dadurch wird das Rauschen nur auf den Fugen sichtbar.
  • Invert Grayscale [2]
    Die Ausgabe des vorigen Knotens wird invertiert damit auch hier die Fugen weis und die Fliesen schwarz sind.
  • Blend [3]
    Auch diese Maske wird nochmals mit sich selbst überblendet. Der Blend Mode steht auf Add.

 3. Oberfläche in den Fugen

brick_gaps

Die Oberfläche der Fugen sollte eine leicht sandige Oberflächenstruktur haben sodass der Eindruck von Fugenmörtel entsteht.

  • BnW Spots 2
    Aus den Noise-Generatoren erschien mir dieser am passendsten für die Oberfläche der Fugen. Die Ausgabe dieses Knotens wird auch im vorigen Abschnitt für den Knoten Blend [2] verwendet.
  • Invert Grayscale
    Als Eingabe für diesen Inverter wird der Knoten Blend [1] aus dem vorigen Abschnitt verwendet.
  • Blend
    Der Knoten Blend [1]  aus dem vorigen Abschnitt wird mit dem Rauschen aus dem ersten Knoten überblendet. Der Blend-Mode ist Copy und die invertierte Ausgabe aus dem vorigen Knoten wird als Maske verwendet.
  • Base Material
    Anstatt die verwendeten Maps Base Color, Normal, Roughness und Metallic selbst zu erstellen kann der Knoten Base Material verwendet werden um ein Grundmaterial zu erstellen. Die Grundfarbe ist ein leichtes Grau. Roughness ist komplett weis, das Material also komplett rau. Metallic ist komplett schwarz, da es sich um ein Nicht-Metall handelt.
  • Height Normal Blender
    Die Ausgabe des Blend Knotens weiter oben wird mit der neutralen Normal-Map zusammengelegt, dadurch ergibt sich eine leicht raue Struktur in den Bereichen wo sich die Fugen befinden.

Das hier erstellte Material für die Fugen setzt sich zusammen aus den Maps für Base Color, Roughness und Metallic aus dem Base Material und der Normal Map die aus dem Normal Blender erzeugt wurde.

4. Oberfläche auf den Fliesen

brick_tilesHier wird es dann etwas komplexer, ich hoffe es bleibt dennoch verständlich. Die Fliesenoberfläche sollte leicht glasiert aussehen, mit kleineren Unebenheiten und Farbabweichungen.

  • BnW Spots 2
    Als Grundlage für die leicht strukturierte Oberfläche wird dieser Noise Generator verwendet.
  • Clouds 2
    Um die Farbschwankungen zu maskieren und die Oberfläche auf einer größeren Skala zu verzerren wird diese Wolkenstruktur verwendet.
  • Blend [1]
    Die vorigen beiden Knoten werden zusammengelegt. Der Blendmode ist Overlay.
  • Contrast/Luminosity Grayscale
    Um die Oberfläche nicht zu stark zu verzerren wird die Ausgabe aus dem vorigen Blend Knoten hier ein wenig abgeschwächt. Dazu wird einfach die Luminosity heruntergedreht.
  • Normal Color
    Dieser Knoten liefert einfach eine neutrale Normal Map.
  • Height Normal Blender
    Die neutrale Map wird nun mit dem Rauschen zusammengelegt. Die Normal Intensity wird hierfür allerdings sehr weit heruntergedreht um den Effekt wirklich nur sehr subtil einzusetzen.
  • Uniform Color [1]
    Eine helle Fliesen-Farbe.
  • Uniform Color [2]
    Eine dunkle Fliesen-Farbe.
  • Blend [2]
    Die beiden Fliesenfarben werden zusammengelegt. Als Maske dient die Ausgabe des Clouds 2 Knoten.
  • Base Material
    Unter Used Defined Maps werden Base Color und Normal Map auf true gesetzt. Dadurch entstehen zwei Eingangsknoten. Als Base Color wird das Ergebnis des vorigen Blend Knoten verwendet. Die Normal Map kommt aus dem Height Normal Blender. Für Roughness wird ein relativ dunkler Grauwert gewählt und Metallic ist wieder komplett schwarz.

In diesem Fall kommen die Outputs alle aus dem letzten Knoten Base Material.

 5. Zusammenfügen der Materialien

brick_blend_nodeUm einen Fliesenlook zu erhalten müssen diese Materialien nun nur noch zusammengefügt werden. Dazu verwendet man eine Material Blend Node.

Hier möchte ich noch kurz darauf verweisen, das ich für gewöhnnlich in der Compact Material Ansicht arbeite. Dabei werden die Ausgaben von Material Knoten als grüne Linie zusammengefasst. Eingabeknoten an die diese Linien angefügt werden wählen die passenden Maps selbst aus. Die Alternative ist die Maps alle anzeigen zu lassen, dann sieht die Material Blend Node beispielsweise so aus:

brick_blend_fullFür mich persönlich habe ich festgestellt das es manchmal einfacher ist in dieser ausgeklappten Ansicht zu arbeiten für den großen Überblick und das sortieren ist die kompakte Ansicht aber zu empfehlen.

Material 1 ist die Ausgabe aus Abschnitt 4, Material 2 die Ausgabe aus Abschnitt 3. Als Maske wird die Ausgabe des Knoten Blend [3] aus Abschnitt 2 verwendet.

Klickt man mit der rechten Maustaste auf diesen Knoten kann man mit View in 3D View das Material im Viewer-Fenster anzeigen lassen.

brick_cleanDamit sieht der Würfel jetzt schon sehr gefliest aus, allerdings noch ziemlich makellos. Daher folgt jetzt noch die Option Verschmutzung hinzuzufügen.

6. Hinzufügen von Dreck

brick_dirtAuch dieser Abschnitt ist wieder etwas unübersichtlich, wenn man Schritt für Schritt herangeht ist der Vorgang aber relativ einfach.

  • Dirt 1
    Dies ist ein weiterer Rauschgenerator der eine dreckartige Maske erzeugt.
  • Uniform Color
    Die Grundfarbe für den Dreck.
  • Blend [1]
    Dreck und Grundfarbe werden gemischt. Der Blendmode ist Overlay.
  • Height Normal Blender
    Die Normalmap aus dem kombinierten Material aus Abschnitt 5 wird mit der Dirt-Maske kombiniert.
  • Base Material
    Base Color ist die Ausgabe der Blend Node weiter oben. Die Normal Map ist die Ausgabe des Height Normal Blender.
    (Metallic ist schwarz und Roughness ist weis)
    Damit ist das Material für die Verschmutzung fertig.
  • Normal to Height
    Die Normal Map aus Abschnitt 5 wird hiermit in eine Height Map umgewandelt.
  • Ambient Occlusion
    Aus der Height Map wird nun eine Ambient Occlusion Map erzeugt.
  • Curvature
    Ebenfalls aus der Normal Map aus Abschnitt 5 wird eine Curvature Map erzeugt. Diese Map enthält dann als Grauwert wie stark die Oberfläche gekrümmt ist.
  • Dirt
    Dieser Knoten ist ein Mask Generator der anhand verschiedener Daten berechnet wir sich Dreck auf dem Material ansammeln würde. Als Eingabe werden Ambient Occlusion und Curvature verbunden. Für den richtigen Effekt einfach ein bisschen mit den Einstellungen spielen bis einem das Ergebnis gefällt. Dabei auch beachten das Ambient Occlusion und Curvature auch noch Einstellungen haben mit denen man das Ergebnis beeinflussen kann.
  • Blend [2]
    Um die Verschmutzung der Fugen einstellbar zu machen wird die Maske aus der vorigen Node mit der Ausgabe von Blend [1] aus Abschnitt 2 verwendet. Dadurch kann die Dreckstärke in den Fugen abgeschwächt werden.
  • Material Blend
    Zuletzt wird das Material für Dreck noch mit der Ausgabe aus Abschnitt 5 überblendet. Als Maske dient die Ausgabe von Blend [2].

Die Ausgabe der letzten Node ist damit dann auch das fertige Material.

7. Ausgabe der Textur

brick_output

Nun bleibt nicht mehr viel zu tun, entweder speichert man das ganze Substance File einfach so ab oder man exportiert die einzelnen Maps um sie in einem anderen Programm zu verwenden.

Das Ergebnis ist eine halbwegs glaubhaft aussehende Fliesen- (oder auch Backstein-) textur.

brick_show_001

Bei Fragen oder Anregungen bitte einfach einen Kommentar hinterlassen!

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert