Ein interaktives Material in einem Mesh reagiert, wenn dieses ein anderes Mesh schneidet oder sich nahe bei einem anderen Mesh befindet. Dieser Effekt wird mit einem Abstandsfeld erzielt.
Nachstehend findest du drei Methoden, ein reaktives Material zu erstellen:
-
Verwenden des Abstands zum Erstellen einer Maske, welche die Farbe eines Meshs ändert,
-
Verwenden einer Sinuskurve zum Erzeugen von Kräuseln in der Oberfläche des Mesh, wo sich zwei Meshs schneiden,
-
Verwenden einer Vektormaske, um die Mesh-Oberfläche zu einem nahen anderen Mesh zu ziehen und über das schneidende Mesh zu legen.
Der DistancetoNearestSurface-Knoten funktioniert nur bei Plattformen mit aktivierten Abstandsfeldern. Daher funktioniert das Material bei PCs mit geringer Leistung und Mobilgeräten möglicherweise nicht wie vorgesehen, weil die Berechnung von Abstandsfeldern oft entweder aufgrund von hochauflösenden Feldern eine Leistungsengstelle oder aufgrund von degenerierten Input-Meshs eine praktisch unmögliche Aufgabe ist.
Verwende daher ShadingPathSwitch, damit die Shader von DistancetoNearestSurface bei mobilen Plattformen und PCs mit geringer Leistung wie konfiguriert funktionieren.
Beginne, indem du ein Material erstellst, das die Farbe ändert, wenn es sich mit einem anderen Mesh schneidet:
-
Erstelle ein neues Material im Inhaltsbrowser und doppelklicke auf die Material-Miniaturansicht, um den Material-Editor zu öffnen.
-
Erstelle folgende Knoten:
-
DistancetoNearestSurface-Knoten
-
ShadingPathSwitch-Knoten
-
Teilen-Knoten
-
Sättigung-Knoten
-
OneMinus-Knoten
-
Zeit-Knoten
-
Sinus-Knoten
-
Addieren-Knoten
-
VertexNormalWS-Knoten
-
Maskieren-Knoten
-
3 Multiplizieren-Knoten
-
-
Ziehe den DistancetoNearestSurface-Knoten und verbinde ihn mit dem Standard-Input des ShadingPathSwitch-Knotens.
-
Wähle den Teilen-Knoten aus und ändere den ConstB-Input-Wert zu 50,0. Dadurch wird der Abstand zwischen Objekten bestimmt, in dem die Effekte stattfinden.
-
Ziehe den Teilen-Knoten und verbinde ihn mit dem Mobil-Input des ShadingPathSwitch. So ist gewährleistet, dass die Schattierungsmaske auf allen Plattformen ordnungsgemäß funktioniert.
-
Ziehe den ShadingPathSwitch-Knoten und verbinde ihn mit demSättigung-Knoten. Dadurch ist die Farbe des Meshs gesättigt.
-
Ziehe den Sättigung-Knoten und verbinde ihn mit dem OneMinus-Knoten. Dies kehrt die Shader auf dem Mesh um.
-
Ziehe den OneMinus-Knoten und verbinde ihn mit dem Basisfarbe-Inputs des Materialstammknotens.
So wird die Basis der Abstandsfeld-Konfiguration mit einer mathematischen Repräsentation des Abstands zwischen Objekten erzeugt. Die Shader erzeugen einen Maskierungseffekt auf dem Mesh. Teste dies bei einem Mesh, indem du eine Überschneidung mit einem anderen Mesh erzeugst, um zu sehen, wie das Material reagiert.

Beachte, wie das Material bei zunehmender Nähe eine Linie um die Kontur des Autos erzeugt.
Kräuseleffekt
Erstelle jetzt die zweite Konfiguration des reaktiven Materials:
-
Ziehe den Zeit-Knoten und verbinde ihn mit dem B-Input des Addieren-Knotens.
-
Ziehe den Addieren-Knoten und verbinde ihn mit dem Sinus-Knoten.
-
Ziehe den Sinus-Knoten und verbinde ihn mit dem B-Input des ersten Multiplizieren-Knotens.
-
Wähle den Sinus-Knoten aus, erweitere ihn und ändere den Period-Wert zu 0,2.
-
Ziehe den OneMinus-Knoten und verbinde ihn mit dem A-Input des ersten *Multiplizieren**-Knotens.
-
Ziehe den ersten Multiplizieren-Knoten und verbinde ihn mit dem Basisfarbe-Input des Materialstammknotens. Dadurch wird die Verbindung zwischen OneMinus-Knoten und Materialstammknoten aufgehoben.
Diese Konfiguration wendet Farbe auf das Mesh an, das nun reaktiv ist, und nutzt dazu die vorige Konfiguration des Abstandsfelds. Das Material interagiert mit der Umgebung und den Meshs um es herum. Wenn das Mesh sich mit anderen Meshs schneidet, bewirkt das Material Kräusel entlang der Oberfläche.

Diese Konfiguration wird allgemein verwendet, um Wasser zu erstellen.
Hüll-Effekt
Erstelle jetzt die dritte Konfiguration des reaktiven Materials:
-
Ziehe den OneMinus-Knoten und verbinde ihn mit dem Basisfarbe-Input des Materialstammknotens. Dadurch wird die Verbindung zwischen dem ersten Multiplizieren-Knoten und dem Materialstammknoten aufgehoben.
-
Ziehe den VertextNormalWS-Knoten und verbinde ihn mit dem Maskieren-Knoten.
-
Ziehe den Maskieren-Knoten und verbinde ihn mit dem A-Input des zweiten Multiplizieren-Knotens.
-
Wähle den zweiten Multiplizieren-Knoten aus, erweitere ihn und ändere den Wert des B-Inputs zu 50,0.
-
Ziehe den zweiten Multiplizieren-Knoten und verbinde ihn mit dem B-Input des dritten Multiplizieren-Knotens.
-
Ziehe den OneMinus-Knoten der ersten Konfiguration und verbinde ihn mit dem A-Input des dritten Multiplizieren-Knotens.
-
Ziehe den dritten Multiplizieren-Knoten und verbinde ihn mit dem Weltpositionversatz-Input des Materialstammknotens.

So sollte die zweite Konfiguration aussehen.

Beachte, wie sich das Material im Vorschaufenster ändert und nun dornig aussieht. Wenn dies auf das Mesh angewendet wird, ändert sich auch die Form des Mesh. Wenn das Mesh näher zum Auto bewegt wird, bewirkt das Material, dass das Mesh sich um das Fahrzeug legt.
