Der Material Editor ist das node-basierte, visuelle Shader-Authoring-Werkzeug von Unreal Engine 5, das physikalisch-basierte Materialien (PBR) für alle Oberflächen einer UE5-Szene – von einfachem Stein bis zu komplexem Wasser oder menschlicher Haut – ohne direktes HLSL-Coding ermöglicht.
Was ist der Material Editor?
In Unreal Engine 5 definiert ein Material, wie eine Oberfläche aussieht: Farbe, Rauigkeit, Reflektivität, Transparenz, Eigenleuchten und viele weitere Eigenschaften. Der Material Editor ist das dedizierte Tool, das Künstlern und Technical Artists die Erstellung dieser Materialien über einen visuellen Graphen erlaubt, ohne direkt HLSL (High Level Shading Language) schreiben zu müssen – obwohl Custom-HLSL-Nodes für Experten verfügbar sind.
Das System basiert auf dem Physically Based Rendering (PBR)-Paradigma, das seit der Einführung bei Epic Games (UE4, 2012) den Industriestandard für Echtzeit-Grafik definiert und später auch in der Filmindustrie (Arnold, V-Ray, Cycles) Einzug gehalten hat.
Erklärung
Das PBR-Modell in UE5
UE5s Standard-Shading-Modell (DefaultLit) basiert auf dem GGX/Cook-Torrance Microfacet-Modell und verwendet folgende Haupteingaben:
Base Color (Albedo): Die diffuse Grundfarbe der Oberfläche als RGB-Wert oder Textur. Keine Beleuchtungsinformationen – nur der intrinsische Farbwert.
Metallic: Definiert, ob eine Oberfläche metallisch (1.0) oder dielektrisch/nicht-metallisch (0.0) ist. Metallische Oberflächen haben keine diffuse Reflexion; stattdessen ist die Spiegelung gefärbt nach Base Color.
Roughness: Kontrolliert die Mikrostruktur der Oberfläche. 0 = perfekter Spiegel; 1 = vollständig matte, diffuse Oberfläche. Beeinflusst direkt den Glanzlichtkegel (GGX-Lobe-Breite).
Specular: Skaliert die Fresnel-Reflexion für nicht-metallische Materialien. Standard: 0.5 (entspricht 4 % normaler Fresnel-Reflexion).
Normal: Eine Tangent-Space-Normal-Map, die per-Pixel die Oberflächennormale verändert und so Mikro-Oberflächendetails simuliert ohne die tatsächliche Geometrie zu erhöhen.
Emissive Color: Eigenleuchten der Oberfläche als HDR-Farbe. Interagiert mit Lumen für globale Beleuchtungseffekte.
Opacity / Opacity Mask: Kontrolliert Transparenz für Blend- bzw. Masked-Materialien.
Ambient Occlusion: Baked AO-Information aus externen Tools (Substance, Blender) zur Vertiefung von Kontaktschatten.
Shading Models
Neben dem Standard DefaultLit bietet UE5 spezialisierte Shading-Modelle:
- Subsurface / Preintegrated Skin: Für organische Oberflächen wie Haut, Wachs, Marmor – simuliert Lichtstreuung im Material
- Clear Coat: Für Lackoberflächen mit transparenter Schutzschicht über farbiger Basis (z. B. Autolack)
- Two Sided Foliage: Für Blätter mit Lichtdurchscheinen
- Hair: Spezialisiertes Shading für Groom-Haarsträhnen mit Kajiya-Kay-Modell
- Eye: Optimiertes Modell für realistische Augendarstellung (genutzt von MetaHumans)
- Unlit: Keine Beleuchtung; Material erscheint immer mit voller Emissiv-Farbe (nützlich für UI, Skyboxen)
- Single Layer Water: Physikalisches Wasser-Shading (Absorption, Streuung, Refraktion) – genutzt vom Water System
Material-Instanzen
Ein zentrales Workflow-Konzept ist die Material-Instanz: Ein Master Material (Parent) definiert den Shader-Graphen einmalig und exponiert Parameter (Material Parameter Collections). Eine Material Instance ist eine Kindversion, die nur diese Parameter überschreibt – ohne den Shader neu zu kompilieren.
Vorteile:
- Shader-Compilierung nur einmal beim Parent nötig
- Instanzen sind in Sekunden erstellt und geändert
- Über Dynamic Material Instances können Parameter zur Laufzeit per Blueprint geändert werden (z. B. Farbwechsel eines Fahrzeugs)
Material Functions
Material Functions sind wiederverwendbare Sub-Graphen, die eine bestimmte Berechnung kapseln (z. B. Triplanar-Mapping, Lerp-Texturen nach Steigungswinkel). Sie können in beliebigen Materialien aufgerufen werden, ähnlich wie Funktionen in einer Programmiersprache.
Epic bietet eine umfangreiche Standard-Bibliothek an Material Functions für häufige Aufgaben.
Beispiele
- Stein-Material mit Triplanar-Mapping: Base Color, Roughness und Normal aus einer Textur; Triplanar-Mapping verhindert sichtbare UV-Streckung bei organischen Formen; Lerp basierend auf AO zwischen sauberem und verwittertem Zustand
- Glas mit Refraktion: Translucent-Blend-Mode, Refraction-Input für physikalische Lichtbrechung, Fresnel-basierte Reflektivität
- Lava: Emissive Color animiert über Time-Node und einem Panning-Noise, kombiniert mit Roughness-Variation
- Wasser-Master-Material: Normal-Blending mehrerer animierter Normal-Maps für Wellen, Foam-Masken basierend auf Tiefe, Subsurface-Scattering für Lichtdurchdringung
- Charakterhaut: Subsurface-Shading-Modell, mehrschichtige Normal-Map (Makro-Falten + Mikro-Poren), Cavity-Map für Tiefe
In der Praxis
Einfaches PBR-Material erstellen:
- Content Browser → Rechtsklick → Material → Material öffnen
- Im Graph: Texture Sample für Base Color, Roughness und Normal hinzufügen (Taste T + Klick)
- Pins verkabeln: Base Color → Base Color-Input des Material-Output-Nodes
- Shading Model auf DefaultLit lassen
- Material speichern → Automatische HLSL-Kompilierung startet
- In einer Material-Instanz: Rechtsklick auf Material → Create Material Instance
Textur-Sets aus Quixel/Substance importieren: Quixel Bridge (in UE5 integriert) exportiert Megascans-Texturen direkt als vorkonfigurierte Material-Instanzen. Substance Painter exportiert Textur-Sets (BaseColor, Normal, ORM) direkt für UE5-PBR.
Custom HLSL
Für fortgeschrittene Effekte, die der visuelle Editor nicht abdeckt, bietet die Custom HLSL-Node direkten Zugriff auf HLSL-Code:
``hlsl // Beispiel: Checker-Muster in Custom HLSL float2 CheckerCoord = floor(UV * Scale); return fmod(CheckerCoord.x + CheckerCoord.y, 2.0); ``
Vergleich & Abgrenzung
UE5 Material Editor vs. Adobe Substance 3D Painter: Substance ist ein Textur-Paint-Tool; der UE5 Material Editor ist ein Shader-Authoring-Tool. Beide ergänzen sich: Substance erstellt die Texturen, der Material Editor definiert, wie diese Texturen im Echtzeit-Renderer interpretiert werden.
UE5 PBR vs. Arnold/V-Ray: Konzeptuell identisch (GGX, Fresnel, PBR-Parameter), jedoch unterschiedliche Implementierungen und Render-Kontexte. UE5s Shader kompilieren zu HLSL für Echtzeit-GPUs; Arnold/V-Ray nutzen CPU-basierte Path Tracing.
Häufige Fragen (FAQ)
Was ist der Unterschied zwischen Opaque, Masked und Translucent? Opaque ist undurchsichtig (Standard, performant). Masked nutzt eine binäre Maske für Cut-out-Transparenz (z. B. Blätter). Translucent ermöglicht echte Transparenz mit Sortierungsproblemen und Performancekosten.
Kann ich HDRI-Beleuchtungsinformationen ins Material einbacken? Nicht direkt. Der Material Editor reagiert auf Licht, bäckt es aber nicht ein. Für vorberechnete Beleuchtung nutzt man stattdessen Lightmaps (statische Beleuchtung).
Wie viele Texture-Samples sind pro Material erlaubt? Technisch bis zu 128 Textur-Samples pro Shader, jedoch sollte man aus Performancegründen unter 16 bleiben. Durch Texture-Packing (RGBA-Kanal-Trennung) können mehrere Maps in einer Textur kombiniert werden.
Verwandte Einträge
Weiterführend
- Epic Games: Materials in Unreal Engine – Dokumentation (docs.unrealengine.com, 2024)
- Burley, Brent: Physically-Based Shading at Disney, SIGGRAPH 2012 – Grundlagenpaper für PBR
- Heitz, Eric: Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs, Journal of Computer Graphics Techniques (2014)
- Lagarde, Sébastien & de Rousiers, Charles: Moving Frostbite to PBR, SIGGRAPH 2014 – Einflussreiches Paper zur PBR-Implementierung in AAA-Engines
- Quixel: Megascans Material Creation Pipeline (quixel.com, 2023)
