Das MaterialX-Format ist eine Open-Source-Interchange-Methode, die 2012 von Industrial Light & Magic entwickelt wurde. Es ist eine Software-agnostische Methode zur Beschreibung von Mustern, Texturen, Shader-Netzwerken und deren geometrischen Zuweisungen. Unreal Engine (UE) unterstützt MaterialX im Interchange Framework mit den folgenden Standards:
- Standard-Oberflächenschattierungsmodell entwickelt von Autodesk.
- Universal Szene Beschreibung (USD)-Workflows mit dem von Pixar entwickelten USD-Vorschau-Oberflächen-Schattierungsmodells.
- OpenPBR-Schattierungsmodell spezifiziert von Adobe und Autodesk.
Standardmäßig verwenden OpenPBR-Materialien Standard-Oberflächen-Shader. Die Verwendung von Substrate-Materialien kann zu einer besseren Materialwiedergabetreue führen, da sowohl undurchsichtige als auch durchscheinende Materialien unterstützt werden. Diese Funktion ist derzeit experimentell.
MaterialX-Datei importieren
Um MaterialX-Dateien in Unreal Engine zu importieren, verwenden Sie den Standard-Interchange-Importier-Vorgang.
Importieren einer MaterialX-Datei in das Level.
Der Interchange-Importvorgang importiert die Bilddaten und erstellt automatisch die passende Anzahl an Materialien.
MaterialX-Import-Einstellungen bearbeiten
Sie können die MaterialX-Import-Einstellungen anpassen:
- Jederzeit im Projekt-Einstellungen-Editor der Unreal Engine.
- Zum Zeitpunkt des Imports im Fenster „Interchange Pipeline Configuration“.
Weitere Informationen zur Anpassung der Einstellungen im Fenster „Interchange Pipeline Configuration“ finden Sie unter Interchange Import-Referenz.
Die Einstellungen für den MaterialX-Import finden Sie unter Project Settings > Interchange MaterialX:
MaterialX-Projekteinstellungen
| Option | Beschreibung |
|---|---|
| Standard Surface | Definiert die Materialfunktion beim Verschieben von Daten für den Standard-Oberflächen-Shader von Autodesk. |
| Standard Surface Transmission | Definiert die Materialfunktion, die bei der Umsetzung von Standard-Oberflächendaten für Transluzenz verwendet werden soll. |
| Surface Unlit | Definiert die Materialfunktion, die bei der Umwandlung von Standard-Oberflächendaten für unbeleuchtete Oberflächen verwendet werden soll. |
| USD Preview Surface | Definiert die Materialfunktion beim Verschieben von Daten für den Oberflächen-Shader von USD. |
| OpenPBR Surface | Definiert die Materialfunktion, die beim Übersetzen von Daten für OpenPBR-Oberflächen-Shader verwendet werden soll. |
| OpenPBR Surface Transmission | Definiert die Materialfunktion, die bei der Übersetzung von OpenPBR-Oberflächendaten für Transluzenz zu verwenden ist. |
Der Importvorgang verschiebt MaterialX-Definitionen in Unreal-Shader-Knoten, indem die folgenden Materialfunktionen verwendet werden:
MX_StandardSurfaceMX_TransmissionSurfaceMX_SurfaceUnlitMX_USDPreviewSurfaceMX_SurfaceMX_OpenPBR_OpaqueMX_OpenPBR_TranslucentMX_Substrate-StandardSurface-OpaqueMX_Substrate-StandardSurface-TranslucentMX_Substrate_OpenPBR_OpaqueMX_Substrate_OpenPBR_Translucent
Wenn die importierten Daten ein nicht unterstütztes Shader-Modell verwenden, versucht Unreal, ein Shader-Diagramm mit der MX_Surface und anderen unterstützten Material-Funktionen zu generieren.
Diese Materialien finden Sie in folgenden Unreal Engine-Verzeichnissen:
Engine/Plugins/InterchangeFrameworkContent/FunctionsEngine/Plugins/InterchangeFrameworkContent/SubstrateEngine/Content/Functions/Substrate
Es wird nicht empfohlen, die Standard-Materialfunktionen der Engine zu bearbeiten. Falls Sie diese Funktionen anpassen müssen, befolgen Sie diese Schritte:
- Erstellen Sie eine Kopie der Materialfunktion, die Sie bearbeiten möchten, und verschieben Sie diese neue Funktion in den Content-Ordner Ihres Projekts.
- Nehmen Sie Änderungen an der Materialfunktion vor und speichern Sie.
- Wählen Sie die neue Materialfunktion unter Projekt-Einstellungen > Interchange MaterialX aus.