Diese Tutorial nutzt den lokalen Raumwert eines Materials statt seiner absoluten Weltposition, um den Schneidepunkt zu bestimmen.
Erstelle einen Schneide-Effekt, indem du zuerst ein emissives Knoten-Diagramm einrichtest, um ein solides Material zu erschaffen. Nutze dann den lokalen Raum des Meshs und eine Materialfunktion, um zu bestimmen, wo der Schnitt auf dem Mesh stattfinden soll.
Emittierendes Knotendiagramm erstellen
Wähle den Materialstammknoten aus und aktiviere die Option Zweiseitig im Panel Details aus.
Öffne das Dropdown-Menü Überblendmodus und wähle Maskiert.
Füge deinem kopierten Material die folgenden Knoten hinzu, indem du mit der rechten Maustaste auf das Knotendiagramm klickst und nach dem angegebenen Namen suchst:
3 X Konstanten Knoten
2 X Constant 3Vector Expression-Knoten
2 X Klammer Knoten
Append3Vector Knoten
WeltPosition Knoten
Subtrahieren Knoten
Skalarprodukt Knoten
Multiplizieren Knoten
Linearer Interpolations Knoten
TwoSidedSign-Knoten
Mach einen Doppelklick auf den ersten Knoten Constant3Vector und füge dem Material eine äußere Farbe hinzu.
Ziehe den weißen Pin vom ersten Constant3Vector Knoten ab und stecke ihn in den Grundfarbe-Eingabe auf dem Materialstammknoten.
Ziehe den Pin des ersten Konstante-Knoten ab und verbinde ihn mit dem Rauheit-Input des Materialstammknotens, und ändere dann den Wert auf 0,75.
Diese Konfiguration erzeugt beim Objekt, dem das Material zugewiesen wird, die Basisfarbe und die Materialantwort auf Licht. Mit der nächsten Konfiguration wird ein Strahler erstellt, welcher das Innere des Meshs massiv erscheinen lässt.
Ziehe den TwoSidedSign-Knoten ab und verbinde ihn mit dem Klammer-Knoten. Ziehe dann den Klammer-Knoten ab und verbinde ihn mit dem Alpha-Input am Lineare Interpolation-Knoten.
Doppelklicke auf den zweiten Constant3vector Knoten und füge eine Farbe für das Innere des Mesh hinzu. Ziehe dann den weißen Pin des Constant3Vector Knotens und verbinde ihn mit dem A-Eingang des Lerp Knotens.
Wähle den Lerp Knoten aus und setze den B-Eingang Wert auf 0,0.
Ziehe den Lerp Knoten ab und verbinde ihn mit dem A-Eingang des Multiplizieren Knoten.
Wähle den multiplizieren Knoten aus und ändere den B-Eingang Wert auf 0,3.
Ziehe den Knoten Multiplizieren ab und verbinde ihn mit dem Emissionsfarbeingang auf dem Materialstammknoten.
Das emissive Knotendiagramm ist vollständig.
Ort-Diagramm
Als Nächstes erstellst du das Positionsdiagramm, das auf die Mesh-Position abzielt, um die Teile des Meshs aus dem Projekt zu entfernen.
Du kannst einen Knoten kopieren, der bereits das Emissionsdiagramm verwendet, und den Teil des Graphen löschen, den du nicht brauchst, und dann die notwendige Knotenkonfiguration hinzufügen, um den Effekt zu erzeugen.
Indem du auf die Ortsdaten des Meshs zielst, kannst du das Material nutzen, um Teile des Meshs verschwinden zu lassen. Dieser Effekt kann auch genutzt werden, um eine Animation zu erstellen.
Erstelle einen Materialfunktionsknoten, indem du mit der rechten Maustaste in den Material-Editor klickst und Funktionen in die Suchleiste eingibst. Wähle die Option MaterialFunctionCall. Der Knoten Unspezifizierte Funktion erscheint im Material-Editor.
Du kannst nicht nach einer bestimmten Materialfunktion im Materialeditor suchen, sondern musst stattdessen einen nicht spezifizierten Materialfunktionsknoten anlegen und ihm eine Funktion zuweisen.
Wähle den Knoten „Unspecified Function“ und weise im Details-Panel die Materialfunktion Local Position aus dem Dropdown-Menü Materialfunktion zu. Der LocalPosition-Materialfunktionsknoten erscheint automatisch im Material-Editor.
Erstelle einen zweiten Unspecified Function-Knoten und weise dem Knoten die ObjectLocalBounds-Funktion zu.
Erstelle eine neue Material Instance und öffne sie.
Wähle den Main Material-Knoten und ändere die Einstellung Überblendmodus zu Maskiert.
Füge dem Material-Editor die folgenden Knoten hinzu:
Teilen-Knoten
Constant3Vector-Knoten
ComponentMask-Knoten
Klammer Knoten
2 X Konstanten Knoten
2 X Subtrahieren Knoten
Wähle den Constant3Vector-Knoten und doppelklicke den Knoten, um eine Farbe hinzuzufügen.
Ziehe den weißen Output-Pin vom Constant3Vector-Knoten ab und verbinde ihn mit dem Basisfarbe-Input am Main Material-Knoten.
Wähle den Konstante-Knoten aus und ändere den Wert zu 0,75.
Ziehe den Konstante-Knoten ab und verbinde ihn mit dem Rauheit-Input am Main Material-Knoten.
Ziehe den Lokale Instanzposition-Pin des Local Position-Knotens und verbinde ihn mit dem A-Input des Teilen-Knotens.
Ziehe den Pin Größe der lokalen Grenzen vom ObjectLocalBounds-Knoten ab und verbinde ihn mit dem B-Input des Teilen-Knotens.
Ziehe den Teilen-Knoten ab und verbinde ihn mit dem B-Input des ersten Subtrahieren-Knotens.
Ändere den Wert A-Input des Subtrahieren-Knotens zu 1,0.
Ziehe den ersten Subtrahieren-Knoten ab und verbinde ihn mit dem Maske-Knoten.
Ziehe den Maske-Knoten ab und verbinde ihn mit dem A-Input auf dem zweiten Subtrahieren-Knoten.
Wähle den zweiten Konstante-Knoten aus und ändere den Wert zu 0,1.
Ziehe den Konstante-Knoten ab und verbinde ihn mit dem B-Input des zweiten Subtrahieren-Knotens.
Ziehe das zweite Subtrahieren ab und verbinde es mit dem weißen Input des Klammer-Knotens.
Ändere den maximalen Wert für Klammer-Knoten auf 1,0:
Wähle den Materialstammknoten aus und ändere den Blend Mode-Wert im Details-Panel zu Masked. Die Opazitätsmaske-Option wird auf dem Hauptstammknoten verfügbar.
Ziehe den Klammer-Knoten ab und verbinde ihn mit der Durchsichtigkeitsmaske auf dem Material root-Knoten.
Diese Konfiguration solltest du erzielt haben, wenn die Knoten verbunden werden.
Wenn du den A-Input-Wert des ersten Subtrahieren-Knotens änderst, änderst du das Aussehen des Meshs.
Hiermit wird die lokale Position des Objekts (Gradient in X/Y/Z mit allem links/unter/hinter der Objektmitte negativ, und allem rechts/über/vor der Objektmitte positiv) abgerufen. Diese Werte werden vom Weltmaßstab des Objekts bestimmt.
Zum Normalisieren der Werte (Beispiel: Einfügen in den Bereich [0, 1]) werden sie durch ihre maximale Ausdehnung (nach Objektgrenzen) geteilt. Der 1-B-Input kehrt die Richtung des Gradienten um, sodass die Werte rechts/oben/vorne geringer als die links/unten/hinten sind.
Der ComponentMask-Knoten ist eine Alternative zum DotProduct-Knoten mit dem Blau-Kanal – er gibt das gleiche Ergebnis aus. Du kannst dann den Clipping-Wert subtrahieren – eine der Konstanten, die in einen Parameter konvertiert werden wie oben (im Bereich 0, 1) – und alle negativen Werte abklemmen, bevor du ihn in den Opazitäts-Slot schreibst.