Die Erstellung and Bearbeitung von Standardmaterialien in Unreal Engine kann ein zeitaufwändiger Prozess sein. Um den Arbeitsablauf der Materialerstellung zu beschleunigen und zu rationalisieren, bietet Unreal Engine einen speziellen Materialtyp an, der sich Material-Instanz nennt. Dieses Tutorial demonstriert, wie du Material-Instanzen in deinen Projekten einrichtest und verwendest.
Material-Instanzierung
Die Material-Instanzierung ist eine Möglichkeit, ein Eltern-Material zu erstellen, das du als Grundlage verwenden kannst, um eine große Vielfalt von unterschiedlich aussehenden Children (Material-Instanzen) zu erzeugen.
Um diese Flexibilität zu erreichen, verwendet die Material-Instanzierung ein Konzept, das sich Vererbung nennt: die Eigenschaften des Eltern-Materials werden an seine Children übergeben. Eigenschaften, die im Eltern-Material als Parameter festgelegt sind, sind für Künstler im Material-Instanz-Editor zugänglich.
Durch die Verwendung von Material-Instanzen kannst du zahlreiche Variationen eines einzelnen Basismaterials erstellen:
Die Erstellung von Material-Instanzen ist ein zweistufiger Prozess
- Zuerst erstellst du ein parametrisiertes Material, das du als Eltern-Material für deine Instanzen verwendest.
- Erstelle im Inhaltsbrowser eine Material-Instanzkonstante. Du kannst dann das Material im Material-Instanz-Editor anpassen.
Für weitere Hintergrundinformationen zur Material-Instanzierung lies die Übersicht hier.
Erstellen eines parametrisierten Materials
Eine Material-Instanz erbt alle Attribute seines Eltern-Materials, aber nicht alle Attribute können standardmäßig im Material-Instanz-Editor angepasst werden.
Um Material-Attribute in einer Material-Instanz bearbeitbar zu machen, musst du bestimmte Attribute als Parameter festlegen, indem du Parameterknoten anstatt regulärer Materialausdrücke verwendest.
Es gibt zwei Möglichkeiten, deinem Materialdiagramm Parameterknoten hinzuzufügen:
Hinzufügen von Parameterknoten aus der Materialpalette
Wenn du in der Materialpalette oder im Kontextmenü des Material-Editors nach dem Wort Parameter suchst, findest du alle Parameterknoten, die verfügbar sind.
Du kannst diese Parameterknoten per Drag & Drop aus der Palette oder über die Auswahl im Kontextmenü deinem Materialdiagramm hinzuzufügen.
Parameter im Kontextmenü (links) und in der Materialpalette (rechts).
Shortcuts für Parameter
Zwei der am häufigsten verwendeten Materialparameter besitzen Shortcuts im Material-Editor:
- Skalarparameter – Halte die S-Taste gedrückt und klicke mit der linken Maustaste in das Materialdiagramm, um einen Skalarparameter zu platzieren. Ein Skalarparameter ist die parametrisierte Version einer Konstante und enthält einen einzelnen numerischen Wert.
- Vektorparameter – Halte die V-Taste gedrückt und klicke mit der linken Maustaste in das Materialdiagramm, um einen Vektorparameter zu platzieren. Ein Vektorparameter ist die parametrisierte Version eines Constant4Vector und enthält vier Fließkommawerte.
Verwende den Shortcut oder die Palette, um einen Skalarparameter in deinem Materialdiagramm zu platzieren:
Benenne den Parameter Rauheit und verbinde ihn mit dem entsprechenden Material-Input.
Standardwert and Wertebereich
Wenn du für den Parameter einen Standardwert festlegen oder den Wertebereich begrenzen möchtest, kannst du dies im Detail-Panel vornehmen.
Der Input „Rauheit" beispielsweise akzeptiert einen Wert zwischen 0 und 1. Um sicherzustellen, dass sich der Parameter „Rauheit" immer in seinem erwarteten Bereich befindet, legst du die Werte Schieberegler Min. und *Schieberegler Max. auf 0 und 1 fest.
Wenn du einen anderen Standardwert für „Rauheit" als 0 festlegen möchtest, dann gibst du ihn im Feld Standardwert ein
Wählen den Parameter „Rauheit" aus und drücke Strg + D, um den Knoten zu duplizieren. Benenne den zweiten Skalarparameter in Metallisch um und verbinde ihn mit dem entsprechenden Input. Dein Diagramm sollte nun wie folgt aussehen:
Konvertieren eines Knotens in einen Parameter
Du kannst innerhalb eines bestehenden Materialdiagramms auch Standard-Materialausdrücke in Parameter konvertieren.
Platziere zur Veranschaulichung einen Knoten vom Typ Constant3Vector in deinem Materialdiagramm. Dies ist ein Standard-Materialausdruck (nicht parametrisiert), der oft zum Festlegen der Basisfarbe eines Materials verwendet wird.
Um diesen Knoten in einen Parameter zu konvertieren, klickst du mit der rechten Maustaste auf den Knoten und wählst im Kontextmenü In Parameter konvertieren aus.
Denke daran, dem Parameter einen eindeutigen aussagekräftigen Namen zu geben, wie z. B. BasisFarbe. Das Namensfeld wird automatisch ausgewählt, wenn du einen Knoten konvertierst.
Du kannst die Farbe im oben gezeigten Feld Standardwert ändern oder du kannst auf den Knoten „BasisFarbe" doppelklicken, um den Farbwähler zu öffnen.
Du kannst in Unreal Engine nicht jeden Materialknoten parametrisieren, aber im Kontextmenü jedes parametrisierbaren Materialausdrucks ist die Option In Parameter konvertieren verfügbar.
Beispiel für ein parametrisiertes Material
Dein Materialdiagramm sollte nun einen Vektorparameter enthalten, der an BasisFarbe angeschlossen ist und zwei Skalarparameter, die an die Inputs „Metallisch" und „Rauheit" angeschlossen sind:
Mit diesen drei Parametern kannst du die Eigenschaften für Farbe, Rauheit und Metallisch des Materials ändern, sobald du eine Material-Instanz erstellt hast.
Klicke in der linken oberen Ecke im Material-Editor auf Anwenden, um das Material zu kompilieren und klicke dann auf Speichern
Erstellen einer Material-Instanz
Da du nun ein einfaches parametrisiertes Material hast, kannst du Material-Instanzen erstellen und sie im Material-Instanz-Editor anpassen.
Um eine Material-Instanz zu erstellen, klickst du im Inhaltsbrowser mit der rechten Maustaste auf dein Material und wählst im Menü den Eintrag Material-Instanz erstellen aus.
Deine Material-Instanz erbt ihren Namen von dem Material, das du zum Erstellen verwendet hast. Du kannst die Material-Instanz umbenennen, indem du sie auswählst und F2 drückst oder indem du einen Einfachklick im Namensfeld ausführst.
Bearbeiten einer Material-Instanz
Führe eine Doppelklick auf die Materialinstanz im Inhaltsbrowser aus, um den Materialinstanz-Editor zu öffnen.
Der Material-Instanz-Editor ist das Interface, in dem du Materialparameter anpassen kannst, um unterschiedlich aussehende Variationen deines Eltern-Materials zu erzeugen.
Eine Material-Instanz im Material-Instanz-Editor.
Überschreiben von Materialparametern
Materialparameter befinden sich Detail-Panel auf der rechten Seite des Material-Instanz-Editors. Beachte, dass diese Parameter ihre Namen von den Parameterknoten in deinem ursprünglichen Materialdiagramm beziehen.
Gehe wie folgt vor, um einen Parameter zu bearbeiten:
- Markiere das Kontrollkästchen neben dem Parameter, um ihn für die Bearbeitung zu aktivieren.
- Gib im Feld einen neuen Wert ein oder klicke mit der linken Maustaste und ziehe den Schieberegler, um den Wert nach oben und unten zu verschieben. Klicke bei Vektorparameter mit der linken Maustaste auf das Farbmuster, um den Farbwähler zu aktivieren.
- Um einen Parameter auf seinen Standardwert zurückzusetzen, klickst du auf das hier abgebildete Pfeilsymbol.
Beim Anpassen von Parametern wird die Materialvorschau im Material-Instanz-Editor und im Level in Echtzeit aktualisiert, wenn das Material gerade auf einen Actor angewendet wird.
Verwenden von Parametergruppen
Du kannst deine Parameter in Parametergruppen sortieren, um die Organisation und Lesbarkeit deiner Material-Instanzen zu verbessern.
Während das Beispiel oben mit nur drei Parametern einfach zu lesen ist, können stark parametrisierte Hauptmaterialien bei der Interaktion ineffizient sein, wenn du keine Parametergruppen verwendest.
Der nachfolgende Schieberegler zeigt eine Material-Instanz mit und ohne Gruppen an. In dem Beispiel ohne Parametergruppen erscheinen Skalarparameter in einer einzelnen nicht organisierten Liste. Die Instanz mit Parametergruppen ist ordentlich nach Materialattribut organisiert.


