Substrate ist der Ansatz von Unreal Engine 5 zur Erstellung von Materialien, der die feste Suite von Schattierungsmodellen und Überblendmodi, wie Standardbeleuchtung und Clear Coat, durch ein ausdrucksstärkeres und modulareres Framework ersetzt.
Bestimmte Abstraktionen des Nicht-Substrate-Systems (oder veralteten Materialien) werden durch Substrate ersetzt. Stattdessen werden gemessene Materialeigenschaften verwendet. Dies erweitert den Parameterraum, mit dem du arbeiten kannst, und macht es möglich, diskrete Oberflächentypen wie Metall, Glas und Kunststoff genauer zu mischen. Substrate optimiert auch den Prozess der Schichtung von Materialien und macht es so einfacher, Oberflächen wie Flüssigkeiten auf Metall oder einen Clear Coat über Subsurface Scattering darzustellen.
Materialien werden in Substrate als „Materie-Slabs“ konzipiert. Diese Slabs sind eine auf Prinzipien basierende BSDF-Darstellung (bidirektionale Streuungsverteilungsfunktion), die durch physikalische Größen mit genau definierten Einheiten parametrisiert sind. Materialien werden als ein Diagramm von Slabs dargestellt, in denen Operationen durchgeführt werden (wie Mischen und Layering). Aufgrund ihrer auf Prinzipien basierenden Repräsentation können Substrate-Materialien je nach Kapazität einer Plattform vereinfacht werden, um die visuelle Qualität gegen Performance einzutauschen.
Substrate aktivieren
So aktivierst du Substrate-Materialien in deinem Projekt:
Öffne die Projekt-Einstellungen und geh zu Engine > Rendering.
Aktivieren Sie im Abschnitt Substrate die Option Substrate-Materialien (Experimentell).
Folge den Aufforderungen und Nachrichten, um das Projekt neu zu starten.
Wir empfehlen die Verwendung von DirectX 12 (DX12) auf Windows. Substrate funktioniert mit DirectX 11 (DX11), hat aber diverse Probleme und erfordert weitere Tests. Weitere Informationen findest du im Abschnitt Einschränkungen und bekannte Probleme auf dieser Seite.
Optionale Projekt-Einstellungen und Konsolenvariablen
Substrate umfasst diese optionalen Projekt-Einstellungen und Konsolenvariablen:
| Eigenschaft | Beschreibung |
|---|---|
| Projekt-Einstellungen | |
Substrate – grobe Reflexion von undurchsichtigem Substrate-Material | Wenn aktiviert, können raue Oberflächen, die andere Materialien bedecken, die unteren Ebenen auf physikalisch plausible Weise weichzeichnen. Diese Funktion ist experimentell. |
Substrate – erweiterte Visualisierungs-Shader | Aktiviere diese Option, um Shader zu generieren, die für erweiterte Debugging-Ansichtsmodi erforderlich sind. Diese Shader können die Performance beeinträchtigen und sollten nur aktiviert werden, wenn du die Topologie des Substrate-Materials debuggen musst. Mehr Informationen findest du hier:Substrate – Ansichtsmodi debuggen |
| Konsolenvariablen | |
| Bietet eine Möglichkeit, den Speicherplatz eines Substrate-Materials in Byte pro Pixel festzulegen, bevor er automatisch vereinfacht wird. Diese Variable ist standardmäßig auf 80 Byte pro Pixel eingestellt. Du kannst sie für komplexe Materialien mit höherem Speicherbedarf erhöhen. Höhere Werte verbrauchen mehr Speicher und können sich auf die Speicherbandbreite und andere Performance-Charakteristiken auswirken. Die Beziehung dieser Variable zur Performance hängt sowohl vom Inhalt als auch von der Plattform ab. Du kannst diesen Wert bei Bedarf für jede Plattform in der .ini Konfiguration der Plattform angeben. |
Konvertierung von Legacy-Materialien
Substrate-Materialien können nicht automatisch in ein Nicht-Substrate-Material zurückverwandelt werden. Umwandlungen sind permanent, wenn Sie sie geöffnet und gespeichert haben. Wir raten dir, eine Sicherheitskopie deines Projekts zu speichern, bevor du Substrate aktivierst.
Bestehende Materialien werden automatisch in ein Substrate-Material konvertiert, wenn sie zur Bearbeitung in einem Substrate-fähigen Projekt geöffnet werden. Diese werden mithilfe des Knotens Substrate-Schattierungsmodelle in ein Substrate-Schattierungsnetzwerk konvertiert.
Das obige Beispiel zeigt ein "Legacy"-Material, das mit für das Projekt aktiviertem Substrate geöffnet wurde, sowie das resultierende Materialdiagramm mit Knoten, die nun in den Substrate-Schattierungsmodelle-Knoten eingebunden sind.
Befolge diesen Leitfaden, wenn du Substrate in einem bestehenden Projekt aktivierst:
Das Öffnen eines bestehenden Nicht-Substrate-Materials in einem Substrate-fähigen Projekt konvertiert es automatisch in ein "Legacy"-Substrate-Material, wenn Sie das Material speichern. Die Konvertierung ist dauerhaft und das Material kann nicht wieder in ein Nicht-Substrate-Material zurückverwandelt werden.
Substrate-Materialien werden schwarz gerendert, wenn Substrate für das Projekt deaktiviert ist. Das umfasst alle Legacy-Substrate-Materialien, die aus konvertierten Materialien erstellt wurden. Du kannst jedes konvertierte Substrate-Material manuell mit einem Legacy-Material verbinden, aber dabei bleiben die Substrate-Knoten bestehen, die sich jetzt im Materialdiagramm befinden.
Beziehung von Substrate zu Material-Ebenen
Traditionelle Material-Ebenen in Unreal Engine (sowohl diagrammbasiert als auch in der grafischen Benutzeroberfläche mit benutzerdefinierten Ebenen) basieren auf dem Konzept des Überblendens von Parametern. Jede Ebene definiert ein Diagramm von Parametern, die gemischt und in das endgültige Schattierungsmodell eingespeist werden.
Nichts hindert Material-Ebenen-gesteuerte Parameter daran, in ein Substrate-definiertes Schattierungsmodell einzufließen. Allerdings müsstest du diese Logik manuell einrichten, indem du den Output eines Materialattribut-Knotens im Parent-Material verwendest. Eine Einschränkung dieses Ansatzes besteht darin, dass die Materialattributsysteme über eine feste Liste von Parametern verfügen, aber möglicherweise nicht genügend Slots vorhanden sind, um eine Mehrplatten-Konfiguration mit Substrate zu versorgen – möglicherweise müssen Pins willkürlich und ohne Bezug zu ihrer tatsächlichen Bedeutung verwendet werden.
Substrate kann nativ die Parameter-Überblendung verwenden, wie später auf dieser Seite beschrieben, aber es gibt keine Möglichkeit, über das Material-Ebenen-Interface auf diese Funktion zuzugreifen. Die Vereinheitlichung von Substrate und Material-Ebenen ist ein interessantes Gebiet für zukünftige Entwicklungen.
Arbeit mit Substrate-Materialien
Substrate-Materialien werden ähnlich erstellt wie Legacy-Materialien. Dieser Abschnitt behandelt die Hauptelemente, aus denen sich die Substrate-Materialien zusammensetzen, einschließlich der Knoten, Überblendmodi und Details zu den Typen von Materialien, die du erstellen kannst.
Substrate – Material-Stammknoten
Wie auch Vorgänger-Materialien ist der Material--Stammknoten der, in den Substrate-Platten und andere Substrate-Knoten (z. B. Operatoren und Bausteine) eingespeist werden.
Wie bei Vorgänger-Materialien wird das Details-Panel verwendet, wenn der Material-Stammknoten ausgewählt wurde, um den Überblendmodus und andere Eigenschaften, die das Aussehen des Materials definieren, einzurichten.
Alle Substrate-Materialdiagramme müssen mit dem Oberflächenmaterial-Input des Material-Stammknotens verbunden sein. Dieser Input ist der Endpunkt jedes Substrate-Diagramms.
Substrate-Überblendmodi
Substrate verwendet seine eigenen Blend Modi, um zu definieren, wie die Farbe des Materials mit dem Hintergrund überblendet wird. Die Überblendmodi für Legacy-Materialien sind in ihrer Kombinations- und Überblendmöglichkeiten eingeschränkt, wodurch auch die damit erstellbaren Arten von Materialien begrenzt sind. Substrate bietet eine größere Auswahl an Überblendmodi, mit denen du alle möglichen Materialien erstellen kannst. Dies ist besonders wichtig, um eine physikalisch korrekte, durchscheinende Oberflächen-Schattierung zu erreichen.
Substrate beinhaltet die folgenden Überblendmodi:
| Überblendmodus | Beschreibung |
|---|---|
Undurchsichtig | Definiert eine Oberfläche, durch die Licht weder hindurchgeht noch eindringt. Eine undurchsichtige Oberfläche mit einer Deckkraft von 1. Das ist dasselbe wie der alte undurchsichtige Überblendmodus. |
Maskiert | Wird für Materialien verwendet, die die Sichtbarkeit binär (ein/aus) selektiv steuern müssen. Eine undurchsichtige Oberfläche mit einer Deckkraft von 1 oder 0. Das ist dasselbe wie der alte maskierte Überblendmodus. |
TranslucentGreyTransmittance | Ein durchscheinendes Material mit farbiger Oberfläche und Deckkraft, aber auf Graustufen reduzierter Transmittanz. Das geht schneller, da vermieden wird, dass die Transluzenz nach der Schärfentiefe in einen modulierenden Render-Durchlauf gelangt. Dies ist der Fallback-Überblendmodus für Plattformen, die keine hardwarebasierte farbige Transluzenz (sogenanntes Dual-Source-Color-Blending) unterstützen. Dies ähnelt dem alten durchscheinenden Überblendmodus. |
Zusatzstoff | Fügt die Farbe des Materials zur Farbe des Hintergrunds hinzu. Dabei gilt: Endfarbe = Quellfarbe + Zielfarbe. |
ColoredTranslucencyOnly | Nur die Transmittanz des Materials wird verwendet. Oberflächeninteraktionen werden auf 0 reduziert. Das ist dasselbe wie der alte multiplizierende Überblendmodus. |
AlphaComposite (vormultipliziertes Alpha) | Dieser Überblendmodus bietet eine verfeinerte Kontrolle darüber, welche Teile eines Materials additiv überblendet werden und welche durchscheinend unter Verwendung des Opazität Inputs überblendet werden. Funktioniert genauso wie der Legacy-Alpha-Composite-Überblendmodus (vormultipliziertes Alpha). |
AlphaHoldout | Dieser Überblendmodus behält den Alpha-Wert bei, sodass Objekte durchbrochen werden können, um die dahinter liegenden Objekte sichtbar zu machen. Funktioniert genauso wie der alte AlphaHoldout-Überblendmodus. |
TranslucentColoredTransmittance | Ein voll funktionsfähiges durchscheinendes Material mit farbiger Oberfläche, Deckkraft und Farbtransmittanz. Dies ist teurer, wenn separate Transluzenz bei der Nachbearbeitung der Schärfentiefe verwendet wird, da die Transmittanzkomponente in einem separaten Buffer gerendert werden muss, ähnlich wie beim älteren ThinTranslucent-Schattierungsmodell. |
Mit Substrate ist die Arbeit mit Transluzenz einfacher als mit traditionellen Materialien – durchscheinende Überblendmodi lassen sich besser durch ihre Absicht definieren. Ein Aspekt, der zwischen beiden unverändert bleibt, ist, dass jeder durchscheinende Überblendmodus auch einen Beleuchtungsmodus setzen muss, um zu definieren, wie die Beleuchtung für seine Oberfläche berechnet wird. Dies ist wichtig, um durchscheinenden Materialien den korrekten Look zu verleihen.
Die meisten durchscheinenden Materialien, die du erstellst, verwenden Oberflächen-Transluzenz oder Oberflächen-Vorwärts-Schattierung.
Die folgenden Modi stehen zur Auswahl:
| Beleuchtungsmodi | Beschreibung |
|---|---|
Volumetrisch nicht-direktional | Die Beleuchtung wird für ein Volumen ohne Richtwirkung berechnet. Verwenden Sie dies für Partikeleffekte wie Rauch und Staub. Dies ist die kostengünstigste Pro-Pixel-Beleuchtung. Allerdings wird die Materialnormale nicht berücksichtigt. |
Volumetrisch direktional | Die Beleuchtung wird für ein Volumen mit Direktionalität berechnet, sodass die Normale des Materials berücksichtigt wird. Beachte, dass der Standard-Partikel-Tangentialraum zur Kamera zeigt. Schalte also „Generate Spherical Particles“ (Kugelpartikel generieren) ein, um einen nützlicheren Tangentialraum zu erhalten. |
Volumetrisch pro Scheitelpunkt nicht-direktional | Wie „Volumetrisch nicht-directional“, aber die Beleuchtung wird nur an Scheitelpunkten ausgewertet, sodass die Pixel-Shader-Kosten deutlich geringer sind. Beachten Sie, dass die Beleuchtung immer noch von einer Volumentextur stammt, daher ist ihre Reichweite begrenzt. Direktionale Lichter werden in der Ferne unbeschattet. |
Volumetrisch pro Scheitelpunkt direktional | Wie „Volumetrisch direktional“, aber die Beleuchtung wird nur an Scheitelpunkten ausgewertet, sodass die Pixel-Shader Kosten wesentlich geringer sind. Beachten Sie, dass die Beleuchtung immer noch von einer Volumentextur stammt, daher ist ihre Reichweite begrenzt. Direktionale Lichter werden in der Ferne unbeschattet. |
Oberflächen-Transluzenz-Volumen | Die Beleuchtung wird für eine Oberfläche berechnet. Das Licht wird in einem Volumen akkumuliert, sodass das Ergebnis verschwommen ist und eine begrenzte Entfernung hat, aber die Kosten pro Pixel sehr gering sind. Verwenden Sie dies auf durchscheinenden Oberflächen wie Glas und Wasser. Es wird nur diffuse Beleuchtung unterstützt. |
Oberflächen-Vorwärts-Schattierung | Die Beleuchtung wird für eine Oberfläche berechnet. Verwenden Sie dies auf durchscheinenden Oberflächen wie Glas und Wasser. Dies wird mit Vorwärts-Schattierung implementiert, sodass Spiegelungen von lokalen Lichtquellen unterstützt werden, viele Funktionen, die nur im Deferred-Modus verfügbar sind, jedoch nicht. Dies ist die teuerste Transluzenz-Beleuchtungsmethode, da der Beitrag jedes Lichts pro Pixel berechnet wird. |
Einige Beispiele zur Einstellung und Verwendung von Transluzenz in einem Substrate-Material findest du im Abschnitt Transluzenz auf dieser Seite.
Substrate-Slab
Die Substrate-Slab ist der Grundbaustein, aus dem man ein Substrate-Material zusammenstellt. Sie ist so konzipiert, dass sie die minimal notwendige Anzahl an Parametern umfasst, mit denen die überwiegende Mehrheit der Materialoptiken erzielt werden kann. Damit bildet sie die Grundlage für eine wesentlich ausdrucksstärkere Art der Optikgestaltung.
Ein Slab ist eine prinzipielle Darstellung einer Materieslab, die aus einer Interface und einem Medium besteht.
Der Aufbau eines Substrate-Slab: Das Interface (1) und das Medium (2).
Das Interface ist die Grenze, an der Licht mit der Oberfläche des Materials interagiert. Die Eigenschaften des Interface werden hauptsächlich durch die eingespeisten Werte Rauheit, Normal, Albedo, F0 und F90 definiert.
Das Medium ist das Materialvolumen unter der Interface, in dem Licht gestreut, durchgelassen und aufgenommen wird. Die Eigenschaften des Mediums werden hauptsächlich durch den Mean Free Path (oder MFP) definiert.
Der Substrate-Slab ist ein modularer Ersatz für den monolithischen Material-Stammknoten in Nicht-Substrate-Materialien. Sie besteht aus mehreren Oberflächenattributen, wie Streuend, Glanz, Rauheit, Emissiv, Stoff, Anisotropie und vielen mehr. Alle Substrate-Knoten enthalten Eigenschaften, die für ihren benannten Output für den Typ des von ihnen produzierten Materials relevant sind, etwa Auge, Haare, einfacher Clear Coat und so weiter.
Traditionelle Materialien verlassen sich auf ihren Überblendmodus, um Inputs darzustellen, die verwendet werden können. Substrate verwendet seine verschiedenen BSDF-Slabs, um den Typ des Materials zu definieren. Da diese nicht mehr direkt an Überblendmodi gebunden sind, können sie übereinandergelegt und gemischt werden, um verschiedene Arten von Materialien zu erzeugen.
Der primäre Substrate-Slab-BSDF-Knoten umfasst die folgenden Input:
| Substrate-Slab-Inputs | Definition |
|---|---|
Gestreute Albedo | Definiert den Prozentsatz des Lichts, das von einer Oberfläche gestreut reflektiert wird. Dies ähnelt der lokalen Basisfarbe des Mediums. Der Standardwert ist 0,18. |
F0 | Definiert die Farbe und Helligkeit des Glanz-Highlights, wo die Oberfläche senkrecht zur Kamera steht. Bei dielektrischen Materialien (Kunststoffe und andere Nichtmetalle) liegt dieser Wert typischerweise im Bereich von 0 bis 0,08. Bei metallischen Materialien kann er bis zu 1 betragen. Edelsteine liegen in einem Bereich bis etwa 0,16. |
F90 | Legt die Farbe des Glanz-Highlights fest, wenn die Oberflächennormale einen Winkel von 90 Grad zur Kamera bildet. Mit anderen Worten, in einem tieferen Winkel relativ zur Kameraansicht. Es werden nur Farbton und Sättigung wahrgenommen, da die Helligkeit auf 1,0 festgelegt ist. Dies blendet zu Schwarz aus, wenn F0 unter 0,02 fällt. |
Rauheit | Steuert, wie rau das Material ist. Die Rauheit der Oberfläche von 0 bis 1. Bei 0 (glatt) ist die Rauheit eine Spiegelreflexion. Bei 1 (vollständig rau) ist die Rauheit vollständig matt oder streut. Bei Anisotropie wird der Rauheitwert entlang der Achse verwendet. |
Anisotropie | Steuert die Anisotropierichtung des Materials (-1: Highlights sind an der Bi-Tangente ausgerichtet, 1: Highlights sind an der Tangente ausgerichtet). |
Normal | Verwendet die Oberflächennormale als Input. Die Normale wird entsprechend den Raumeigenschaften des Material-Stammknotens als Tangente oder Welt-Bereich betrachtet. Dieser Input definiert die Schattierungsnormale pro Pixel. |
Tangente | Nimmt eine Oberflächen-Tangente als Input. Die Normale wird entsprechend den Raumeigenschaften des Material-Stammknotens als Tangente oder Weltraum betrachtet. Dieser Input definiert die Schattierungstangente pro Pixel. |
SSS MFP | Subsurface Scattering für Mittleren freien Pfad (MFP). Dies steuert die Dichte des Materials und beeinflusst die Absorption und Streuung von Licht durch das Material. Genauer gesagt, definiert dies die durchschnittliche Entfernung, bei der ein Photon mit einem Materieteilchen interagiert. Diese Entfernung wird pro Farbkanal gesteuert. Dieser Input wird nur verwendet, wenn dem Material-Stammknoten kein Subsurface-Profil-Asset zugewiesen ist. |
SSS MFP Maßstab | Dieser Input skaliert den mittleren freien Pfadradius des Subsurface Scattering vom Subsurface-Profil auf einen Wert zwischen 0 und 1. Dieser Input wird nur verwendet, wenn dem Material-Stammknoten kein Subsurface-Profil-Asset zugewiesen ist. |
SSS Phase Anisotropie | Ein positiver Wert verlängert die Phasenfunktion entlang der Lichtrichtung, was zu einer Vorwärtsstreuung führt. Ein negativer Wert verlängert die Funktion rückwärts zur Lichtrichtung und verursacht Rückwärtsstreuung. |
Emissionsfarbe | Steuert die Emissionsfarbe auf Materialoberflächen. |
Sekundäre Rauheit | Steuert die Rauheit einer sekundären Reflexionskeule. Bei 0 (glatt) ist die Rauheit eine Spiegelreflexion. Bei 1 (vollständig rau) ist die Rauheit vollständig matt oder streut. Dieser Input hat keinen Einfluss auf die streuende Rauheit. |
Sekundäres Rauheitsgewicht | Der Mischfaktor zwischen der primären und sekundären Reflexionskeule. Die erste Spiegelung mit Rauheit hat ein Gewicht von (1 - SecondRoughnessWeight). Werte gleich 0 rendern nur die Hauptkeule. 0,5 rendert eine 50-prozentige Mischung beider Rauheiten, und 1,0 rendert nur die sekundäre Keule. |
Fuzz-Rauheit | Steuert, wie rau die Fuzz-Ebene ist. Fuzz mit einer Rauheit von 0 ist glatt (glänzender) und 1 ist vollständig rau (matt). Ist kein Wert mit dem Input verbunden, wird stattdessen der Rauheit-Input verwendet. |
Fuzz-Menge | Fügt eine faserartige Schicht am Interface hinzu, wodurch eine Farbreflektivität entsteht. Dies steuert die Menge an Fuzz, die auf eine Oberflächenebene angewendet wird. Wird normalerweise zur Erstellung von Textil-Materialien verwendet. |
Fuzz-Farbe | Definiert die Farbe der Fuzz-Ebene. |
Glanz-Dichte | Die logarithmische Darstellung der Mikrofacettendichte auf der Oberfläche eines Materials. Erfordert die Einstellung |
Glanz-UVs | Steuert die Position und den Maßstab von Glitzerpunkten auf der Oberfläche eines Materials. Erfordert die Einstellung |
Substrate-Material-Knoten
Du kannst die folgenden Knoten-Typen verwenden, um ein Substrate-Material zu erstellen:
| Knoten-Typ | Beschreibung |
|---|---|
Diese Knoten repräsentieren die meisten Arten von Oberflächen, von einfachen Materialien bis hin zu komplexeren Dingen wie Haare, Augen oder Wasser. | |
Diese Knoten mischen und schichten mehrere Substrate-Slab-BSDFs, um komplexe und abwechslungsreiche Oberflächen zu erstellen. | |
Diese Knoten übersetzen gewöhnliche Materialtypen für die Verwendung mit Substrate, etwa die Erstellung einer beschichteten Ebene oder das alte Standard-Material-Schattierungsmodell von Unreal Engine. | |
Diese Knoten definieren eine Material-Domain für ein Substrate-Material und sind direkt analog zu ihren alten Material-Domain-Namensgebern. | |
Diese Knoten werden verwendet, um einige Konvertierungen innerhalb des Materials durchzuführen, etwa das Mapping der Transmittanz zum mittleren freien Pfad für einen Substrate-Slab. |
Substrate-BSDF-Knoten
Substrate BSDF-Knoten (Bidirectional Scattering Distribution Function) werden verwendet, um die meisten Arten von Oberflächen zu repräsentieren; sie steuern das visuelle Erscheinungsbild der von dir erstellten Materialien und legen ihre Domäne und ihr Schattierungsmodell automatisch entsprechend fest. Das Ziel besteht darin, diese Aspekte nicht mehr manuell über das Details-Panel am Material-Stammknoten festlegen zu müssen.
Substrate umfasst die folgenden BSDFs:
Der Slabs-BSDF ist der primäre Knoten für die Erstellung in Substrate und kann mit anderen Slabs überlagert werden. Die anderen BSDFs sind für spezialisierte Anwendungsfälle gedacht und müssen allein verwendet werden, ohne sich mit anderen BSDFs zu vermischen.
| Substrate-BSDF-Knoten | Beschreibung |
|---|---|
Substrate Slab-BSDF | Die auf Prinzipien basierende Darstellung eines Materie-Slabs, die mehrere Komponenten vereint: Diffusion, Spiegelung, Trübung, Textilfasern und Anisotropie. Es kann Effekte wie undurchsichtiges Subsurface Scattering oder durchscheinende Streuung und durchscheinende Transmittanz von Subsurface Scattering rendern. |
Substrate Augen-BSDF | Ein BDFS speziell für das Rendering von Augen-Materialien mit Substrate. Dies umfasst spezifische Inputs für Hornhaut und Iris. |
Substrate Haar-BSDF | Ein BDFS speziell für das Rendering von Haarmaterialien mit Substrate. |
Substrate Einfacher Clear Coat | Bietet eine einfache und schnelle Möglichkeit, ein Material mit einer klaren Deckschicht zu rendern. Dieser Knoten verwendet das Substrate Slab-BSDF im Hintergrund, vereinfacht aber den Workflow für Clear Coat Rendering. Er ist für das Rendern von Legacy-Clear-Coat-Materialien optimiert. |
Substrate Einzelschicht-Wasser-BSDF | Eine BSDF zum Rendering eines Einzelschicht-Wassermaterials, das hauptsächlich im Wasser-System verwendet wird. |
Substrate Unbeleuchtet-BSDF | Ein BSDF, mit dem unbeleuchtete Elemente mit einer farbigen emissiven Luminanz gerendert werden. Dieser Substrate-Knoten ersetzt die alte Graustufen-Opazität mit farbiger Transmittanz. Wenn du einen unbeleuchteten Slab mischen musst, verwende einen gewöhnlichen Substrate-Slab, wobei nur der Emissionsfarbe-Input verwendet wird. |
Substrate Volumetrische Nebel-Wolke-BSDF | Ein BSDF, das zur Darstellung eines beteiligten Mediums verwendet wird. Dieser Knoten wird verwendet, um Volumetrischen Nebel und Volumetric Clouds zu rendern. |
Substrate-Operator-Knoten
Substrate-Operator-Knoten mischen oder schichten mehrere Substrate-Slabs, um komplexe und abwechslungsreiche Oberflächen zu erstellen. Wenn der Substrate-Slab ein Stück Materie darstellt, bieten Operatoren Möglichkeiten, diese Stücke zu kombinieren.
Die folgenden Substrate-Operatoren stehen zur Auswahl:
Substrate-Operatoren funktionieren nicht mit allen Substrate-BSDFs. Nur Substrate Slab-BSDF und Substrate Einfacher Clear Coat können diese Operator-Knoten verwenden.
| Substrate-Operator-Knoten | Beschreibung |
|---|---|
Substrate Deckkraft-Gewicht | Dieser Operator nimmt Input von einem Slab und steuert den Grad der Deckkraft, wobei das Gewicht den Grad der Deckkraft hat. Durch die Gewichtsreduzierung wird die Deckkraft des Slabs verringert, sodass du die darunter liegende Materie durchscheinen siehst. Dieser Knoten sollte im Zusammenspiel mit dem Operator „Substrate vertikale Ebene“ verwendet werden, um undurchsichtig Material oben zu legen, etwa Staub- oder Schmutzschichten, von denen Sie steuern möchten, wie stark diese die Oberfläche darunter abdecken. |
Substrate Horizontale Überblendung | Dieser Operator nimmt Input von zwei Slabs entgegen: einem Hintergrund und einem Vordergrund. Der Mix-Input steuert, wie stark diese beiden Slabs mithilfe einer linearen Interpolation miteinander gemischt werden. |
Substrate Vertikale Ebene | Dieser Operator nimmt Input von zwei Slabs an: einer oberen und einer unteren Ebene. Die untere Platte wird von der oberen Platte beschichtet, wobei das Aussehen der unteren Ebene durch die Eigenschaften der oberen Ebene beeinflusst wird. Benutze den Input „Obere Stärke“, um die Dicke der oberen Schicht einzustellen. Dieser Operator eignet sich hervorragend zum Erstellen von Autolacken, Holzlacken und Nässe auf einer Oberfläche. |
Substrate Hinzufügen | Dieser Operator nimmt Input von zwei Slabs und fügt sie hinzu. Das erzeugte Material ist physikalisch nicht plausibel, da es mehr Energie von der Oberfläche abgibt als aufnimmt. Dieser Knoten sollte nach Möglichkeit vermieden werden. |
Operator-Knoten enthalten eine Option zum Überblenden ihres Hintergrunds und Vordergrunds zu einem einzigen Material, wenn die Option Parameter-Blending verwenden aktiviert ist. Da Substrate-Operatoren komplexe Materialoptiken durch Mischen und Überlagern von Slabs erzeugen können, können ihre Kosten zur Laufzeit (hauptsächlich aufgrund der Beleuchtungsauswertung) die Performance beeinträchtigen. Parameter-Blending ist eine Optimierung, die teure Beleuchtung gegen Laufzeit-Performance und weniger kostspielige Beleuchtung eintauscht.
Weitere Informationen zu dieser Parameter-Blending-Optimierung findest du im Abschnitt Parameter-Blending auf dieser Seite.
Substrate Deckkraft-Gewicht
Der Operator Substrate Deckkraft-Gewicht steuert das Verhältnis von zwei Slabs bei einer vertikalen Operation. Der Input Gewicht bestimmt die Deckkraft dieses Materials, wenn es mit dem Substrate-Operator Vertikale Ebene kombiniert wird (wie im folgenden Beispiel). Du kannst den Operator auch nutzen, um durchscheinende Oberflächen zu erzeugen, wenn du Alpha als Deckkraft oder Alpha als Opazität verwendest, ähnlich wie der durchscheinende Überblendmodus die Opazität verwendet.
Das obige Diagramm verwendet den Operator Substrate Deckkraft-Gewicht. Das Gewicht bestimmt den Grad der Deckkraft, die auf den unteren Slab angewendet wird. Ein Gewicht von 1 ist vollständig undurchsichtig und blockiert das grüne Texturmuster. 0,5 ist 50 % transparent, mischt die Farben der beiden Materialien und zeigt das Texturmuster. 0 ist komplett transparent und zeigt nur das grüne Texturmuster.
Da der Gewicht-Input einen Float3-Wert akzeptiert, können Sie auch eine Textur verwenden, um den Grad der Deckkraft zu steuern, die beim Schichten von Materialien auf die Platte angewendet wird.
Substrate Horizontale Ebene
Der Substrate-Operator Horizontale Ebene mischt zwei Slabs, von denen einer den Hintergrund und der andere den Vordergrund repräsentiert. Der Mix-Input steuert das Mischungsverhältnis mit linearer Interpolation.
Der Hintergrund-Input ist vollständig sichtbar, wenn er den Wert 0 hat. Der Vordergrund ist vollständig sichtbar, wenn er gleich 1 ist. Bei einem Mischungsverhältnis von 0,5 werden die Slabs miteinander gemischt und die Mischung wird pro Pixel bewertet. Der Mix-Input kann Texturen verwenden, um die Mischungsverhältnisse zu steuern, wie im folgenden Beispiel.
Substrate-vertikale-Ebene
Der Substrate-Operator Vertikale Ebene nimmt eine Platte an seinen Oben- und Unten-Inputs und legt diese übereinander. Dieser Knoten berücksichtigt die Dicke der oberen Ebene, um eine physikalisch korrekte Transmittanz und Streuung anzuwenden, ähnlich einer Beschichtungs-Operation, bei der die obere Ebene die untere Ebene bedeckt. Das Aussehen des unteren Slab hängt von den Eigenschaften des oberen Slab ab. Wenn die an den Oben-Input übergebene BSDF vollständig undurchsichtig ist, wird die untere Platte überhaupt nicht gesehen.
Vertikale Ebenen sind besonders in Situationen nützlich, in denen eine transparente oder halbtransparente obere Ebene über einer undurchsichtigen unteren Ebene benötigt wird. Beispiele umfassen Autolack, behandeltes Holz oder Nässe auf der Oberfläche, etwa Wasserpfützen.
Substrate Hinzufügen
Der Operator Substrate Hinzufügen kombiniert zwei Slabs und gibt das Ergebnis aus. Dieser Operator ist physikalisch nicht plausibel, da er ein Material erzeugen kann, bei dem die von der Oberfläche ausgehende Energie die eintreffende Energie übersteigt. Er ist nützlich, wenn die künstlerische Gestaltung wichtiger ist als physikalische Plausibilität. Um physikalisch akkurate Oberflächen zu erhalten, solltest du diesen Operator jedoch vermeiden.
Substrate-Baustein-Knoten
Die Substrate Baustein-Knoten sind ein Set von Materialfunktionen, die Verschiebungen für einige häufige Anwendungsfälle bieten. Da es sich um Materialfunktionen handelt, kannst du diese direkt öffnen und untersuchen.
Die folgenden Substrate-Bausteine stehen zur Auswahl:
| Substrate-Baustein-Knoten | Beschreibung |
|---|---|
Substrate Beschichtete Ebene | Eine Materialfunktion, die ein beschichtetes Material erstellt, das aus zwei übereinander geschichteten Slabs besteht. Es zeigt dir benutzerfreundliche Parameter zur Steuerung von Interface und Absorption der Beschichtung. |
Substrate Standardoberfläche undurchsichtig | Eine Materialfunktion, die ein Über-Shader-ähnliches Substrate-Material mit einer nutzerfreundlichen Parameterisierung für undurchsichtige Oberflächen erstellt. Die Parameterisierung basiert auf Standard-Branchenvokabular und -konzepten. |
Substrate Standardoberfläche durchscheinend | Eine Materialfunktion, die ein Über-Shader-ähnliches Substrate-Material mit einer nutzerfreundlichen Parameterisierung für durchscheinende Oberflächen erstellt. Die Parameterisierung basiert auf Standard-Branchenvokabular und -konzepten. |
Substrate UE4 Standardschattierung | Eine Materialfunktion, die das Standard-Schattierungsmodell mit Substrate für diffuse, metallische und glänzend Parameterisierung repliziert, die in Nicht-Substrate-Materialien verwendet werden. |
Substrate UE5 Unbeleuchtete Schattierung | Eine Materialfunktion, die das unbeleuchtete Schattierungsmodell von UE4 mit Substrate nachbildet. |
Substrate Extras-Knoten
Die Substrate Extras-Knoten spezifizieren den Materialtyp und seine Funktion, etwa die Einstellung des Substrate-Materials als Aufkleber oder Lichtfunktion. Diese Knoten sind direkt analog zu Nicht-Substrate-Materialien, denen sie als Teil ihrer Material-Domain zugewiesen wurden.
Die folgenden Substrate-Extras stehen zur Auswahl:
Diese Knoten sind monolithisch und müssen isoliert verwendet werden. Sie sind nicht mit Substrate-Operatoren kompatibel.
Es ist eine gute Angewohnheit, diese Knoten am Ende des Materialdiagramms zu platzieren, direkt bevor man sie mit dem Oberflächenmaterial-Input verbindet.
| Substrate Extras-Knoten | Beschreibung |
|---|---|
Substrate Konvertieren in Aufkleber | Jedes Materialdiagramm kann als Aufkleber verwendet werden. Dieser Knoten gibt an, dass das Material konvertiert und nur als Aufkleber-Material verwendet wird. |
Substrate Lichtfunktion | Dieser Knoten gibt an, dass das Material nur als Lichtfunktion verwendet wird. Er muss isoliert eingesetzt werden. |
Substrate Nachbearbeitung | Dieser Knoten gibt an, dass das Material nur als Nachbearbeitungsmaterial verwendet wird. Er muss isoliert eingesetzt werden. |
Substrate Benutzeroberfläche | Dieser Knoten legt fest, dass das Material nur als Benutzeroberflächen-Element verwendet wird, zum Beispiel Elemente, die für die Verwendung mit UMG UI Designer entworfen wurden. Er muss isoliert eingesetzt werden. |
Wenn du zum Beispiel den Knoten Substrate Konvertieren in Aufkleber verwendest, kann jedes beliebige Substrate-Material als Aufklebermaterial für Mesh-Aufkleber und Aufkleber-Actors in der Szene verwendet werden.
Extras-Knoten legen automatisch die Material-Domain fest, wenn sie mit dem Oberflächenmaterial-Input des Material-Stammknotens verbunden werden. Einige Extras-Knoten erfordern eine Änderung des Überblendmodus, um den Output zu unterstützen.
Wenn du den Knoten Substrate Konvertieren in Aufkleber verwendest, musst du den Überblendmodus auf Durchscheinend graue Transmittanz, Farbige Transmittanz, Durchscheinend farbige Transmittanz oder AlphaComposite (Vormultipliziertes Alpha) einstellen. Ansonsten wird im Stats-Panel des Material-Editors ein Fehler angezeigt.
Substrate-Helferknoten
Die Substrate-Helferknoten sind eine Reihe von Knoten und Materialfunktionen, mit denen bestimmte Konvertierungen durchgeführt oder Funktionen von Legacy-Materialien realisiert werden können.
| Substrate-Helferknoten | Beschreibung |
|---|---|
Substrate Flip Flop | Steuert die Oberflächenreflexion basierend auf dem Einfallswinkel. Er erlaubt die Interpolation einer zur Normalen gehörenden Farbe (F0) zu einer Farbe bei tiefem Winkel (F90), basierend auf dem Blickwinkel, und steuert die Interpolationsgeschwindigkeit mit dem Falloff-Parameter. |
Substrate Trübung zu sekundärer Rauheit | Berechnet die Rauheit einer sekundären Spiegelungskeule aus der Rauheit und Trübung der Grundfläche. Diese Parametrisierung stellt sicher, dass die Trübung physikalisch plausibel ist und einfacher zu erstellen ist. |
Substrate IOR-zu-F0 | Konvertiert einen dielektrischen IOR in einen F0-Wert. |
Substrate Metallizität-zu-DiffuseColorF0 | Konvertiert eine Metalligkeit-Parameterisierung (BaseColor / Spiegelnd / Metallic) in eine DiffuseAlbedo-/F0-Parameterisierung. |
Substrate Drehung zu Tangente | Wandelt einen Drehung in einen Tangentenvektor um. |
Substrate Dünnfilm | Berechnen Sie die resultierenden Material-Spiegelparameter F0 und F90 anhand der eingegebenen Oberflächeneigenschaften sowie der Dünnschichtparameter. |
Substrate Transmittanz-zu-Mittlerer-freier-Pfad | Konvertiere eine Transmissionsfarbe, die einer Platte aus beteiligten Medien entspricht, der senkrecht zu seiner Oberfläche betrachtet wird. Dieser Knoten ist direkt der Platte BSDF-Input zugeordnet. |
Substrate Ansichtsabhängige Deckkraft | Passt die Deckkraft basierend auf dem Einfallswinkel der Ansicht an. Dieser Knoten ist nützlich, um eine Ebene zu mischen, die dick genug ist, um einen ansichtsabhängigen Effekt zu implizieren. Beispielsweise würden große Staubkörner bei einem streifenden Winkel eine stärkere Okklusion aufweisen als bei einem einfallenden Winkel. |
Zusätzliche Hinweise zu Substrate-Knoten
Substrate Aufkleber-Materialien
Substrate-Aufkleber nutzen aktuell dieselben Funktionen wie der alte Überblendmodus-Pfad.
Zukünftige Versionen von Substrate-Aufklebern sollen einen robusteren Funktionsumfang bieten, ähnlich wie andere bereits in Substrate verfügbare Funktionen, beispielsweise Ebenen-durchscheinende Slabs für Dinge wie Wasser, Blut und Schleim. Dazu gehören etwa Ebenen, die je nach Dicke erodieren können, etwa Kratzer im Auto, Bodenstufen oder Reifenspuren.
Substrate Schattierungsmodell-Knoten
Wenn du ein zuvor erstelltes Material öffnest, nachdem Substrate für dein Projekt aktiviert wurde, wird das Material automatisch konvertiert, um seine Slabs zu verwenden. Alle bestehenden Inputs werden in einen Substrate Schattierungsmodell-Knoten eingespeist.
Vermeide es, diesen Knoten bei der Erstellung neuer Substrate-Materialien manuell hinzuzufügen oder zu verwenden.
Substrate Stats-Panel
Das Substrate Stats-Panel ist im Material-Editor unter dem Materialdiagramm verfügbar.
Das Substrate-Panel zeigt Werte zum Material, zur Vereinfachung und zur Topologie an.
Parameter-Überblenden mit Operatoren
Die Verwendung mehrerer BSDFs (Bidirectional Scattering Distribution Functions) pro Pixel verlangsamt den Rendering-Prozess proportional zu ihrer Anzahl im Materialdiagramm. Die Bewertung der Beleuchtung für zwei BSDFs dauert doppelt so lange wie für eine einzelne. Dies gilt sowohl für undurchsichtige als auch für durchscheinende Oberflächen.
Operator-Knoten umfassen ein Kontrollkästchen Parameter-Überblendung verwenden, mit dem versucht wird, die Performance und den Speicherbedarf des Materials zu optimieren, während das Aussehen aller Misch- und Ebenen-Operationen im Diagramm erhalten bleibt. Nur der Operator-Knoten ganz rechts vor dem Material-Stammknoten muss diese Einstellung aktiviert haben. Alle anderen Knoten im Diagramm wenden automatisch Parameter-Überblendung an.
Parameter-Überblenden ist eine gute Fallback-Option, wenn die Performance mehrerer Slabs in einem Material Sorgen bereitet. Wenn aktiviert, werden zwei Slabs zu einem einzigen Slab zusammengeführt, der nur eine einzige Beleuchtung benötigt. Diese Zusammenführung verbraucht viel weniger Speicher als zwei individuelle Slabs.
Die folgenden Beispiel stammen aus den Inhaltsbeispielen Substrate-Ebenen ohne und mit aktivierter Option Parameter-Überblendung verwenden.
Dieses Material (M_Substrate_ShaderBall_IceRocks) verwendet zwei BSDFs. Die linke Seite ist ohne Überblendung, die rechte Seite verwendet Parameter-Überblendung.
Dies ist ein komplexeres Material (M_Substrate_ShaderBall_AnisoOverSSS), das vier Slabs mithilfe von zwei Vertikale-Ebene-Operatoren und einem einzigen Deckkraft-Gewicht-Operator miteinander verbindet. Das Material hat Speicherkosten von 108 Bytes pro Pixel. Wenn die Parameter-Überblendung aktiviert ist, verringert sich das Überblenden bei allen Operatoren auf 28 Bytes pro Pixel. Das linke Material ist ohne Überblenden und das rechte verwendet Parameter-Überblendung.
Neben der Parameter-Überblendung in Operatoren-Knoten kannst du einen der folgenden Workflows verwenden, um ähnliche Ergebnisse zu erzielen:
Mische DiffuseAlbedo, F0, F90, Rauheit und andere Attribute manuell im Diagramm. Leite alle Attribute in einen einzigen Slab weiter, der mit dem Oberflächenmaterial-Input verbunden ist. Dieser Ansatz kann in Einzelfällen gut funktionieren, wird jedoch bei einer großen Bibliothek mit komplexen Materialien schnell unüberschaubar.
Benutze den diagrammbasierten Arbeitsablauf Geschichtete Materialien. Da dieser Materialfunktionen zur Wiederverwendung von Arbeit verwendet, skaliert dies besser als die erste Option.
Auf Plattformen mit geringerer Leistung, wie z. B. Mobilgeräten, aktiviert der Compiler automatisch die Parameter-Überblendung, um die Performance zu verbessern. Auf Intermediate-Plattformen wird die Parameter-Überblendung schrittweise auf den unteren Ebenen eines Materials eingeführt, um die angestrebten Performance- und Speicheranforderungen einzuhalten.
Metallizität und Spiegelungsgrad
Die von Substrate verwendete Parameterisierung unterscheidet sich vom DefaultLit-Schattierungsmodell in Nicht-Substrate-Materialien (oder Vorgänger-Materialien). Es gibt keinen Metallizität-Input mehr. Diese Parameterisierung versucht, abstrakte Werte (wie Metallizität und Spiegelnd) zu beseitigen und geht zu physikalischen Eigenschaften mit Einheiten aus der realen Welt über.
Die Reflexionseigenschaften und der Speigelungsgrad von Substrate-Materialien werden durch drei Attribute definiert: DiffuseAlbedo, F0 und F90. Substrate erzwingt automatisch Energieeinsparungen und stellt sicher, dass die spiegelnde Oberfläche und das Medium keine Energie hinzufügen. Daher gilt: Je höher F0 wird, desto weniger sichtbar ist der diffuse Beitrag.
Metallizität wird mithilfe des Substrate Metallizität-zu-DiffuseAlbedo-F0 Helfer-Knoten emuliert. Es nimmt die Werte für Grundfarbe, Spiegelung und Metallizität als Inputs und wandelt sie in Werte um, die auf Diffuse Albedo und F0 auf dem Substrate-Slab abgebildet werden.
Mit den Inputs EdgeColor oder F90 lassen sich vielfältige komplexe diffuse und spiegelnde Reaktionen von Materialien auf Licht erzielen. Beispielsweise eine rote Kugel mit cyanfarbenen bis gelben senkrecht-tangentialen Spiegelreflexionen.
Substrate FlipFlop-Helfer-Knoten sind nützlich, um eine normalenbasierte Spiegelungsfärbung zu erzielen. Es steuert die Spiegelungsfarbe von F0 und F90 als Funktion von NoV mit einstellbarem Falloff-Übergang.
Raue Refraktion
Substrate unterstützt eine raue Refraktion durch durchscheinende Objekte und geschichtete, undurchsichtige Materialien mit einer durchscheinenden oberen Ebene. Die Unschärfe des Szenenhintergrunds sowie die Entfernung zum gebrochenen Objekt werden anhand der Rauheit des Primärmaterials berechnet, wenn Sie Verzerrung/Refraktion verwenden.
Durchscheinende raue Refraktion
Um ein durchscheinendes Material mit rauer Refraktion zu erstellen, lege die folgenden Eigenschaften im Details-Panel fest.
Überblendmodus: TranslucentColoredTransmittance, TranslucentGreyTransmittance, Oder ColoredTransmittanceOnly.
Refraktionsmethode: Index der Brechung (IOR), Pixel-Normal-Versatz oder 2D-Versatz.
Übergabe von Werten an Refraktion, Rauheit und SSS MFP. Das folgende Diagramm erzeugt ein vereinfachtes Milchglasergebnis, wenn die Rauheit größer als 0 ist. Ein hoher SSS MFP- Wert wird verwendet, um ein vollständig transparentes Material zu erstellen, während der IOR von 1,514 dem von Glas entspricht.
In den folgenden Beispielen werden die Objekte hinter dem Glas mit zunehmendem Wert für Rauheit (von links nach rechts 0, 0,2 und 0,6) immer unschärfer.
Das Weichzeichnen durch grobe Refraktion verwendet eine Annäherung, um die Tiefe hinter durchscheinenden Elementen in der Szene zu berücksichtigen.
Undurchsichtige raue Refraktion
Substrate Beschichtungsebenen können die darunter liegenden Schichten weichzeichnen, basierend auf der Rauheit und Dicke der oberen Ebene. Dieser Typ der Refraktion kostet mehr Performance und muss für das Projekt in den Projekt-Einstellungen unter der Kategorie Engine > Rendering aktiviert werden. Markiere das Kontrollkästchen für Substrate Undurchsichtiges Material raue Refraktion, um diese Funktion einzuschalten.
Das folgende Diagramm zeigt ein Beispiel für die Verwendung von undurchsichtigem Material mit rauer Refraktion unter Verwendung eines vertikal geschichteten Materials mit einer klaren Beschichtung auf einem undurchsichtigen Schachbrettmuster.
Die Parameter Rauheit und Dicke bestimmen die Stärke des Weichzeichnens, das auf die unterste Material-Ebene angewendet wird. Die Erhöhung eines der beiden Werte erhöht den Unschärfegrad der Refraktion.
Dies ist in den folgenden Beispielen zu sehen, wo die Clear-Coat-Deckschicht auf der linken Seite eine Rauheit und Dicke von 0,1 aufweist. Das Beispiel rechts hat eine Rauheit von 0,8 und eine Dicke von 6, wodurch die untere Ebene unscharf wird.
Subsurface Scattering und beteiligte Medien
Ein Substrate-Slab enthält beteiligte Medien und kann zur Simulation verschiedener volumetrischer Erscheinungsbilder verwendet werden.
Wenn du zum Beispiel nur ein undurchsichtiges Material renderst und sich am unteren Ende der Materialtopologie ein Slab befindet, wird dieser für das Subsurface Scattering berücksichtigt. Dabei sind zwei Dinge zu beachten:
Wenn einem Slab im Details-Panel des Materials ein Subsurface-Profil zugewiesen wurde, wird das Profil pro Pixel verwendet. Beachte, dass Subsurface-Profile nicht zusammensetzbar sind.
Ist kein Subsurface-Profil zugewiesen, wird die Streuung über die Eigenschaften DiffuseAlbedo und SSS MPF des Slabs bestimmt. Diese Eigenschaften können überblendet werden.
Der MFP (oder mittlere freie Pfad) des Subsurface Scattering ist die Entfernung (in Zentimetern), die verschiedene Wellenlängen des Lichts durch ein Medium zurücklegen, bevor sie auf eine Kollision treffen. Das folgende Beispiel zeigt eine DiffuseAlbedo (weiß) und einen SSS MFP (rot) skaliert von 0 auf 1, von links nach rechts.
Jeder Slab, der sich nicht am Boden eines undurchsichtigen Materials befindet oder in einem durchscheinenden Material verwendet wird, wird für eine volumetrische Darstellung berücksichtigt, die sich ebenfalls auf die Attribute DiffuseAlbedo und SSS MFP stützt. Die DiffuseAlbedo repräsentiert die Basisfarbe des Mediums und berücksichtigt einfache und mehrfache Streuung.
Das Attribut SSS MFP ist eine Möglichkeit, um die Durchsichtigkeit des Mediums für eine Ansicht senkrecht zu einer Oberfläche zu steuern – es repräsentiert, wie sichtbar die Oberfläche darunter ist.
Beispiele für ein Material mit einer Transmittanzfarbe, die von links nach rechts von Schwarz bis Blau reicht, und einem DiffuseAlbedo-Bereich von Schwarz bis Weiß von unten nach oben.
Das vertikale Schichten von Slabs übereinander ähnelt einem Beschichtungsvorgang. Die Sichtbarkeit des unteren Slabs hängt von der Durchsichtigkeit des oberen Slabs ab. Es ist möglich, die Deckkraft des oberen Slabs (wie am Rand einer Wasserpfütze auf einer Oberfläche) zu reduzieren, damit sie nach und nach verschwindet. Sie können dies mithilfe eines Operator-Knotens Deckkraft-Gewicht erreichen, der analog zum Alpha-Blending ist.
Beispiele für ein Material mit einer Transmittanz, die von links nach rechts von Schwarz bis Blau reicht, und einer Deckkraft, die von unten nach oben von 0 bis 1 reicht.
Um eine bestimmte Transmittanz oder Streuungsfarbe zu erreichen, solltest du den Helfer-Knoten Substrate Transmittanz-zu-Mittlerer-freier-Pfad verwenden. Der MFP wird für die TransmittanceColor abgeleitet, um bei normalem Einfall übereinzustimmen – wenn die Oberfläche senkrecht entlang der Normalen betrachtet wird.
Das folgende Beispiel zeigt ein blaues Subsurface Scattering auf einem undurchsichtigen rosa Material, wo der SSS MFP von der Transmittanzfarbe abgeleitet wird.
Es ist nicht empfehlenswert, MFP direkt zu steuern, wenn man eine bestimmte Transmittanzfarbe erreichen will, da MFP keine Farbe ist, sondern ein Maß für den Lichttransport. Die Beziehung zwischen MFP und subsurface scattering-Farbe ist aus Perspektive eines Künstlers nicht intuitiv und nicht-linear.
Transluzenz und Überblendmodi
Substrate bietet robustere Optionen für die Schattierung durchscheinender Oberflächen als dies mit herkömmlichen Nicht-Substrate-Materialien möglich ist. Die Liste der Substrate Überblendmodi ergibt nun mehr Sinn, wenn man bedenkt, dass eine Oberfläche aus Materie besteht (einer Substrate-Slab).
Um ein durchscheinendes Material zu erstellen:
Wähle einen Überblendmodus, der Transluzenz unterstützt.
Undurchsichtig
Maskiert
Durchscheinend farbige Transmittanz
Durchscheinend graue Transmittanz
Nur farbige Transmittanz
Alpha Holdout
Wähle den Material-Stammknoten aus und wähle dann im Details-Panel einen Beleuchtungsmodus aus. Wähle zwischen:
Oberflächen-Vorwärts-Schattierung
Oberflächen-Transluzenzvolumen – diese Option unterstützt Reflexionen auf der Oberfläche.
Volumetrisch nicht direktional – kostengünstiger in der Nutzung, reflektiert jedoch kein Licht.
Nachfolgend siehst du ein Beispiel für die Einrichtung eines durchscheinenden Substrate-Materials. Sein Überblendmodus ist auf Durchscheinend farbige Transmittanz eingestellt und verwendet den Modus Oberflächen-Vorwärts-Schattierung. Dafür wird ein einziger Slab verwendet, der an den Oberflächenmaterial-Pin des Material-Stammknotens übergeben wird, um ein durchscheinendes Material zu erzeugen, das undurchsichtig erscheint.
Mit dem Operator Substrate Deckkraft-Gewicht“ zwischen dem Slab und dem Oberflächenmaterial wird die Transmittanz des Materials gesteuert. Verwende den Gewicht-Input auf dem Substrate Deckkraft-Gewicht-Knoten, um zu steuern, wie transparent das Material ist.
Du kannst einen konstanten Wert von 0 bis 1 verwenden, um die Opazität des gesamten Materials zu steuern (wie oben), oder eine Textur (wie unten), um Teile des Materials zu steuern.
Du kannst noch einen Schritt weiter gehen und einen Materie-Slab erzeugen, der farbigem Glas ähnelt, indem du die MFP des beteiligten Mediums festlegst. Das wird mit dem Helfer-Knoten Transmittanz-zu-Mittlerer-freier-Pfad eingerichtet, wie im folgenden Beispiel. Hier wird eine orange Transmittanzfarbe verwendet, die mit dem SSS MFP verbunden ist, um das Material nur in den Bereichen orange zu tönen, wo es Licht durchlässt. Die festgelegte Transmittanzfarbe ist die „Ziel“-Farbe, die bei dem angegebenen Dicke-Input erreicht wird (Standard ist 0,01 Zentimeter).
Zusätzliche Hinweise zur Substrate-Transluzenz
Durchscheinende Materialien unterstützen kein Bildschirmraum-Subsurface-Scattering, auch wenn der Slab als Volumen des teilnehmenden Mediums gilt.
Substrate Debug-Ansichtsmodi
Bei der Nutzung von Substrate ist es nützlich, zu sehen, wie sich die Materialien verhalten und welche mehr Aufmerksamkeit brauchen. Die Debug-Ansichtsmodi von Substrate befinden sich in der Dropdown-Liste Ansichtsmodi in der Kategorie Substrate.
Substrate umfasst folgende Ansichtsmodi für das Debugging:
Klicke auf die Bilder in der Tabelle, um sie zu vergrößern.
| Debug-Ansicht | Debug-Ansichtsname | Beschreibung |
|---|---|---|
Materialeigenschaften | Visualisierung der Substrate-Eigenschaften unter dem Mauszeiger. Hovere mit der Maus über das Pixel, das du untersuchen möchtest, und du siehst den finalen, gepackten Materialabschluss, der für die Beleuchtung verwendet wird, darunter Eigenschaften, Gewicht, aktivierte Funktionen des Materials, verwendete Bytes und mehr. | |
Materialanzahl | Visualisierung der Substrate-Materialanzahl pro Pixel und Einfärbung entsprechend der Anzahl der verwendeten BSDF-Slab-Knoten. | |
Material-Bytesanzahl | Visualisierung des Substrate Material-Footprint pro Pixel. Die Materialien sind entsprechend der Anzahl der von ihnen verwendeten Bytes farblich gekennzeichnet. Du kannst auch mit der Maus über ein Material fahren, um die Bytes pro Pixel des Materials anzuzeigen. | |
Substrate-Info | Dieser Modus fasst Informationen über die Verwendung von Substrate im Projekt zusammen, darunter Informationen zur maximalen Speichernutzung, den maximalen Bytes pro Pixel (nützlich zum Einstellen von Vereinfachungsschwellenwerten) und aktivierten Substrate-Funktionen. | |
| Substrate Erweiterte Ansichtsmodi | ||
Erweiterte Materialeigenschaften | Gibt Informationen über die verschiedenen Substrate-Slabs, aus denen das Material besteht, das sich aktuell unter dem Mauszeiger befindet. Jeder Slab wird separat auf dem Bildschirm dargestellt. Dieser Ansichtsmodus muss in den Projekt-Einstellungen unter der Kategorie Engine > Rendering mit dem Kontrollkästchen Substrate Erweiterte Visualisierungsshader aktiviert werden. | |
Materialklassifizierung | Dieser Modus zeigt die Materialkomplexität pro Kachel an und gibt ein farbkodiertes Ergebnis zurück:
| |
Klassifizierung raue Refraktion | Dieser Modus zeigt Materialien an, die die Eigenschaft „Undurchsichtige raue Refraktion“ verwenden. Dieser Modus unterscheidet auch zwischen Substrate-Materialien, bei denen Subsurface Scattering aktiviert oder deaktiviert ist. Die in einigen dieser Visualisierungsmodi gezeigten Kacheln werden verwendet, um später optimierte Nachbeleuchtungs-Durchläufe auszuführen. Diese können nützlich sein, um deine Substrate-Materialien zu optimieren, indem du die Anzahl der verwendeten Slabs und aktivierten Funktionen reduzierst und die Parameter-Überblendung für Operatoren verwendest. Wenn ein Material aus mehreren Materialien besteht, die miteinander vermischt und übereinandergeschichtet sind, aber für einen bestimmten Pixel nur ein einziger Slab sichtbar ist (aufgrund dynamischer Maskierung oder eines niedrigen Transmittanzwerts), werden die nicht sichtbaren Slabs in der Visualisierung nicht angezeigt (oder optimiert). |
Einschränkungen und bekannte Probleme
Substrate ist experimentell, daher empfehlen wir, es nicht für Produktionszwecke zu verwenden.
Die Plattformunterstützung und -prüfung ist derzeit noch unvollständig. Wenn es in die Beta- und dann in die produktionsbereiten Zustände übergeht, wird es mehr Tests geben.
Funktionen und Benutzererfahrung können sich ändern, sodass vorhandene Assets möglicherweise anders funktionieren oder ganz ungültig werden.
Mobilgerät wird bei der Verwendung von Mobilgerät Vorwärts-Schattierung unterstützt.
Experimentelle Unterstützung für Path Tracing.
Einige Plattformen und Rendering-Pfade, wie DirectX 11 (DX11) und Mac, weisen Probleme auf und funktionieren möglicherweise nicht vollständig.
Zusätzliche Ressourcen
Der State of Unreal Livestream – Zeitstempel: 02:29:42
Das Beispielprojekt Inhaltsbeispiele umfasst ein Level namens „SubstrateMaterials“, in dem du verschiedene Beispiele und Demonstrationen der Materialfunktion von Substrate-Materialien erkunden kannst.
Die Verwendung von Substrate mit dem Inhaltsbeispiel-Projekt erfordert, dass du Substrate für das Projekt aktivierst. Nur diese Map wurde für die Verwendung mit Substrate validiert. Wenn du nur eine einzige Instanz des Inhaltsbeispiele-Projekts verwendest, empfehlen wir, Substrate nur für dieses Level zu aktivieren und es zu deaktivieren, wenn du den Rest des Projekts verwendest.