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 AbstandZurNächstenOberfläche-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ättigen-Knoten
OneMinus-Knoten
Zeit-Knoten
Sinus-Knoten
Hinzufügen Knoten
VertexNormalWS-Knoten
Maske-Knoten
3 X Multiplizieren-Knoten
Ziehe den DistancetoNearestSurface-Knoten ab und verbinde ihn mit dem Standard-Input des ShadingPathSwitch-Knoten.
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ättigen-Knoten. Dadurch ist die Farbe des Meshs gesättigt.
Ziehe den Sättigen-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äusel-Effekt
Erstelle jetzt die zweite Konfiguration des reaktiven Materials:
Ziehe den Zeit-Knoten ab und verbinde ihn mit dem B-Input des Hinzufügen-Knoten.
Ziehe den Hinzufügen-Knoten ab und verbinde ihn mit dem Sinus-Knoten.
Ziehe den Sinus-Knoten ab und verbinde ihn mit dem ersten B-Input des multiplizieren-Knoten.
Wähle den Sinus-Knoten aus, erweitere ihn und ändere den Period-Wert zu 0,2.
Ziehe den OneMinus-Knoten ab und verbinde ihn mit dem ersten A-Input des Multiplizieren-Knoten.
Ziehe den ersten Multiplizieren-Knoten ab und stecke ihn in den Grundfarbe-Input auf dem Materialstammknoten. 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.
Umhüllungs-Effekt
Erstelle jetzt die dritte Konfiguration des reaktiven Materials:
Ziehe den OneMinus-Knoten und verbinde ihn mit dem Basisfarbe-Inputs des Materialstammknotens. Dadurch wird die Verbindung zwischen dem ersten Multiplizieren-Knoten und dem Materialstammknoten aufgehoben.
Ziehe den VertexNormalWS-Knoten ab und verbinde ihn mit dem Maske-Knoten.
Ziehe den Maske-Knoten ab und verbinde ihn mit dem A-Input auf dem zweiten Multiplizieren-Knoten.
Wähle den zweiten Multiplizieren-Knoten aus, erweitere ihn und ändere den Wert des B-Inputs zu 50,0.
Ziehe den zweiten Multiplizieren-Knoten ab und verbinde ihn mit dem B-Input des dritten Multiplizieren-Knotens.
Ziehe den OneMinus-Knoten der ersten Konfiguration ab 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 auf das Mesh angewendet, ändert sich auch die Form des Meshs. Wenn das Mesh näher zum Auto bewegt wird, bewirkt das Material, dass das Mesh sich um das Fahrzeug legt.