So werden Parametergruppen verwendet
Parametergruppen werden innerhalb des Eltern-Materials konfiguriert, nicht innerhalb der Material-Instanz. Dies wird im Detail-Panel des Material-Editors vorgenommen.
Wähle in deinem Materialdiagramm einen Materialparameterknoten aus.
Gib im Detail-Panel einen Namen im Feld Gruppe ein. Du kannst deine Gruppen nach Belieben benennen, aber ein Vorschlag ist, die Parameter nach dem Materialattribut zu gruppieren, das sie steuern.
Sobald du einem Materialparameterausdruck einen Parametergruppennamen zuordnest, erscheint der Name im Dropdown-Menü neben dem Feld „Gruppe".
Für den Rest deiner Parameter kannst du entweder neue Gruppennamen eingeben oder einen Gruppennamen aus den bestehenden Parametergruppen aus dem Dropdown-Menü auswählen.
Anordnung von Parametern innerhalb von Gruppen
Du kannst das Feld Sortierpriorität verwenden, um die Reihenfolge der in der Liste einer Gruppe angezeigten Parameter zu ändern. Standardmäßig werden alle Parameter alphabetisch aufgelistet, was zu einer ungeschickten oder ineffizienten Reihenfolge im Material-Instanz-Editor führen kann. Im Bild unten sind die Steuerelemente für die UV-Kacheln und den Versatz in der alphabetischen Auflistung unübersichtlich, aber durch die Zuweisung eines Wertes für die Sortierpriorität zu jedem Parameter wird die Übersichtlichkeit verbessert.


