Das Path Tracing ist ein progressiver, hardwarebeschleunigter Rendering-Modus, der die Nachteile von Echtzeit-Funktionen mit physikalisch korrekter und kompromissloser globaler Beleuchtung, Reflexion und Brechung von Materialien usw. ausgleicht. Es verwendet die in Unreal Engine integrierte Ray Tracing-Architektur, sodass nur minimale bis gar keine zusätzlichen Einrichtungen erforderlich sind, um saubere, fotorealistische Renderings zu erzielen.
Das Path Tracing verwendet dieselbe Raytracing-Architektur wie andere Raytracing-Funktionen (z. B. Echtzeit-Raytracing und GPU Lightmass) und eignet sich daher ideal für "Bodenwahrheit" -Vergleiche und Produktions-Renderings. Das Path Tracing verwendet nur die in der Szene vorhandene Geometrie und Materialien, um sein unvoreingenommenes Ergebnis zu Rendern, und teilt nicht denselben Ray Tracing-Code, der für die Echtzeit-Rendering-Arbeit entwickelt wurde.
Vorteile des Path Tracing
Das Path Tracing bietet im Vergleich zu anderen Rendering -Modi folgende Vorteile:
Die Fähigkeit, hochwertige fotorealistisch Renderings mit physikalisch korrekten Ergebnissen zu erstellen.
Minimaler oder kein zusätzlicher Aufbau erforderlich, um vergleichbare Ergebnisse mit anderen Offline-Renderern zu erreichen.
Reduziert die Funktionslücke vergleichbarer Echtzeitfunktionen. Beispielsweise werden Materialien, die in Reflexionen und Refraktionen zu sehen sind, ohne Einschränkungen gerendert, beispielsweise mit vorhandener globaler Beleuchtung und Pfad-Tracing-Schatten.
Vollständige Integration mit Sequencer und Film-Rendering-Warteschlange zur Unterstützung von Rendern-Outputs in Film-/TV- Qualität.
Traced Pfad-Beispiele
Die folgenden Szenen sind Beispiele für qualitativ hochwertige Renderings, die mit dem Path Tracing erstellt wurden.
Aktivieren des Path Tracing in Ihrem Projekt
Das Path Tracing erfordert, dass Hardware-Raytracing für das Projekt aktiviert ist. Folgende Systemanforderungen müssen erfüllt sein und diese Einstellungen müssen aktiviert sein.
Systemanforderungen:
Betriebssystem: Windows 10 1809 oder neuer
GPU: NVIDIA RTX- und DXR-Treiber-aktivierte GTX-Reihe Grafikkarten
Projekt-Einstellungen:
Plattformen > Windows > Targeted RHIs > Standard RHI: DirectX 12
Engine > Rendering > Hardware-Raytracing: Path Tracing aktivieren
Engine > Rendering > Hardware-Raytracing: Hardware-Raytracing unterstützen aktivieren
Engine > Rendering > Hardware-Raytracing: Path Tracing aktivieren
Unreal Engine 5 führte Einstellungen ein, die die Erstellung von Path Tracing-spezifischen Shader-Permutationen für Materialien steuern. Projekte, die gar nicht das Path Tracing verwenden, können diese Einstellung deaktivieren, um die Shader-Zeit zu verkürzen.
Engine > Rendering > Optimierung: Berechnung für Skin Cache unterstützen aktivieren
Wenn die Unterstützung für Hardware-Raytracing für das Projekt aktiviert ist, werden Sie durch ein Pop-up-Fenster aufgefordert, Berechnung für Skin Cache unterstützen zu aktivieren, wenn es noch nicht aktiviert ist. Dies ist erforderlich, um Hardware-Raytracing und Path-Tracing-Funktionen zu unterstützen.
Starten Sie die Engine neu, damit die Änderungen wirksam werden.
Nutzung des Path Tracing im Level-Editor
Aktivieren Sie die Path Tracing-Ansicht im Level-Viewport, indem Sie im Ansichtsmodi-Dropdown-Menü Path Tracing auswählen.
Wenn aktiviert, sammelt der Renderer nach und nach Proben aus der aktuellen Ansicht, indem er kontinuierlich Proben hinzufügt, während sich die Kamera nicht bewegt. Wenn die Zielstichprobenanzahl erreicht ist, wird der Frame entrauscht (wenn Entrauschen in den Nachbearbeitungseinstellungen aktiviert ist), um sämtliches verbleibendes Rauschen im Rendern zu entfernen.
In den meisten Fällen werden bei einer Szenenänderung die Samples ungültig und der Prozess beginnt von vorne. Die Bewegung der Kamera, das Ändern der Ansichten, das Aktualisieren oder Ändern von Materialien an einem Objekt und das Bewegen oder Hinzufügen von Objekten zur Szene führen alle dazu, dass die Samples der Szene ungültig werden.
Das Path Tracing kann interaktiv eingesetzt werden und beginnt schnell, Pixel mit schattierter Farbe anzuzeigen, wenn sich Samples ansammeln. Die zum Rendern benötigte Zeit hängt weitgehend von der Komplexität der Szene und den Materialien ab, die dafür benutzt werden. Außenaufnahmen werden in der Regel schneller gerendert, da die Strahlen mit weniger und schnelleren Bounces entweichen können. Innenaufnahmen, insbesondere solche mit Materialien, deren Albedo nahe 1,0 liegt, führen zu längeren Lichtwegen und damit zu einer längeren Renderzeit.
Verwendung des Path Tracing mit Film-Rendering-Warteschlange
Dieser Abschnitt enthält detaillierte Informationen zur Verwendung der Film-Rendering-Warteschlange zum Erzeugen eines Path-Tracing-Rendering-Output. Allgemeine Informationen zur Verwendung und zum Workflow finden Sie unter Film-Rendering-Warteschlange, bevor Sie fortfahren.
Die Film-Rendering-Warteschlange (oder MRQ) eignet sich sehr gut für Produktionspipelines bei der Erstellung hochwertiger gerenderter Outputs. In Kombination mit dem Path Tracing ermöglicht sie Renderings mit wesentlich höherer Qualität, als das sonst möglich wäre.
Das Path Tracing Modul ermöglicht es, das Path Tracing zu benutzen, um gerenderte Frames auszugeben, und bietet einige spezifische Einstellungen für seinen Rendering-Pfad.
Im Level platzierte Nachbearbeitungsvolumen steuern auch spezifische Path-Tracing Funktionalität, darunter die maximale Anzahl von Strahl-Bounces, Unterstützung für emissive Materialien und die Belichtung.
MRQ enthält auch andere Einstellungsmodule, die zusätzliche Steuerelemente und Optionen für die Erzielung hochwertigerer Renderings bieten.
Das Modul Hochauflösung bietet Einstellungen, um Frames als separate Kacheln zu rendern, die kombiniert werden können, um eine höhere Frame-Auflösung zu rendern, als dies sonst möglich wäre. Einzelne Kacheln können die höchste von Ihrer Grafikkarte unterstützte Auflösung verwenden (z. B. 7680x4320 für RTX 3080-Karten).
Das Modul Anti-Aliasing bietet spezifische Einstellungen, um die Anzahl der Samples pro Pixel anzupassen und eine bessere Bewegungsunschärfe zu erreichen. Dieses Modul liefert Aufwärmzeiten, die für das Laden von Levels und visuelle Effekte erforderlich sein können, um die Szene korrekt zu rendern.
Zeitliche Sample-Anzahl interpoliert mehrere gerenderte Frames zu leicht versetzten Zeitpunkten und verbessert so die Qualität der Bewegungsunschärfe. Diese Ansammlung von Samples erfolgt nach dem Entrauschen und hilft dabei, Restartefakte aus einzelnen räumlichen Durchläufen zu stabilisieren. Ist Referenz Bewegungsunschärfe aktiviert, werden vor dem Entrauschen alle zeitlichen Samples genommen. In diesem Fall empfehlen wir, Räumliche Samples bei 1 zu belassen und das gesamte Sampling über Zeitliche Samples zu steuern, um die Qualität der Bewegungsunschärfe zu maximieren.
Räumliche Sample Anzahl legt die Anzahl der Samples pro Pixel fest, die pro zeitlichem Sample verwendet werden sollen. Eine Erhöhung der Samples pro Pixel verringert das Rauschen in jedem Rendern-Durchlauf und verlängert gleichzeitig die zum Rendern jedes Frames benötigte Zeit. Die Einstellung "Nachbearbeitungsvolumen Samples pro Pixel" wird bei Einsatz von MRQ ignoriert.
Die Gesamtzahl der pro Pixel aufgenommenen Samples ist das Produkt aus räumlicher und zeitlicher Sample-Anzahl. Die Verteilung der Samples sowohl räumlich als auch zeitlich kann in manchen Fällen zu besseren Ergebnissen führen. Zum Beispiel, wenn Sie 16 Samples pro Pixel verwenden möchten, könnten Sie 4 Samples auf räumliche und 4 auf zeitliche Samples anwenden, oder 16 auf räumliche und 1 auf zeitliche Samples, oder 1 auf räumliche und 16 auf zeitliche Samples. Welche die beste ist, hängt vor allem von der Qualität der gewünschten Bewegungsunschärfe ab. Für Standbilder empfehlen wir die Nutzung aller räumlichen Samples (1 zeitlich) und für Animationen die Nutzung von 1 räumlichem Sample mit vielen zeitlichen Samples mit aktivierter Referenz Bewegungsunschärfe.
Das Modul Konsolenvariable ermöglicht es Ihnen, alle Konsolenvariablen hinzuzufügen, die für Ihre gerenderten Frames relevant sind. Das umfasst Überschreibungen für die Qualität oder das Umschalten einiger Einstellungen, die für das Path Tracing relevant sind.
Das Output-Modul bietet Einstellungen zur Konfiguration des Output-Verzeichnisses, des Dateinamens, der Bildauflösung und der Start- / Ende-Frames, die Sie rendern möchten.
Einstellungen für das Path Tracing Nachbearbeitungsvolumen
Im Level platzierte Nachbearbeitungsvolumen bieten konfigurierbare Eigenschaften für das Path Tracing. Diese umfassen Einstellungen für die maximale Anzahl von Licht-Bounces, Samples pro Pixel, Anti-Aliasing-Qualität (oder Filterbreite) und mehr.
Die Einstellungen für den Path Tracing finden Sie im Details-Panel des Nachbearbeitungsvolumen in der Kategorie PathTracing.
| Eigenschaft | Beschreibung |
|---|---|
Max. Bounces | Legt die maximal mögliche Anzahl von Licht-Bounces fest, die Strahlen zurücklegen müssen, bevor sie beendet werden. |
Samples pro Pixel | Legt die Anzahl der Samples fest, die pro Pixel für die Konvergenz verwendet werden. Eine höhere Anzahl von Samples reduziert das Rauschen des gerenderten Bildes. |
Max. Pfadintensität | Setzt die maximal erlaubte Belichtung für Path Tracing, um das Auftreten von Glühwürmchen-Artefakten zu verringern. Durch Anpassen der Belichtung auf einen höheren Wert als die Belichtung der Szene lassen sich diese Artefakte verringern. (Weitere Informationen und ein Beispiel für diese Art von Artefakt finden Sie im Abschnitt Weitere Informationen auf dieser Seite.) |
Emissive Materialien | Sollten Materialien mit eingestellter Emissiv-Farbe zur Beleuchtung der Szene beitragen? Wenn deaktiviert, sind solche Farben für Kamerastrahlen weiterhin sichtbar, aber sie emittieren kein Licht in die Szene. Das kann verwendet werden, um schnell zu entscheiden, ob Beiträge doppelt gezählt werden, beispielsweise bei Leuchten, die ein modelliertes Geo haben, aber auch durch lokale Lichtquellen repräsentiert werden. Für eine feinere Steuerung kann ein PathTracingRayTypeSwitch-Knoten innerhalb des Materials verwendet werden. |
Referenz Schärfentiefe | Ermöglicht eine Schärfentiefe in Referenzqualität, die den Nachbearbeitungseffekt ersetzt. Dieser Modus kann durchscheinende Oberflächen, Volumetrik und Haare-Geometrie korrekt verarbeiten. |
Referenz Atmosphäre | Ermöglicht die Pfadverfolgung in der Atmosphäre, anstatt den Beitrag der Himmelsatmosphäre in das Oberlicht zu baken. Alle in der Szene vorhandenen Himmelslichtkomponenten werden automatisch ignoriert, wenn diese Einstellung aktiviert ist. Weitere Informationen finden Sie im Abschnitt Referenz-Atmosphäre auf dieser Seite. |
Denoiser | Dieser Schalter verwendet das aktuell geladene Denoiser-Plugin für das letzte Sample, um Rauschen aus dem gerenderten Output zu entfernen. Standardmäßig wird das NNE-Denoiser-Plugin verwendet. Dieser Schalter hat keine Auswirkung auf den gerenderten Output, wenn das Denoiser-Plugin nicht aktiviert ist. |
Beleuchtungskomponenten | Dieser Abschnitt enthält eine Reihe von Kästchen, mit denen die Berechnung bestimmter Lichtwege eingeschränkt werden kann, sodass ein selektiver Output des Bildes möglich ist. Dies kann verwendet werden, um das Bild in mehreren Durchläufen zu zerlegen, die später garantiert wieder zu seiner ursprünglichen Beauty beitragen. Indirekt Emissiv ist etwas speziell, da es die Bounce-Beleuchtung für emissive Materialien steuert. Sie sollten diese Eigenschaft möglicherweise deaktivieren, um eine Doppelzählung der Beleuchtung von Oberflächen zu verhindern, die auch durch tatsächliche Lichtquellen dargestellt werden, oder um das Rauschen kleiner Emitter zu reduzieren. Beispielsweise würde ein emissives Material, das eine kleine Lichtquelle darstellt, und gleichzeitig eine Punkt- oder Scheinwerferlichtquelle zur Beleuchtung des Bereichs verwendet, in diesem Fall doppelt gezählt werden. |
Rendering-Beleuchtungskomponenten mit MRQ
Das Path Tracing kann individuelle Komponenten des Beleuchtung-Renderings (z. B. streuen und glänzend) über abrufbare Blueprint-Events mit der Film-Rendering-Warteschlange ausgeben.
Dazu erstellen Sie einen Actor Blueprint, der ein Nachbearbeitungsvolumen enthält. Legen Sie das Volumen auf Unbegrenzte Ausdehnung (Ungebunden) fest und weisen Sie ihm eine hohe Priorität zu, um sicherzustellen, dass es immer Vorrang vor allen anderen Nachbearbeitungsvolumina in der Szene hat.
Der Zweck dieses Nachbearbeitungsvolumen ist es, die gewünschte Konfiguration der Beleuchtungskomponenten durch benutzerdefinierte Events in einem Blueprint einzurichten. Diese benutzerdefinierten Events können über eine Movie Pipeline-Konfigurationsdatei ausgeführt werden, indem Sie einen Start-Konsolen-Befehls-Track verwenden und jedes Event mit der Syntax Ke * [Custom Event Name] abrufen.
Im folgenden Beispiel wird das benutzerdefinierte Event mit dem Namen RenderSpecular von der Movie Pipeline Konfiguration mit dem Konsolenbefehl Ke * RenderSpecular aufgerufen.
Dieser Prozess macht es einfacher, einzigartige Konfigurationen der Beleuchtungskomponenten je nach Projektanforderungen einzurichten.
Um mehrere Renderungen der Beleuchtungskomponenten auszuführen, muss die Kameraeinstellung/Aufnahme mehrfach in MRQ aufgerufen werden – einmal für jede gewünschte Durchlauf Konfiguration. Jeder Gegenstand in der Warteschlange muss auf eine andere Movie Pipeline-Konfiguration verweisen, die jeweils ein anderes benutzerdefiniertes Event zur Einstellung der Komponente aufruft (wie im nachfolgenden Beispiel).
Diese Einrichtung erfordert die mehrfache Ausführung des Rendering. Beachten Sie aber, dass Path Tracing Early Outs hat. Es gibt also keine direkte lineare Skalierung der Renderzeiten beim Rendern mehrerer Beleuchtungskomponenten.
In dem Blueprint, den Sie erstellt haben, sollten Sie die folgenden Events einrichten:
Strahl Komponente aufteilen | Strahl Pfad aufteilen | Pfad Komponente aufteilen |
Bild für Großansicht anklicken. | Bild für Großansicht anklicken. | Bild für Großansicht anklicken. |
Einschränkungen des Path Tracings
Im Folgenden finden Sie einige der aktuellen Einschränkungen von Pfadverfolgung in der Unreal Engine.
Helle Materialien verlangsamen das Rendern von Innenräumen
Materialien, deren Albedo-Wert nahe bei 1,0 liegt, wie z. B. eine helle weiße Farbe, führen dazu, dass das Rendern von Frames länger dauert als nötig, da das Path Tracing den Pfad von Lichtern mit vielen Bounces simulieren muss. Innenaufnahmen sind davon besonders betroffen, da Lichtstrahlen länger brauchen, um aus der Umgebung zu entweichen, bevor sie beendet werden.
Das Path Tracing setzt die Technik "Russisches Roulett" ein, um Strahlen zu beenden, die nicht früher zur Szene beitragen werden. Strahlen, die kontinuierlich durch die Szene bouncen, treten mit geringerer Wahrscheinlichkeit auf, da sie nach Möglichkeit durch die „Russische Roulett“-Technik beendet werden. Wenn die Albedo eines Materials einen Wert von nahe 1,0 verwendet, ist es weniger wahrscheinlich, dass die Beendigung des Strahls stattfindet, und trägt zu längerem Rendern für den Frame bei.
Materialien, die alles einfallende Licht reflektieren, sind in der echten Welt selten, und ihre Oberfläche wirkt verwaschen. Aus diesem Grund empfehlen wir, dass Sie die Basisfarbe für alle Streu-Materialien unter 0,8 halten.
Dynamische Szenenelemente
Das Path Tracing funktioniert, indem es den Renderer über die Zeit Proben ansammeln lässt. Das ist ideal für statische Szenen, weniger gut für dynamische Szenen, die Elemente wie sich bewegende Lichter, animierte geskinnte Meshs und visuelle Effekte umfassen. Diese Elementtypen deaktivieren das Path Tracing im Editor nicht und erscheinen als unscharfe oder streifige Artefakte im Frame. Das erscheint nur bei der Arbeit im Editor und kann durch die Verwendung der Film-Rendering-Warteschlange zum Ausrendern der finalen Elemente behoben werden.
Die Aufnahme eines Hochauflösungs-Screenshots (siehe unten) mit einer anderen Auflösung als dem Viewport ist eine weitere Möglichkeit, dieses Problem zu umgehen, da dabei alle Samples aufgenommen werden, ohne das die Engine die Zeit vorwärts ticken lässt.
Path Tracing Material Qualität Schalter Knoten
Die Optimierung von Materialien für Path Tracing-Funktionen durch Verringerung ihrer Komplexität mithilfe des Knoten PathTracingQualitySwitch reduziert die Komplexität oder die Umgehungen, die in Standardmaterialien verwendet werden. Da die Laufzeit keine Rolle spielt, sind keine Kompromisse beim Material erforderlich. Die Verwendung dieser Knoten ermöglicht ein kompromissloses Ergebnis, ohne das Material zu duplizieren.
Ray Tracing Material Qualität Schalter Knoten
Die Optimierung von Material für Ray Tracing-Funktionen durch Verringerung der Komplexität mithilfe des Knotens Ray Tracing Qualität Schalter hilft, die Kosten zur Laufzeit zu senken. Dies erlaubt es den Ray Tracing Funktionen der Unreal Engine, im Vergleich zum Deferred Renderer ein einfacheres Material zu verwenden.
Da Path Tracing für Qualität-Output gedacht ist, verwendet es den Normal-Port dieser Schalter-Knoten, obwohl er auf Ray Tracing basiert. Um das Verhalten von Materialien speziell für das Path Tracing zu steuern, verwenden Sie stattdessen den PathTracingQualitySwitch-Knoten.
HDRIBackdrop ist nicht mit dem Path Tracing kompatibel
Die aktuelle Implementierung der HDRIBackdrop-Komponente führt im Path Tracing zu doppelt gezählter Beleuchtung und deaktiviert das Importance-Sampling der Bildgebung mit hohem HDRI Beleuchtung. Es wird empfohlen, ein Himmelslicht mit einer bestimmten Textur und der Einstellung der Konsolenvariable
r.PathTracing.VisibleLights 2zu verwenden, damit der Hintergrund erscheint.
Dadurch entsteht keine schattenfangende Bodenfläche.
Unterstützte Funktionen des Path Tracings
Die Einschränkungen des Path Tracings sind entweder Einschränkungen der aktuellen Implementierung oder Funktionen, die nicht für den Support geplant sind. Diese Liste von Funktionen soll Ihnen eine Vorstellung davon geben, was in dieser Version derzeit unterstützt wird. Dies ist keine vollständige Liste aller unterstützten Funktionen / Eigenschaften der Engine.
Das Path Tracing verwendet denselben Code, der auch für die Echtzeit-Raytracing-Funktionen der Unreal Engine verwendet wird. Im Allgemeinen gilt: Wenn eine Funktion von Echtzeit-Raytracing unterstützt wird, sollte sie auch vom Path Tracing unterstützt werden.
| Funktionsname | Unterstützt? | Zusätzliche Hinweise |
|---|---|---|
| Geometrietypen | ||
Nanite | Ja | Das Fallback-Mesh wird standardmäßig für Nanite-fähige Meshs verwendet. Verringern Sie den Parameter Fallback Relativer Fehler im Statisches-Mesh-Editor, um mehr Dreiecke des Quell-Meshs zu verwenden. (Experimentell) Die anfängliche Unterstützung für natives Path Tracing von Nanite-Meshs wird aktiviert, wenn die Konsolenvariable |
Geskinnte Meshs | Ja | Animationen deaktivieren nicht das Path Tracing, was dazu führen kann, dass Weichzeichnen oder Streifen im Viewport sichtbar werden. Film-Rendering-Warteschlange sollte verwendet werden, um die endgültigen Bilder auszugeben. |
Welt-Positionsversatz getriebene Animation | Ja | Welt-Positionsversatz auswerten sollte für einzelne Szenen-Actors aktiviert werden. Sie machen das Path Tracing nicht ungültig, was dazu führen kann, dass Weichzeichnen oder Streifen im Viewport sichtbar werden. Film-Rendering-Warteschlange sollte verwendet werden, um die endgültigen Bilder auszugeben. |
Haarsträhnen | Ja | Die Unterstützung von Haarsträhnen ist noch experimentell, da sie viele Ressourcen erfordern kann, um effiziente Beschleunigungsstrukturen zu bauen. Die Konsolenvariable |
Landschaft | Ja | |
Spline-Meshs | Ja | |
Instanziertes statisches Mesh | Ja | |
Hierarchisch instanziertes statisches Mesh | Ja | |
Wasser-Geometrie | Ja | Dies muss durch die Konsolenvariable |
| Visuelle Effekte | ||
Niagara-Partikel-Systeme | Ja | Partikel-Systeme deaktivieren nicht das Path Tracing, wodurch Weichzeichnen / Streifen im Viewport sichtbar werden. Film-Rendering-Warteschlange sollte verwendet werden, um die endgültigen Bilder auszugeben. |
| Licht Typen | ||
Direktionales Licht | Ja | |
Himmelslicht | Ja |
|
Punktlicht | Ja | |
Scheinwerferlicht | Ja | |
Rechteckiges Licht | Ja | |
| Beleuchtungsfunktionen/Eigenschaften | ||
Emissive Materialien | Ja | Kleine emissive Teile können viel Rauschen in eine gerenderte Szene einbringen. Sie können auch zu doppelt gezählter Beleuchtung führen, wenn die emissiven Teile mit Licht assoziiert sind. Benutze das Kästchen Emissive Materials in den Nachbearbeitungsvolumen Einstellungen, um sie zu deaktivieren, oder benutze die Konsolenvariable |
Himmelsatmosphäre | Ja | Erfordert ein Himmelslicht in der Szene, das Echtzeit-Aufnahme auf der Komponente aktiviert hat. Oder Sie aktivieren die Nachbearbeitungsvolumen-Einstellung Referenzatmosphäre, die die Atmosphäre verfolgt, anstatt den Beitrag der Himmelsatmosphäre in das Himmelslicht zu baken. Jedes in der Szene vorhandene Himmelslicht wird automatisch ignoriert, wenn diese Einstellung aktiviert ist. Weitere Informationen finden Sie im Abschnitt Nebel und Atmosphäre auf dieser Seite. |
Volumetrische Wolken | Teilweise | Ähnlich wie bei der Himmelsatmosphäre, wird diese entweder von einem Himmelslicht erfasst oder nativ dargestellt, wenn der Referenz-Atmosphäre-Modus in den Nachbearbeitungseinstellungen im Abschnitt Path-Tracing-Einstellungen verwendet wird. |
Exponentieller Höhennebel | Ja | Erfordert die Aktivierung der Einstellung Volumetrischer Nebel. Nicht alle Steuerelemente werden unterstützt, da einige eine nicht-physikalische Bedeutung haben. Weitere Informationen finden Sie im Abschnitt Nebel und Atmosphäre auf dieser Seite. |
Volumetrischer Nebel | Ja | Muss in der exponentiellen Höhennebel-Komponente aktiviert sein. Weitere Informationen finden Sie im Abschnitt Nebel und Atmosphäre auf dieser Seite. |
IES-Profile | Ja | |
Lichtfunktionen | Ja | Unterstützt auch farbige Lichtfunktionen, wenn |
| Nachbearbeitung | ||
Schärfentiefe | Ja | Das Path Tracing rendert seinen eigenen Tiefenpass anstatt den vom Rasterisierer generierten Tiefenpass zu verwenden. Das Ergebnis ist ein genauerer Match zwischen der Tiefe und den RGB-Farb-Ergebnissen, was die Durchläufe der Nachbearbeitung verbessert, die auf Tiefe basieren. Dies hat keine Auswirkungen auf die Option Referenz-Schärfentiefe, die Sie in den Einstellungen des Nachbearbeitungsvolumens aktivieren können. |
Bewegungsunschärfe | Teilweise | Die genauesten Ergebnisse lassen sich mit der Film-Rendering-Warteschlange erzielen, wenn die Referenzbewegungsunschärfe im Path Tracing Modul aktiviert ist. Diese Option ermöglicht mehr Bewegungsunschärfe mit höheren Performance-Kosten um glatte Ergebnisse zu erhalten. In diesem Modus wird kein nachbearbeites Vektor-Weichzeichnen angewendet, und die Entrauschung wird erst nach der räumlichen und zeitlichen Sample-Anhäufung angewendet. Höhere zeitliche Samples sollten angewandt werden, um die Qualität zu erhöhen. Beachten Sie die Einschränkungen der Tick-Auflösung in Sequencer, wenn Sie sehr hohe zeitliche Sample-Zahlen verwenden. |
| Schattierungsmodelle Material | ||
Unbeleuchtet | Ja | |
Standard beleuchtet | Ja | |
Subsurface | Ja | |
Vorintegriertes Skin | Ja | Rendert identisch zum Subsurface Schattierungsmodell. |
AlphaHoldout | Ja | |
Clear Coat | Ja | |
Subsurface-Profil | Ja | Erfordert ein Subsurface-Profil mit aktiviertem Burley Subsurface Scattering. |
Zweiseitige Vegetation | Ja | |
Haar | Ja | Die Unterstützung für dieses Schattierungsmodell ist noch experimentell und wurde noch nicht mit dem Verhalten des beleuchteten Schattierungsmodells kalibriert. |
Stoff | Ja | |
Auge | Ja | |
SingleLayerWater | Ja | Experimentelle Unterstützung für dieses Schattierungsmodell hinzugefügt. Da die Raster Implementierung stark von der Nachbearbeitung abhängt, ist eine möglichst genauer Match derzeit nicht möglich. |
Dünn-Durchscheinend | Ja | |
Vom Materialausdruck | Ja | |
| Material-Funktionen | ||
Substrate Materialien | Ja | Anfängliche Unterstützung wurde implementiert. Substrate ist experimentell und wird noch aktiv weiterentwickelt. |
Spärliche Volumentexturen | Teilweise | Anfängliche Unterstützung wurde hinzugefügt. Informationen zum Einrichten und Verwenden finden Sie unter Spärliche Volumentexturen. |
Heterogene Volumen | Teilweise | Anfängliche Unterstützung hinzugefügt. Himmelsatmosphäre wird noch nicht unterstützt. Weitere Informationen finden Sie unter Heterogene Volumen |
Farbige Schatten | Ja | Kann mit dem Dünn durchscheinend oder solidem Glas erreicht werden. Weitere Informationen finden Sie in den Abschnitten Glas-Rendering mit Path Tracing und Farbabsorption auf dieser Seite. |
Durchscheinende Schatten | Ja | |
Refraktion | Ja | |
Aufkleber | Ja | Sowohl DecalActors als auch Mesh-Aufkleber werden unterstützt. |
Anisotropie | Ja | |
| System Unterstützung | ||
Mehrere GPUs | Ja | Erfordert eine GPU, die NVIDIA NvLink / SLI unterstützt. Weitere Informationen finden Sie im Abschnitt Rendering mit mehreren GPUs aktivieren auf dieser Seite. |
Sequencer-Film-Rendering-Warteschlange | Ja | |
Orthographische Kamera | Ja | |
Benutzerdefinierte Daten pro Instanz | Ja | |
Zufallsdaten pro Instanz | Ja |
Zusätzliche Informationen
Der Path Tracing Modus funktioniert anders als einige andere Rendering-Methoden innerhalb der Unreal Engine. Das bedeutet, dass etwas, das für Echtzeit-Rendering gut funktioniert, für Pfad-Traced-Rendering möglicherweise nicht optimal ist. In den folgenden Abschnitten werden einige dieser Inkonsistenzen und häufig auftretenden Probleme beschrieben sowie Maßnahmen, mit denen Sie Ihre Ergebnisse mit dem Path Tracing verbessern können.
Reduzierung von Glühwürmchen-Artefakten
Das Path Tracing simuliert Licht, indem er Strahlen basierend auf Objektmaterial zufällig verfolgt. Wenn helle Bereiche der Szene mit geringer Wahrscheinlichkeit entdeckt werden, können die resultierenden Samples übermäßig hell werden, wodurch Lichtpunkte (oder Glühwürmchen) entstehen, die innerhalb des Frames erscheinen und verschwinden. Path Tracing versucht, die häufigsten Quellen dieser Effekte zu minimieren, aber sie können in einigen Szenarien trotzdem auftreten.
Wird das Pfad-Tracing-Ergebnis mit Bloom-Nachbearbeitung kombiniert, können die resultierenden Pixel besonders auffällig werden, da sie erscheinen und verschwinden oder heller und dunkler werden.
Die Nachbearbeitungseinstellung Max. Pfadintensität steuert die maximale Intensität, die in der gerenderten Path-Tracing-Szene verwendet wird. Die Standardwerte klammern Glühwürmchen ziemlich aggressiv ein und sollten in den meisten Fällen nicht geändert werden müssen. Eine Erhöhung des Werts führt zu genaueren Renderings, allerdings auf Kosten von mehr Rauschen. Eine Verringerung des Werts kann hingegen noch aggressiver klammern, allerdings auf Kosten von etwas Energieverlust. Beachten Sie, dass der Wert hier relativ zur aktuellen Belichtung ist, also kann er in allen Fällen konstant gehalten werden.
Optionen zum Entrauschen
Beim interaktiven Rendering von Frames mit Path Tracing durch den Viewport, Movie Render Diagramm oder mit Film-Rendering-Warteschlange entsteht ein gewisses Rauschen im Frame. Eine Möglichkeit, Rauschen zu verringern, ist die Verwendung eines Entrauschungs-Algorithmus, der das Endergebnis stabilisiert und sauberere Bilder mit weniger Rauschen erzeugt.
Das Path Tracing ermöglicht die Entrauschung über die Einstellungen unter Nachbearbeitungsvolumen wenn Denoiser im Abschnitt Path Tracing aktiviert ist.
Standardmäßig sind zwei Plugins verfügbar:
NNE Denoise ist die Standardimplementierung. Es basiert auf demselben Netzwerk wie Intels Open Image Denoise, führt es aber zur besseren Performance auf der GPU aus. Dies ist die Standardoption und die empfohlene Option.
NFOR Denoiser ist ein Denoiser, der für das Animationsrendering optimiert ist. Er berücksichtigt benachbarte Frames und kann beim Rendern von Animationen über die Film-Rendering-Warteschlange stabilere Ergebnisse als der Standard-Denoiser erzeugen.
Zusätzlich werden auch folgende Rauschunterdrückungsbibliotheken von Drittanbietern unterstützt:
Intels Open Image Denoise Bibliothek ist ein CPU-basierter Denoiser, der Rauschen aus dem letzten Sample entfernt und die Qualität von Frames mit langer Laufzeit verbessert. Sie führt zu identischen Ergebnissen wie der eingebaute NNE-Denoiser.
NVIDIA Optix AI-Accelerated Denoiser-Bibliothek ist eine GPU-beschleunigte künstliche Intelligenz, die auf Zehntausenden von Bildern trainiert wurde, um visuelles Rauschen zu verringern und gleichzeitig das Rauschen zu beschleunigen. Das kann vom Standard-Denoiser abweichende Ergebnisse liefern; jedoch ist dafür eine NVidia-GPU erforderlich.
Hier sehen Sie ein Beispiel mit und ohne Rauschen im Frame:
NNE Denoiser
Das NNEDenoiser-Plugin ist standardmäßig aktiviert.
Dieser Denoiser ist ein generisches Denoiser-Plugin, mit dem beliebige neuronale Denoiser-Netzwerke importiert und auf verschiedenen NNE-Laufzeiten ausgeführt werden können. Es enthält verschiedene Versionen von Intels Open Image Denoiser (schnell, ausgeglichen und hohe Qualität, jeweils mit und ohne alpha), die entweder auf CPU oder GPU ausgeführt werden können. Die Standardeinstellung ist die ausgeglichene Voreinstellung mit alpha, die auf der GPU ausgeführt wird und interaktiv Rauschen in ordentlicher Qualität bietet.
Weitere Informationen zum Ändern der Voreinstellung oder zum Hinzufügen und Aktivieren Ihres eigenen neuronalen Rauschunterdrückers finden Sie unter NNE-Denoiser.
Öffnen Sie das Bild Denoise-Plugin
Dieser Denoiser läuft auf der CPU und ist nicht für interaktives Rauschen gedacht, sondern soll die Qualität von Frames mit langer Laufzeit verbessern. Dieser Denoiser garantiert nicht in allen Fällen zeitliche Konsistenz und kann eine hohe Anzahl von Samples pro Pixel für einen stabilen Output erfordern. Die zeitliche Stabilität kann verbessert werden, wenn Film-Rendering-Warteschlange verwendet wird, um den Zeiltliche Sample Anzahl in den Anti-Aliasing-Modul Einstellungen zu erhöhen.
Optix Denoise-Plugin
Dieses Plugin ist experimentell
Das OptixDenoise-Plugin muss für Ihr Projekt im Plugins-Browser aktiviert werden.
Dieser Denoiser nutzt GPU-beschleunigte künstliche Intelligenz, um visuelles Rauschen zu verringern und das Rauschen zu verkürzen. Der Denoiser enthält auch eine zeitliche Komponente, die versucht, das Flickern in den Entrauschen-Animationen zu mindern.
Wenn für Ihr Projekt mehrere Plugins aktiviert sind, müssen Sie Konsolenvariablen verwenden, um auszuwählen, welcher Denoiser verwendet wird, wenn Denoiser in den Nachbearbeitungsvolumen-Einstellungen aktiviert ist. Sie können die Konsolenvariable r.PathTracing.SpatialDenoiser.Type verwenden, um auszuwählen, ob räumliches (0, Standard) oder zeitliches (1) Rauschen verwendet wird. Stellen Sie r.PathTracing.Denoiser.Name ein (zum Beispiel auf NNEDenoiser (Standard) oder OIDN), um auszuwählen, welcher Denoiser verwendet wird, wenn räumlicher Denoiser aktiviert ist. Stellen Sie r.PathTracing.TemporalDenoiser.Name ein (zum Beispiel auf NFOR (Standard), NNEDenoiser oder OptiX), um auszuwählen, welcher Denoiser verwendet wird, wenn temporaler Denoiser aktiviert ist.
Skylighting mit dem Path Tracing
Skylighting kann auf zwei Arten gehandhabt werden: durch den Einsatz einer traditionellen Skybox mit angewandtem Himmelsmaterial oder durch Nutzung des Echtzeit-Modus des Himmelslichts, um den Himmel, die Atmosphäre und die Wolken in der Szene aufzunehmen.
Um den Himmel durch eine Skybox darzustellen, müssen Sie einige Dinge auf dem Mesh und im Material einrichten, damit sie gut mit dem Path Tracing arbeitet. Zunächst muss im Himmelsmaterial das Flag Ist Himmel in den Details-Panel Einstellungen des Materials aktiviert sein. Dies sorgt dafür, dass die Beleuchtung des Skybox-Materialien nicht doppelt gezählt wird, wenn das Himmelslicht in der Szene präsent ist. Dies verringert möglicherweise auch das Rauschen, das auftreten kann, wenn die Skybox tatsächlich doppelt gezählt wird.
Wählen Sie im Level den Skybox-Actor und verwenden Sie das Details-Panel, um Schattenwurf zu deaktivieren, damit das Mesh keine Beiträge vom Himmelslicht und direktionalen Licht in der Szene verdeckt.
Alternativ können die Lichtbeiträge der Systeme Himmelsatmosphäre und volumetrische Wolken erfasst werden, indem der Modus Echtzeit- Aufnahme für das Himmelslicht aktiviert wird. Aufgrund dieser Einschränkung für das Aufnehmen von Skyboxen, Himmelsatmosphäre und volumetrischen Wolken für Skylighting hängen deren Auflösungen von der Cubemap Auflösung des Himmelslicht ab.
Nebel- und Atmosphären-Volumetrik
Das Path Tracing unterstützt Volumetrik aus Himmelsatmosphäre und exponentieller Höhennebel Komponenten.
Referenz Atmosphäre
When die Atmosphäre in den Nachbearbeitungsvolumen Einstellungen aktiviert ist, wird die Beleuchtung der Atmosphäre volumetrisch berechnet, wodurch Sie mehr Ergebnisse erhalten. In diesem Modus wird sämtliches Himmelslicht in der Szene automatisch ignoriert, da die Himmelsbeleuchtung nur von lokalen und direktionalen Lichtquellen beeinflusst wird. Das Path Tracing repräsentiert den Planeten als eine sehr große Kugel, sodass die korrekte Beschattung vorhanden ist und die Bodenfarbe im Bounced-Licht aus allen Richtungen richtig am Himmel reflektiert wird.
Zusätzliche Hinweise zur Verwendung der Referenzatmosphäre:
Um die Himmelsatmosphäre wie vorgesehen zu verwenden, stellen Sie die Einstellung Transformationsmodus auf Planet oben bei Komponententransformation ein und verschieben Sie die Komponente unter Ihre Szene, sodass die Grundebene des Planeten Ihre Szene nicht beeinträchtigt.
Volumetrische Wolkenkomponenten werden jetzt ab Unreal Engine 5.6 unterstützt. Standardmäßig wird eine ungefähre Form der mehrfachen Streuung verwendet, um Kompatibilität mit der Rasterisierungs-Pipeline sicherzustellen und die Performance zu verbessern. Echte Streuung in Wolken kann mit
r.PathTracing.CloudMultipleScatterMode 2aktiviert werden, allerdings kann dies die Rendering-Zeit erheblich erhöhen. Der Standardwert von 1 verwendet die im Knoten “Volumentrischer erweiterter Output“ konfigurierten Parameter im Wolkenmaterial.Es wird empfohlen, jegliche Skybox-Geometrie zu deaktivieren, wenn der Referenzatmosphärenmodus verwendet wird, es sei denn, sie sind über die Größe der Planetenatmosphäre hinaus skaliert (in diesem Fall können sie verwendet werden, um den Mond, Sterne oder andere Objekte außerhalb der Planetenatmosphäre darzustellen). Um die Skybox nur für das Path Tracing auszublenden, ist es am einfachsten, das Mesh als unsichtbar für Raytracing zu markieren.
Wolken werfen nur dann Schatten auf die Geometrie, wenn dies im entfernten Licht aktiviert ist, das die Sonne darstellt.
Volumetrischer Nebel
Nebel wird unterstützt, wenn eine exponentieller Höhennebel-Komponente verwendet wird, bei der volumetrischer Nebel aktiviert ist.
Nicht alle Steuerelemente werden unterstützt, da einige Parameter keine physikalische Bedeutung haben. Die primären unterstützten Parameter sind:
Nebeldichte und Nebelhöhen-Falloff
Scattering Distribution
Albedo
Auslöschungsskalierung
Ansichtsabstand
Dies begrenzte früher den Einflussbereich des Höhennebels, da unendliche Ausdehnungen zu langen Renderzeiten führen können.
Rendering von heterogenen Volumen
Heterogene Volumen werden entweder mit dem Niagara Plugin für Flüssigkeiten oder durch Instanzierung von Heterogene Volumen Actors in der Szene gerendert, die ein Spärliche Volumentextur Material verwenden.
Weitere Informationen zum Rendern heterogener Volumen mit dem Path Tracing finden Sie unter Heterogene Volumen und Spärliche Volumentextur.
Direkte Sichtbarkeit von Lichtquellen
Nicht-punktuelle Lichtquellen wie Punktlichter mit einem Quellenradius, Rechtecklichter und Himmelslichter sind standardmäßig für direkte Kamerastrahlen nicht sichtbar. Die Ausnahme bilden Himmelslichter mit aktivierter Echtzeiterfassung.
Skylighting gepaart mit Skybox Geometrie und statisch oder spezifizierten Cubemaps werden von Kamerastrahlen normalerweise nicht gesehen. Dieser Wert kann durch Einstellung der Konsolenvariable r.PathTracing.VisibleLights 1 geändert werden.
Alle Lichtquellen sind in Reflexionen und Refraktionen sichtbar, unabhängig davon, ob die Konsolenvariable für sichtbare Lichter aktiviert ist. Das stellt sicher, dass sie von allen möglichen Strahlpfaden gesehen werden. Allerdings kann dies jedoch in einigen Fällen zu unerwartetem Verhalten führen. Beispielsweise ist ein direkt hinter einem Glasfenster platziertes Rechtecklicht sichtbar und versperrt die Sicht durch das Fenster, was nur bei echter Refraktion der Fall ist, wenn der Brechungsindex ungleich 1 ist.
Glas -Rendering mit dem Path Tracing
Grundlegendes Glasmaterial
Die grundlegende Materialeinrichtung für Glas im Path Tracing hängt von verschiedenen Faktoren ab. Die erste Entscheidung, die getroffen werden muss, ist, ob das zu schattierende Mesh mit einer Dicke modelliert wurde oder nicht. Wir betrachten zunächst den soliden (oder „dicken“) Fall. In diesem Fall möchten wir die folgenden Einstellungen für das Material verwenden:
Schattierungsmodell: Standard beleuchtet
Überblendmodus: Durchscheinend
Beleuchtungsmodus: Oberflächen-Vorwärts-Schattierung (um Zugriff auf alle Shader-Parameter zu ermöglichen)
Refraktionsmethode: Index der Brechung
Mit dieser Grundkonfiguration können wir nun Teile des Materials Licht brechen lassen, indem wir die Opazität auf 0 setzen. Sie können sich den Parameter „Opazität“ als eine Überblendung zwischen dem Schattierungsmodell „Standardbeleuchtung“ (das Streuen und Glänzend umfasst) und einem rein refraktiven Schattierungsmodell (das klares Glas darstellt) vorstellen. Standardmäßig wird die Refraktion automatisch von der Glanz-Farbe abgeleitet. Für eine feinere Steuerung können Sie einen Wert in den Slot „Refraktion“ des Materials eingeben, um diese Einstellung zu überschreiben und die Reflektivität unabhängig vom Strahlenbrechungseffekt von IOR zu steuern. Hier ist ein Beispiel für das einfachste mögliche Glasmaterial:
Schauen wir uns nun an, wie wir mehr Kontrolle über die Glasschattierung erreichen können, indem wir den Fresnel-Effekt und die Refraktion mit unabhängigen IORs steuern. Anstelle von „Glänzend“, das nur eine SpecularColor von bis zu 0,08 (entspricht einem IOR von etwa 1,8) erzeugen kann, steuern wir die Glanz-Farbe direkter, indem wir „Metallisch“ auf 1,0 setzen, wodurch SpecularColor=BaseColor wird. Anschließend verwenden wir die Formel SpecularColor=((IOR-1)/(IOR+1))^2, um anhand eines Index des Refraktions-Wert den entsprechenden SpecularColor zu berechnen. Hier ist ein Beispielmaterial:
Hier ist ein Beispiel für die unabhängige Steuerung von Glanz vs. Refraktion:
Ziehen Sie den Schieberegler, um die Veränderungen des Glanzes des Glasmaterials zu sehen. Glänzende Werte liegen zwischen 0 und 1,0 in Schritten von 0,1. Diese Änderungen entsprechen IOR-Werten zwischen 1,0 und 1,789.
Ziehen Sie den Schieberegler, um die Veränderungen des Glanzes des Glasmaterials zu sehen. Glänzende Werte liegen zwischen 0 und 1,0 in Schritten von 0,1.
Dünnes Transluzenz-Schattierungsmodell
Das Schattierungsmodell Dünne Transluzenz ist nützlich, um physikalisch akkurate Ergebnisse zu erzielen, wenn das Objekt keine Dicke aufweist (zum Beispiel, wenn eine Glasscheibe durch ein einzelnes flaches Polygon dargestellt wird). Der Aufbau für dünnes Glasmaterial ist weitgehend der gleiche wie oben, die einzigen Änderungen sind:
Schattierungsmodell: Dünn Durchscheinend
Fügen Sie einen durchscheinenden Material-Knoten hinzu, um die Farbe zu steuern (siehe Abschnitt unten zu Farbabsorption)
Alle anderen Verhaltensweisen zwischen soliden und dünnen Gehäusen sind identisch. Ein wichtiger Unterschied besteht jedoch darin, dass im dünnen Fall der Index der Refraktion die Richtung des Strahls bei geringer Rauheit nicht tatsächlich verändert. Sie hat jedoch eine subtile Effekt auf die Reflexions- und Übertragung und steuert das Verhältnis zwischen Rauheit Reflexion und Übertragung. Wenn sich der Index der Refraktion 1 nähert, nimmt die Rauheit der Übertragung ab, während die Rauheit der Refraktion gleich bleibt. Diesen Effekt kann man erkennen, wenn man das Ergebnis mit einer dünnen Glasplatte aus massivem Glas vergleicht.
In beiden Fällen verwendet das Path Tracing Transparenz anstelle von Refraktion, wenn die Refraktionsmethode nicht auf Brechungsindex eingestellt ist. Transparenz zählt nicht als Streuungs-Event und beeinflusst daher nicht die Anzahl der Bounces. Das bedeutet auch, dass die Rauheit in diesen Modi nicht angewendet wird.
Solides Glasmaterial | Dünnes durchscheinendes Glasmaterial |
Klicken Sie auf das Bild für die Vollansicht. | Klicken Sie auf das Bild für die Vollansicht. |
Farbabsorption
Die Steuerung der Farbe der Übertragung durch das Glas (auch als „Beersches Gesetz“ bekannt) kann für feste Glasmaterialien mithilfe des Material Output Knotens Absorptionsmedium im Materialdiagramm durchgeführt werden. Diese Funktion ist nur für das Path Tracing verfügbar, da sie die Verfolgung des Zustands der Strahlfarbe über mehrere Bounces hinweg erfordert.
Um diese Funktion zu den oben genannten Beispielen für massives Glas hinzuzufügen, können Sie dem Material einen kleinen zusätzlichen Satz von Knoten hinzufügen, wie im folgenden Materialbeispiel gezeigt.
Bei Einrichtung einer RGB-Farbe demonstrieren Werte nahe 1 keine Absorption.
Das Beispielmaterial oben verwendet Durchlässigkeitsfarbe, um die Stärke der stattfindenden Absorption zu steuern. Die angegebene Farbe wird so normalisiert, dass sie nach einer Entfernung von 100 Einheiten erreicht wird. Um diese Entfernung zu ändern, verwenden Sie die folgende Formel Transmittance Color = Color^(100/Distance).
Die Absorption durch dünnes Glas wird mit dem „Dünn-Durchscheinenden-Output“ Knoten gesteuert. Hier ist die Übertragungsfarbe relativ zu einer virtuellen Dicke, sodass die Entfernungssteuerung auf eine Relative vereinfacht werden kann:
Energieeinsparung
Die Unreal Engine 5 Implementierung der Energieeinsparung wird verwendet, um den Energieverlust im glänzenden Lappen von Metall- und Glasmaterialien zu verringern.
Sie können die Energieeinsparung in den Projekt-Einstellungen unter Engine > Rendering > Materialien aktivieren.
Zur Gewährleistung der Abwärtskompatibilität ist diese Funktion derzeit standardmäßig deaktiviert. In einer zukünftigen Veröffentlichung der Engine wird diese Funktion voraussichtlich standardmäßig aktiviert werden.
Ungefähre Kaustiken
Das Path Tracing verwendet ungefähre Kaustik, um Rauschen zu verringern, insbesondere in Fällen, in denen Glas- oder Metall Oberfläche niedrigere Rauheitswerte hat. Bei diesen Arten von Materialien können die reflektierenden Kaustiken verschiedene Muster erzeugen und es kann unpraktisch viel Zeit oder viele Samples erfordern, bis ein rauschfreies Bild entsteht.
Beispielsweise wurden diese Bilder während des Rendering- und Sample-Akkumulationsprozesses nacheinander aufgenommen, wobei das endgültige Bild das fertige und entrauschte Ergebnis ist.
Da Kaustiken in der Regel viel Zeit benötigen, um zu einem rauschfreien Ergebnis zu konvergieren, reduziert das Path Tracing das Bildrauschen, indem er die Kaustiken, die im Bild vorhanden wären, mit dem Konsolenbefehl r.PathTracing.ApproximateCaustics 1 annähert. Diese Variable ist standardmäßig aktiviert.
Ein weiterer zu berücksichtigender Aspekt ist der Unterschied zwischen refraktiven Kaustiken und ungefähren Kaustiken. Mit dem Denoiser kann man sich eine Vorschau ansehen, wie die Kaustik aussehen würde, wenn sie genügend Zeit zum Konvergieren hätte. Die ungefähre Kaustik liefert hingegen in viel kürzerer Zeit ein produktionsbereites Bild.
Grobe Lichtübertragung und Reflexionen
Das Path Tracing ist insofern einzigartig, als er das Rendering einer groben Übertragung und einer groben Reflexion ermöglicht - und im Fall von Path Tracing sind diese Shader-Parameter miteinander verbunden.
In den folgenden Beispielen wird der Wert des Glasmaterials variiert, um die ungefähre Kaustik, die Rauheit der Reflexion und den Effekt auf den durchscheinenden Schatten zu demonstrieren.
Ziehen Sie den Schieberegler, um zu sehen, wie sich das Glasmaterial von keiner Rauheit zu einer gewissen Rauheit ändert. Die Rauheit -Werte liegen zwischen 0 und 0,2
Strahl Typ Schalter Material Knoten
Der Knoten Path Tracing Ray Typ Schalter kann verwendet werden, um Material-Informationen für Schatten, indirekt glänzend, Volumen, und streuende Strahlen zu ersetzen.
| Input-Optionen | Beschreibung |
|---|---|
Haupt | Wird für Kamerastrahlen oder Nicht-Pfad-Tracing Schattierung verwendet. |
Schatten | Wird vom Path Tracing für Schattenstrahlen verwendet und gilt nur für Materialien, die undurchsichtige Überblendmodi verwenden. |
IndirectDiffuse | Wird vom Path Tracing bei indirekten streuenden Strahlen verwendet, die ihre Farbe ersetzen. |
IndirectSpecular | Wird vom Path Tracing bei indirekten glänzenden Strahlen verwendet, die ihre Farbe ersetzen. |
IndirectVolume | Wird vom Path Tracing für indirekte Volumenstrahlen verwendet, die ihre Farbe ersetzen. |
Die Beispiel unten zeigt zwei Materialien, die mithilfe des Knoten „Path Tracing Ray Typ Schalter“ eingerichtet werden: ein undurchsichtiges und ein durchscheinendes Material. Das undurchsichtige Material wird auf die Kugel aufgetragen und zeigt die indirekte, glänzende Reflexion, die das Material als blau reflektiert, und die indirekte Beleuchtung um die rote Kugel ist nun grün. Und, das durchscheinende Schachbrettmaterial ersetzt seinen Schatten durch ein maskiertes Textur-Sample.
Undurchsichtiges Material, das indirekt Glänzend und indirekt Streuen ersetzt. | Durchscheinendes Material, das durch Material geworfenen Schatten ersetzt. |
Nachbearbeitungsmaterial Buffers
Nachbearbeitungsmaterial-Buffer umfassen zusätzliche Outputs für den Einsatz im Path Tracing. Diese Buffer sind über den Materialausdruck Path Tracing Buffer Textur zugänglich. Dieser Knoten enthält Daten für Strahlkraft, Entrauschte Strahlkraft, Albedo, Normal und Varianz. Verwenden Sie das Details-Panel, um den Typ des Buffers auszuwählen, den Sie auf den Knoten in Ihrem Materialdiagramm anwenden wollen.
| Eigenschaft | Beschreibung |
|---|---|
Strahlkraft | Die rohe Strahlkraft. |
Entrauschte Strahlkraft | Speichert die entrauschte Strahlkraft, wenn die Rauschverminderung in den Einstellungen für Nachbearbeitung für den Pfad-Tracin aktiviert ist und für den aktuellen Frame abgeschlossen wird. Andernfalls ist sie schwarz. |
Albedo | Durchschnittliches Albedo bei der aktuellen Sample-Anzahl. |
Normal | Durchschnittliche Normale bei aktueller Sample-Anzahl. |
Varianz | Path Tracing-Varianz, gespeichert als Standardabweichung. Die Varianz kann pro Kanal oder von Luminanz, Albedo und Normal sein, basierend auf der Path Tracing Konfiguration. Das Einhaken dieses Buffers verursacht zusätzliche Kosten. |
DBuffer Aufkleber Materialausdruck
DBuffer-Materialausdrücke sind nützlich, um Aufkleber-Einstellungen, die ein breiteres Spektrum als nur durchscheinend oder Alpha-Zusammensetzung-Überblendmodi bieten. Diese Knoten lesen Texturdaten aus dem DBuffer direkt in das Materialdiagramm ein und bieten anpassbare Flexibilität für Ihre Aufklebermaterialien, z. B. die Nachbildung einer Annäherung an das Vorgängerverhalten oder komplexere Beleuchtungsinteraktionen.
Weitere Informationen zur Verwendung dieses Materialausdrucks finden Sie im Abschnitt „DBuffer-Materialausdrücke“ unter Aufkleber-Materialien.
Nützliche Konsolenvariablen
Im Folgenden finden Sie einige nützliche Konsolenvariablen, die Sie bei Nutzung des Pfad-Tracings aktivieren sollten.
| Konsolenvariable | Beschreibung |
|---|---|
| Macht alle Lichter für Kamerastrahlen sichtbar. Diese Option ist standardmäßig deaktiviert, um den rasterbasierten Modi der Engine zu entsprechen, kann jedoch hilfreich sein, um zu verstehen, wie Lichter modelliert werden, und um Fälle zu erkennen, in denen sich Lichter überlappen. Wenn Sie diesen Wert auf 2 setzen, wird nur das Skylight sichtbar. |
| Dies fügt der Ansicht einen kleinen Fortschrittsbalken hinzu, der den Fortschritt zu den konfigurierten Samples pro Pixel anzeigt. Der Fortschrittsbalken wird automatisch ausgeblendet, wenn die Anhäufung abgeschlossen ist. Es hat keinen Einfluss auf das Rendern mit der Film-Rendering-Warteschlange und kann bedenkenlos die ganze Zeit aktiviert bleiben. Dies ist standardmäßig aktiviert. |
| Diese Option kann verwendet werden, um den Denoiser schnell ein- und auszuschalten (vorausgesetzt, die aktuelle Beispielanhäufung ist abgeschlossen). Im Gegensatz zur Nachbearbeitungsvolumen Einstellung führt eine Änderung hier nicht zu einem Neustart der Anhäufung und kann für den schnellen Vergleich des gerenderten Frames mit und ohne aktiviertes Entrauschen nützlich sein. |
| Diese Option aktiviert die Verwendung von heterogenem Volumen-Rendering mit dem Path Tracing. Weitere Informationen zur Verwendung von heterogenen Volumen und dem Path Tracing finden Sie unter Heterogene Volumen. |
Häufig gestellte Fragen
Aufnahme eines konvergierten Pfad-Tracing-Bildes mit HighResShot
Verwenden Sie die Konsolenvariable r.HighResScreenshotDelay, die dem aktuell aktiven Wert für Samples pro Pixel in Ihrer Szene entspricht. Eine gute Möglichkeit, um zu validieren, dass der korrekte Output aufgenommen wird, ist, r.PathTracing.ProgressDisplay auf 1 gesetzt zu lassen. Ist der Fortschrittsbalken im aufgenommenen Bild nicht zu sehen, ist die Beispielanhäufung abgeschlossen.
Aktivieren des Path Tracing in der Laufzeit
Das Path Tracing kann auf unterstützter Hardware und Plattformen zur Laufzeit mithilfe des Blueprint-Knotens Path Tracing aktivieren aufgerufen werden.
Vermeidung von Verzögerungen durch Zeitüberschreitungen unter Windows bei „Abstürze aufgrund von entfernten D3D-Geräten”
Windows versucht, die Reaktionsgeschwindigkeit des Systems aufrechtzuerhalten, indem es die Zeit begrenzt, die ein GPU-Kernel benötigen kann. Bei ressourcenintensiven Prozessen wie Brute-Force-Path Tracing kann diese Grenze häufiger erreicht werden, insbesondere bei GPUs der unteren Leistungsklasse oder wenn die Lichtsimulation zu komplex wird, um sie in einer angemessenen Zeit abzuschließen.
Die Engine stellt einige Konsolenvariablen zur Verfügung, mit denen sich der Umfang der gleichzeitig ausgeführten Arbeiten steuern lässt. Bei falscher Einstellung können diese Variablen jedoch die Gesamtleistung beeinträchtigen. Es wird empfohlen, die Performance mit dem Befehl stat gpu zu überwachen.
r.PathTracing.DispatchSizesteuert die maximale Breite und Höhe in Pixel für das Pfad Tracing-Rendern. Wenn dieser Wert niedriger als Ihre Viewport- oder Bildauflösung ist, kann das Rendern in mehreren Schritten erfolgen, wodurch Windows häufiger überprüfen kann, ob die GPU noch reagiert. Die Voreinstellung ist 2048.r.PathTracing.FlushDispatchsteuert, wie oft die Befehlsliste während des Prozesses des Path-Tracing geleert wird. Wenn Sie dies auf 1 setzen, hat Windows mehr Möglichkeiten, zu überprüfen, ob die GPU noch reagiert. Standardmäßig ist dies auf 2 eingestellt.
In extremen Fällen kann es schwierig sein, eine gute Performance zu gewährleisten und gleichzeitig Abstürze zu vermeiden. In solchen Fällen ist es möglich, die Grenze der Windows-Zeitüberschreitung selbst zu ändern. Für weitere Informationen, finden Sie unter So beheben Sie einen Absturz des GPU-Treibers.
Bei Szenen mit Haaren kann es zu Zeitüberschreitungen bei der Gebäude (BLAS) kommen. Versuchen Sie in diesem Fall, den Wert von r.HairStrands.RaytracingProceduralSplits auf 1 oder 2 zu senken.
Verschwinden von Instanzen in der Path-Tracing-Ansicht
Die Standard-Ausblenden-Implementierung für Hardware-Raytracing kann im Kontext von Path Tracing allzu aggressiv sein, da Ray Tracing auch für die Kamera-Sichtbarkeit verwendet wird. Sollten Instanzen beim Wechsel zur Path Tracing-Ansicht zu fehlen erscheinen, versuchen Sie r.RayTracing.Geometry.InstancedStaticMeshes.Culling auf 0 einzustellen.
Nutzung von Path Tracing bei Nanite-aktivierten Meshs
Es gibt eine experimentelle Unterstützung für natives Path Tracing von Nanite-fähigen Meshs, das mit r.RayTracing.Nanite.Mode 1 aktiviert werden kann. Dieser Modus verwendet das Nanite-Streaming-System, um Raytraced-Meshs nebenbei vorzubereiten und dabei viel mehr Details zu erhalten, als es bei Fallback-Meshs möglich ist.
Das Path Tracing unterstützt auch das Fallback-Mesh für Nanite-aktivierte Meshs zur Darstellung. Das Fallback-Mesh nutzt einen Prozentsatz der Dreiecke des Quell-Mesh zur Darstellung, was aber dazu führt, dass Nanite-fähige Meshs in der Szene weniger Details aufweisen. Erhöhen Sie die Details des Fallback-Meshs im Statischen-Mesh-Editor, indem Sie die Parameter Fallback-Dreieck Prozent und Fallback Relativer Fehler anpassen.
Weitere Informationen zur Konfiguration dieser Einstellungen finden Sie im Abschnitt „Fallback-Mesh“ der Nanite-Dokumentation.
Aktivieren der Unterstützung für mehrere GPUs
Erfordert Windows 10 (Version 2004 oder neuer) für die Verwendung mehrerer GPUs.
Die Berechnung der Beleuchtung mit mehreren GPUs (mGPU) wird durch NVIDIAs Scalable Link Interface (SLI) Technologie unterstützt, die mehrere NVIDIA GPUs miteinander verbindet. Dies verbessert die Menge an Rechenleistung, die zum Rendern von Szenen mit Kernfunktionen von Hardware-Raytracing wie Path Tracing und GPU Lightmass benötigt wird.
Aktivieren Sie den Support für mehrere GPU-Konfigurationen durch:
Verbinden von GPUs mit NVLink-Brücken und Aktivieren von SLI im NVIDIA-Kontrollpanel.
Übergeben Sie das Befehlszeilen-Argument
-MaxGPUCount=N, wobei N die Anzahl der verfügbaren GPUs ist. Zum Beispiel-MaxGPUCount=2.Verwenden Sie bei geöffnetem Editor die Konsolenvariable
r.PathTracing.MultiGPU 1, um Multi-GPU Unterstützung zu aktivieren. Sie können diese Konsolenvariable auch zu Ihrer Datei DefaultEngine.ini hinzufügen, die sich in [Unreal Engine Root]/Engine/Config unter[/Script/Engine.RendererSettings]befindet.
Sobald der Editor geöffnet ist, können Sie im Output-Log überprüfen, ob der Multi-GPU-Modus aktiviert wurde. Suchen Sie nach LogD3D12RHI: Enabling multi-GPU with 2 nodes..