Hier möchte ich ein recht einfaches, aber doch flexibles Grundmaterial, ein wenig für Metalle optimiert, vorstellen.
Um eins vorweg zu nehmen. Das Grundmaterial besteht quasi aus 5 Bereichen die wir ansprechen müssen. Base Color, Matallic, Specular, Roughness und Normalmap. Einige Bereiche sind vom Aufbau her sehr ähnlich, einige sogar identisch. Warum kann man diese Bereiche nicht einfach an verschiedene Ausgangsnodes heften oder in eine Funktion packen und diese dann halt im Material einfügen?
Das ist ganz einfach. Parameter die den gleichen Namen im Material haben, die werden auch zusammengefasst in der Instanz geändert. Sprich, wenn wir die Basecolor ändern würden, dann würden wir mit derselben Textur und Parametern auch den Bereich Metallic zum Beispiel ändern. Und das wollen wir ja nicht, weil macht keinen Sinn.
Für das Beispiel stelle ich auch gerne meine Missing Textur zur Verfügung. Glaubt mir, sie fällt auf wenn ihr etwas übersehen haben solltet.
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11985-t-missing-png/]
Ich werde die benötigten Nodes nach einem Screenshot tabellarisch aufführen, wegen der Übersicht, und welche Einstellungen ich daran vorgenommen habe. Ich hoffe, dass das dann so OK ist und vielleicht etwas zum Verständnis beiträgt. Die Einstellungen findet ihr unter den Details der jeweiligen Node.
Fangen wir also mal an und erstellen einfach mal ein Material. Dieses nennen wir Mat_Basemetall, oder wie auch immer ihr es wünscht. Es ist ein ganz normales Material, an ihm müssen keine weiteren Einstellungen in den Parametern vorgenommen werden.
Kümmern wir uns um den ersten Teil. Die Basecolor. Sie sollte folgende Nodes enthalten.
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11984-01-base-png/]
Das Ganze wird verbunden wie auf dem Screenshot und das Ende vom Multiply geht auf Bascolor.
Als Nächstes gehen wir auf die Metallicparameter wie folgt.
unrealengine4.de/index.php?attachment/11971/
Sieht eigentlich genau so aus wie bei Basecolor, nur halt mit anderen Namen (Sehr wichtig)
Hier geht das Ende von Multiply halt in Metallic.
Als Nächstes kümmern wir uns um Specular. Specular ist ebenfalls sehr ähnlich im Aufbau. Allerdings ist Multiply hier vor dem Switch, weil es macht nur Sinn hier etwas zu verstärken, wenn eine Textur benutzt wird. Und wir brauchen keinen Vectorparameter, da Specular nur mit Grauwerten arbeitet. Wenn wir Vector nehmen würden, dann müssten wir ständig die ersten 3 Werte ändern, so reicht halt ein Parameter.
unrealengine4.de/index.php?attachment/11979/
Hier kommt der Ausgang von Switch natürlich in Specular.
Kommen wir zu Roughness.
unrealengine4.de/index.php?attachment/11973/
Und wen wundert es. Das Ergebnis geht in Roughness.
Zum guten Schluss kommt noch Normalmap hinzu. Normalmap ist relativ einfach, weil es macht nur mit Texture sinn. Also kann man hier einstellen ob eine Normalmap vorhanden ist oder nicht.
unrealengine4.de/index.php?attachment/11983/
Und, oh Wunder, das Ergebnis wird an den Ausgang Normalmap geliefert.
Nun wird das ganze gespeichert und mit Apply übernommen. Wenn alles richtig verbinden wurde braucht ihr nicht mehr an dieses Material ran. Ihr könnt sämtliche Metalle per Instanz erstellen. Höchstens wenn ihr noch etwas ganz besonderes einfügen wollt, dann vielleicht.
Nun zur Verwendung des Materials. Wenn wir ein Metall erstellen wollen legen wir von diesem Grundmaterial einfach eine Instanz an.
Nehmen wir einfach mal Silber. Also erstellen wir eine Instanz mit dem Namen Silver_Inst aus dem Grundmaterial.
Hierfür habe ich mir dann einfach noch ein paar Schrammen erstellt, soll ja nicht so Aalglatt aussehen. [Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11986-t-scratches-png/]
Wenn wir nun die Instanz öffnen kriegen wir folgendes zu sehen. Ich mache es mir hier ein wenig einfach, weil da kann jeder selbst seine Experimente starten. Es sollen ja nur Beispiele sein.
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11987-silversample-png/]
Bei diesen Einstellung sieht das Ergebnis so aus...
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11988-silver-png/&thumbnail=1]
Gold zum Beispiel könnte so aussehen.
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11990-goldsample-png/]
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11989-gold-png/&thumbnail=1]
Und Kupfer wäre etwas komplexer und bräuchte drei zusätzliche Texturen
Basecolor
Metallic
Roughness
In der Instanz würde man es in etwa so einstellen...
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11995-coppersample-png/]
[Blockierte Grafik: https://unrealengine4.de/index.php?attachment/11994-copper-png/&thumbnail=1]
Kommentare