Um die Reihenfolge eines Parameters zu ändern, wählst du den Knoten aus und gibst im Detail-Panel im Feld Sortierpriorität einen neuen Wert ein.
Anordnung von Parametergruppen
Standardmäßig werden Parametergruppen im Material-Instanz-Editor in alphabetischer Reihenfolge angezeigt.
Es gibt zwei Möglichkeiten, die Reihenfolge deiner Parametergruppen zu ändern. Eine Lösung besteht daraus, deinen Gruppennamen einfach Nummern hinzufügen.
Das Eltern-Material „Megascans" verwendet diesen Ansatz, indem die Parametergruppen von 00 – 07 durchnummeriert sind.
Dadurch können die Parametergruppen in der gleichen Reihenfolge angezeigt werden, wie sie im Hauptmaterialknoten erscheinen.
Sortierpriorität der Gruppe
Du kannst auch die Eigenschaft Sortierpriorität der Gruppe im Detail-Panel verwenden, um die Reihenfolge deiner Parametergruppen zu ändern. Diese Eigenschaft befindet sich im Eltern-Material, nicht in der Material-Instanz.
- Hebe die Auswahl aller Knoten im Materialdiagramm auf, um auf seine Materialeigenschaften zuzugreifen.
- Erweitere im Detail-Panel den Eintrag Gruppenreihenfolge und dann Parametergruppendaten.
-
Das Array in diesem Abschnitt listet alle Parameter in deinem Material auf. Erweitere jeden Index und ändere die Sortierpriorität der Gruppe, um die Reihenfolge der Gruppen zu modifizieren.
Ändern des Eltern-Materials einer Material-Instanz
Du kannst das von einer Material-Instanz verwendete Eltern-Material im Material-Instanz-Editor einfach ändern.
Um das Eltern-Material zu ändern, öffnest du im Material-Instanz-Editor eine Material-Instanz. Suche im Detail-Panel unter dem Abschnitt Allgemein die Eigenschaft Eltern.
Verwende das Dropdown-Menü, um nach einem anderen Eltern-Material zu suchen und es auszuwählen. Du kannst auch im Inhaltsbrowser ein Material auswählen und auf die Schaltfläche Ausgewähltes Asset im Inhaltsbrowser verwenden (nach links zeigender Pfeil) klicken.
Beachte, dass wenn du das Eltern-Material änderst, dass dies das Erscheinungsbild und die Eigenschaften der Material-Instanz komplett ändern kann. Die Parameter, die du zuvor verwendet hast, sind im neuen Eltern-Element möglicherweise nicht mehr verfügbar.
Wenn du beispielsweise das Material M_Metal_Gold in der Dropdown-Liste auswählst, sind die drei Parameter, die im Beispiel M_Parameterized vorhanden waren (Rauheit, Metallisch Basisfarbe) in der Gold-Instanz nicht mehr verfügbar.
Zusammenfassung
Die Material-Instanzierung ist ein leistungsfähiges Werkzeug, das du für alle Aspekte deines Projekts verwenden kannst. Sie helfen dabei, Waffen und Requisiten abwechslungsreicher zu gestalten und den Künstlern eine bessere Nutzung der verfügbaren Materialien zu ermöglichen. Materialinstanzen können dazu beitragen, die Erstellung und Verwendung von Materialien in deinem Projekt zu rationalisieren und zu vereinheitlichen.