-
Gesamte Inhalte
2.040 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
145
Zer0Cool's Achievements
Advanced Member (3/3)
416
Ansehen in der Community
Einzelstatus Update
Zeige alle Updates von Zer0Cool
-
Ich habe heute weiter an meinem Overlayshader gearbeitet und einen kleinen Helfer programmiert, womit man innerhalb der Sceneview direkt auf einen Mesh eine Maske malen kann. Das Ganze ist ein Editorskript welches in eine Textur zeichnet und diese Textur wird dann an meinen Overlayshader übergeben.
Der Overlayshader stellt die Textur über einen seiner Slots dar. Über dieses Tool soll man dann im Szeneview eine Maskentextur erzeugen können, um Overlays an bestimmten Stellen ein- und auszublenden zu können:
Video:
https://streamable.com/9rys8
https://streamable.com/sb5wf
Mit dem im Video gezeigten Tool direkt auf den Mesh gemalt:
Der Overlayshader selbst kann mehrere Overlaytexturen auf einer Haupttextur abbilden. Dabei kann sowohl die UV0 als auch die UV1 (Lightmap UV) verwendet werden. Das Overlay kann dabei "Linear" oder "Additive" eingeblendet werden, hat ein eigenes Tiling/Offset und eine eigene Normaltextur. Das Prinzip ist ähnlich wie die Detail Albedo des Standardshaders (und seiner Detailmask) nur das man eben mehrere Overlays verwenden kann, die Stärke der Overlays bestimmen kann (Opacity) und den Overlaymode frei wählen kann. Ansonsten entspricht der Overlayshader dem Standardshader (PBS Surfaceshader).
Zudem habe ich den Overlayshader nun noch um Vertexfarben erweitert. Damit kann man nun anhand der Vertexfarben ebenfalls die Overlays Ein- und Aus- oder Überblenden
Overlayshader:
Definition einer Kante anhand von Vertexfarben (= schwarze Streifen) an der die Overlays ausgeblendet werden sollen:
Ergebnis (ausgeblendetes Overlay im Bereich der Kante):
Mal ein Beispielbild einer kompletten Wand die mit 2 Overlays "verziert" wurde:
Bilder (c) by Kojote-
Ich habe den Mask Painter heute weiter verfeinert, hier einmal ein typischer Anwendungsfall. Man hat eine Overlaytextur auf einer Wand und möchte bestimmte Bereiche dieses Overlays ausblenden. Über den Painter wählt man aus, ob man UV0 oder UV1 des Meshes verwenden möchte (und noch andere EInstellungen) und malt drauf los. Der Painter erzeugt beim Malen eine Textur und legt sie zur Visualisierung als Overlay auf den Overlayshader des aktuellen Wand-Materials. Ist man fertig, wird die erzeugte Textur als PNG gespeichert (und der Alpha invertiert). Zum Schluss verwendet man die so erzeugte Textur nun als Maske im Overlayshader (Material) des Meshes.
VIdeo:
https://streamable.com/jzhwa
-