Materialausdrücke und Materialfunktionen sind die Bausteine, die verwendet werden, um voll funktionsfähige Materialien in Unreal Engine zu erstellen. Jeder Ausdruck oder jede Funktion ist ein eigenständiger Knoten im Materialdiagramm. Diese Knoten führen kleine Ausschnitte von HLSL-Code auf ihren Eingaben aus und geben die Ergebnisse aus.
Diese Seite demonstriert die verschiedenen Möglichkeiten, Materialausdrücke und -funktionen in Ihr Materialdiagramm einzufügen.
Materialausdrücke
Jeder Materialausdruck-Knoten enthält einen kleinen Satz von HLSL-Anweisungen, um eine ganz bestimmte Aufgabe im Material auszuführen. Materialien werden durch Kombinieren von Ausdrücken und Funktionen erstellt, um ein gewünschtes visuelles Ergebnis zu erzielen.
Wenn Sie beispielsweise die Skalierung einer Textur auf Ihrem Netz ändern möchten, können Sie einen Multiplizieren-Knoten verwenden. Durch Multiplizieren eines Konstanten-Werts mit den Texturkoordinaten eines Materials können Sie die Skalierung der Textur manipulieren.

Wenn der Multiplikationswert von 1 auf 3 geändert wird, wird die Textur dreimal statt einmal über die Oberfläche angebracht.
Dies ist ein einfaches, aber vielseitiges Stück Materiallogik. Wenn kleine Knotennetzwerke dieser Art kombiniert werden, können Sie letztendlich sehr raffinierte Oberflächeneffekte erzeugen.
Unterschiede zwischen Ausdrücken und Funktionen
Der Hauptunterschied zwischen Materialausdrücken und -funktionen besteht darin, dass Materialausdrücke direkt im Quellcode der Engine erstellt werden, während Materialfunktionen als bearbeitbare Assets im Inhaltsbrowser vorhanden sind.
Materialausdrücke
Materialausdrücke sind statische Codeteile, die nur die Aufgaben ausführen, für die sie programmiert wurden. Ein Multiplizieren-Knoten ist so programmiert, dass er zwei Werte miteinander multipliziert. Die einzige Möglichkeit, seine Nützlichkeit zu ändern, besteht darin, ihn im Quellcode zu ändern. Im vorherigen Beispiel gab es vier Materialausdrücke:
- Konstante — Enthält einen einzelnen numerischen (float) Wert.
- Multiplizieren — Multipliziert Input A und Input B und gibt das Produkt aus.
- Texturkoordinaten — Gibt die UV-Texturkoordinaten des Materials in Form eines Zweikanal-Vektorwerts aus.
- Texturbeispiel — Referenziert eine Bildtextur und gibt den/die Farbwert(e) der Textur aus.
Materialfunktionen
Materialfunktionen sind dynamischer, da Sie sie so konfigurieren können, dass sie jede Art von gewünschter Berechnung ausführen. Sie können create and edit Material Functions, ohne Änderungen am Quellcode vornehmen zu müssen.
Wenn Sie auf einen Materialfunktionsknoten doppelklicken, wird der Materialfunktions-Editor geöffnet. Innerhalb einer Materialfunktion finden Sie ein in sich geschlossenes Knotendiagramm, das aus Materialausdrücken besteht.
Eine Materialfunktion CameraDepthFade enthält das rechts abgebildete Materialdiagramm.
Materialfunktionen bieten eine Möglichkeit, komplizierte Materiallogik in einem einzigen, leicht lesbaren Knoten zu verdichten, der für mehrere Materialien verwendet werden kann. Funktionen bieten eine hervorragende Möglichkeit, sich wiederholende Materialdiagramme so zu verpacken, dass sie von anderen Teammitgliedern geteilt und wiederverwendet werden können.
Plattieren von Materialausdrücken
Es gibt vier Möglichkeiten, Materialausdrücke in das Materialdiagramm einzufügen.
- Drag and drop from the Palette
- Right-click context menu
- Drag from an input or output pin
- Keyboard shortcuts
Ziehen und Ablegen aus der Palette
Die Palette ist ein zusammenklappbares Seitenleistenfeld auf der rechten Seite des Material-Editor-Fensters. Klicken Sie auf Palette, um das Bedienfeld zu erweitern, falls es nicht sichtbar ist.
Um die Palette immer sichtbar zu halten, klicken Sie auf das Stecknadel-Symbol.
Klicken Sie erneut auf die Stecknadel, um die Palette zu lösen. Wenn sie nicht fixiert ist, wird die Palette nach jeder Aktion zusammengeklappt.
Durchsuchen der Palette
Die Palette enthält eine Liste aller in UE5 verfügbaren Materialausdrücken und -funktionen. Diese sind nach ihrem allgemeinen Zweck in Kategorien eingeteilt.
Sie können die Palette durchsuchen, indem Sie eine Suchanfrage in die Suchleiste eingeben. Der Suchfilter wird während der Eingabe schrittweise aktualisiert und hebt automatisch die beste Übereinstimmung hervor.
Im Kategorie-Menü können Sie filtern, welche Knotentypen in der Palette sichtbar sind.
- Wählen Sie Ausdrücke, um nur Materialausdrücke in der Palette anzuzeigen. Wählen Sie Funktionen, um nur Materialfunktionen anzuzeigen und Ausdrücke auszublenden.
- Alle Materialausdrücke und -funktionen sind standardmäßig sichtbar.
Einfügen von Ausdrücken und Funktionen aus der Palette
Sie können jeden Materialausdruck oder jede Funktion aus der Palette direkt in Ihr Materialdiagramm ziehen.
-
Klicken Sie mit der linken Maustaste auf den Namen eines Materialausdrucks in der Palette und ziehen Sie ihn mit gedrückter linker Maustaste in das Materialdiagramm.
-
Lassen Sie die linke Maustaste los und der Materialausdruck wird am Mauszeiger eingefügt.
Rechtsklicken auf das Kontextmenü
Sie können Ihrem Diagramm auch Materialknoten über das Rechtsklick-Menü hinzufügen. Wie die Palette enthält das Rechtsklick-Menü eine kategorisierte Liste aller Materialausdrücke und -funktionen. Das Kontextmenü hat eine Suchleiste, aber keine Möglichkeit, Ausdrücke oder Funktionen herauszufiltern.
-
Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Hintergrund des Materialdiagramms.
- Durchsuchen Sie die Kategorien oder geben Sie eine Suchanfrage in die Suchleiste ein, um einen Ausdruck oder eine Funktion zu finden.
-
Klicken Sie mit der linken Maustaste auf den Namen eines Materialausdrucks oder einer Funktion, um sie in Ihrem Diagramm zu platzieren.
Sie können auch die Eingabe-Taste drücken, um den aktuell blau hervorgehobenen Materialausdruck einzufügen. Verwenden Sie die Aufwärts- und Abwärtspfeile, um aus der Liste auszuwählen oder Ihre Suchbegriffe zu verfeinern.
Ziehen von eines Eingangs- oder Ausgangspins
Eine zweite Möglichkeit, auf das Kontextmenü zuzugreifen, besteht darin, mit der linken Maustaste zu klicken und eine Verbindung von einem beliebigen Eingangs- oder Ausgangspin auf einen vorhandenen Knoten in Ihrem Diagramm zu ziehen. Lassen Sie die linke Maustaste irgendwo im Diagramm los und das Kontextmenü erscheint. Verwenden Sie die Suchleiste oder durchsuchen Sie die Kategorien, um einen Knoten zu finden und zu spawnen. Ein Vorteil dieser Methode besteht darin, dass der Materialausdruck oder die Funktion beim Erscheinen bereits richtig verbunden ist, wodurch Sie einen Schritt sparen.
Shortcuts
Es gibt eine Reihe von Shortcuts, mit denen Sie häufig verwendete Materialausdrücke schnell einfügen können. Um einen Materialausdruck einzufügen, halten Sie einen Shortcut gedrückt und klicken mit der linken Maustaste auf eine beliebige Stelle im Materialdiagramm.
Diese Tabelle zeigt die standardmäßigen Shortcuts für Materialausdrücke.
| Shortcut-Taste | Materialausdruck |
|---|---|
| A | Add Material Expression |
| B | Bump Offset Material Expression |
| 1 | Constant Material Expression |
| 2 | Constant2Vector Material Expression |
| 3 | Constant3Vector Material Expression |
| 4 | Constant4Vector Material Expression |
| D | Divide Material Expression |
| I | If Material Expression |
| L | Linear Interpolate Material Expression |
| F | Material Function Material Expression |
| M | Multiply Expression |
| N | Normalize Expression |
| O | One Minus Expression |
| P | Panner Expression |
| E | Power Expression |
| R | Reflection Vector WS Expression |
| S | Scalar Parameter Expression |
| S | Texture Sample Expression |
| U | Texture Coordinate Expression |
| V | Vector Parameter Expression |
Sie können die Tastaturkürzel für Materialausdrücke ändern, indem Sie zu Bearbeiten > Editoreinstellungen > Shortcut > Material-Editor-Spawn-Knoten gehen.
Platzieren von Materialfunktionen
In den meisten Fällen verwenden Sie dieselben Methoden wie oben, um Materialfunktionen in Ihrem Diagramm zu platzieren. Die Palette und das Rechtsklick-Menü funktionieren für Materialfunktionen genauso wie für Ausdrücke.
Es gibt eine weitere Möglichkeit, Materialfunktionen in Ihrem Diagramm zu platzieren.
Platzieren von Materialfunktionen aus dem Inhaltsbrowser
Materialfunktionen zeichnen sich dadurch aus, dass Sie sie auch aus dem Inhaltsbrowser in Ihr Material ziehen und dort ablegen können.
Suchen Sie die Materialfunktion, die Sie verwenden möchten, im Inhaltsbrowser, klicken Sie mit der linken Maustaste und ziehen Sie das Objekt in das Materialdiagramm. Sie können auf den Inhaltsbrowser über die Inhaltsleiste unten im Material-Editor oder über das Hauptfenster des UE5-Editors zugreifen.
Um Materialfunktionen im Inhaltsbrowser zu finden, müssen Sie im Ordner Engine nachsehen, der standardmäßig nicht sichtbar ist.
Um den Ordner Engine anzuzeigen, klicken Sie auf das Symbol Einstellungen auf der rechten Seite des Inhaltsbrowsers und aktivieren Sie Engine-Inhalt anzeigen.
Materialfunktionen finden Sie im Inhaltsbrowser unter dem Pfad Alle > Engine > Inhalt > Funktionen.
Verbinden von Materialknoten
Verwenden Sie die folgenden Schritte, um zwei beliebige Knoten in Ihrem Materialdiagramm zu verbinden.
-
Klicken Sie mit der linken Maustaste und ziehen Sie einen Draht von einem Eingangs- oder Ausgangspin am ersten Knoten.
-
Lassen Sie die linke Maustaste über einem Pin am zweiten Knoten los.
Um eine Verbindung zu löschen, halten Sie die Alt-Taste gedrückt und klicken Sie auf die Verbindung zwischen zwei Knoten. Sie können auch mit der linken Maustaste auf das Kabel klicken und Löschen drücken.
Sie können einen vorhandenen Draht von einem Pin auf einen anderen verschieben. Strg+Klick auf die Verbindung, die Sie verschieben möchten, und ziehen Sie sie auf einen anderen Ein- oder Ausgang.
Zusammenfassung
Materialausdrücke und -funktionen sind die primären Bausteine von UE5-Materialien. Die Engine umfasst Hunderte von Materialknoten, von denen jeder darauf ausgelegt ist, einen bestimmten Datentyp zu speichern oder einen Satz von HLSL-Anweisungen auszuführen. Sie werden höchstwahrscheinlich feststellen, dass Sie sehr häufig eine kleine Anzahl von Knoten verwenden. Beispielsweise sind die Materialausdrücke mit keyboard shortcuts documented above alle wesentlich für die Materialerstellung in UE5.
Materialausdrücke und -funktionen haben normalerweise QuickInfos, um ihren Zweck zusammenzufassen, und die meisten sind auf den Referenzseiten zu Materialien dokumentiert.
Da Materialausdrücke oft reiner HLSL-Code sind, können Sie die technischen Hintergrundinformationen auch auf der offiziellen Microsoft HLSL documentation nachlesen.