Lumen ist das vollständig dynamische globale Beleuchtungs- und Reflexionssystem der Unreal Engine, das für Konsolen der nächsten Generation konzipiert ist. Es ist das Standardsystem für globale Beleuchtung und Reflexionen. Lumen rendert diffuse Interflexionen mit unendlichen Abprallern und indirekte spiegelnde Reflexionen in großen, detaillierten Umgebungen mit einer Skalierung von Millimetern zu Kilometern.
Erste Schritte mit Lumen
Neu erstellte Projekte haben standardmäßig Lumen globale Beleuchtung und Reflexionen aktiviert, ebenso wie deren Abhängigkeiten wie Mesh-Distanzfelder generieren. Bestehende Projekte, die von Unreal Engine 4 in Unreal Engine 5 umgewandelt werden, aktivieren die Lumen-Funktionen nicht automatisch. Das verhindert ein Zerstören oder Ändern der Beleuchtungspfade in diesen Projekten.
Lumen wird in den Projekt-Einstellungen unter den Kategorien Rendering > Dynamische globale Beleuchtung und Reflexionen aktiviert.
Globale Beleuchtung und Reflexionen können unabhängig festgelegt werden. Lege in jeder Kategorie folgende Optionen fest, um Lumen zu aktivieren:
Dynamische globale Beleuchtung: Lumen
Reflexionsmethode: Lumen
Wenn aktiviert ist, wird die Eigenschaft Mesh-Distanzfelder generieren aktiviert, wenn dies noch nicht der Fall ist. Es ist für den Modus Software Ray Tracing von Lumen erforderlich. Dafür muss die Engine neu gestartet werden.
Lumen globale Beleuchtung ersetzt Bildschirmraum-globale Beleuchtung (SSGI) und Distanzfeld-Umgebungsokklusion (DFAO). Lumen-Reflexionen ersetzen Bildschirmraum-Reflexionen.
Wenn Lumen für ein Projekt aktiviert ist, sind vorberechnete statische Beleuchtungsbeiträge deaktiviert und alle Lightmaps sind ausgeblendet.
Lumen-Beleuchtungsfunktionen
Lumen bietet eine robuste, dynamische globale Beleuchtung für Unreal Engine und integriert sich gut mit anderen unterstützenden Systemen in Unreal Engine 5, wie Nanite, World Partition und Virtual Shadow Maps.
Funktionen von Unreal Engine 4 wie Globale Beleuchtung des Bildschirmraum und Globale Beleuchtung des Ray Tracing (RTGI) waren für Projekte, die auf Echtzeit mit ausreichend hoher Qualität angewiesen waren, nicht zuverlässig oder leistungsfähig genug. Diese Funktionen konnten außerdem nicht vollständig in andere wichtige Systeme integriert werden, um eine umfangreiche Unterstützung für die meisten Funktionen der Engine zu bieten.
Lumen Globale Beleuchtung
Globale Lumenbeleuchtung löst diffuse indirekte Beleuchtung. Beispielsweise nimmt Licht, das diffus von einer Oberfläche reflektiert wird, die Farbe dieser Oberfläche auf und reflektiert das farbige Licht auf andere nahegelegene Oberflächen, wodurch ein Effekt entsteht, der als Farbverlauf bezeichnet wird. Meshs in der Szene blockieren auch indirekte Beleuchtung, die auch indirekte Schatten erzeugt.
Lumen bietet unendliche diffuse Abpraller, was in Szenen mit hellen Streu-Materialien wichtig ist, wie zum Beispiel bei der weißen Farbe in der Wohnung unten.
Die Virtualisierte Geometrie mit Nanite der Unreal Engine 5 ermöglicht eine bisher unerreichte Detailgenauigkeit der Geometrie. Lumen erzielt eine Schattierung mit voller Auflösung, während die indirekte Beleuchtung für die Echtzeit-Performance mit einer deutlich niedrigeren Auflösung berechnet wird.
Lumen mit Himmelsbeleuchtung
Die Himmelsbeleuchtung wird als Teil des Final Gather-Prozess von Lumen gelöst. Dies umfasst Oberschattenbildung, sodass Innenbereiche deutlich dunkler als die Außenbeleuchtung sein können, was einen deutlich natürlicheren Effekt ermöglicht.
Lumen bietet auch eine weniger hochwertige Globale Beleuchtung für Beleuchtete Transluzenz und volumetrischer Nebel.
Lumen und emissive Materialien
Emissive Materialien verbreiten Licht durch Lumen's Final Gather ohne zusätzliche Einbußen bei der Performance. Allerdings gibt es eine Grenze dafür, wie klein und hell emissive Bereiche sein können, bevor sie zu Bildrauschen führen. Daher sind sie inhärent schwieriger aufzulösen als manuell platzierte Lichtquellen.
Lumen Reflexionen
Lumen löst indirekte Spiegelungen oder Reflexionen für den gesamten Umfang der Materialrauheit-Werte.
Eine diffuse globale Beleuchtung und Oberlichter mit Schattenwurf sind in allen Reflexionen zu sehen. Lumen-Reflexionen unterstützten auch klare Beschichtungsmaterialien, wie bei dem Autobeispiel unten.
Lumen bietet glänzende Reflexionen bei Transluzenz, wie bei den Autofenstern in dem folgenden Beispiel.
Wenn für das Projekt die Hochwertige Transluzenz-Reflexionen aktiviert hat, sorgen Lumen-Reflexionen für Spiegelreflexionen auf der vordersten Ebene durchscheinender Oberflächenmaterialien.
Lumen Reflexionen unterstützen Einzel-Ebenen Wasser-Materialien, wobei die Reflexionen zwangsweise gespiegelt werden.
Zweiseitige Lumen-Vegetation
Das Schattierungsmodell Zweiseitige Vegetation wird gelöst, indem Beleuchtung von der Rückseite gesammelt und durch das Blatt gestreut wird, abgeschwächt von der Untergrundfarbe des Materials.
Unterstützte Lichttypen und andere Funktionen
Auf der Detailebene unterstützt Lumen folgende Optionen:
Alle Lichttypen werden unterstützt, darunter direktionale, Himmel-, Punkt-, Spot- und rechteckige Lichter.
Lichtfunktionen werden für alle Arten von Lichtern unterstützt.
Lichter, deren Mobilität auf Statisch eingestellt ist, werden nicht unterstützt, da statische Lichtquellen vollständig in Lightmaps gespeichert sind und ihr Beitrag deaktiviert wird, wenn Lumen aktiviert ist.
Lumen-Einstellungen
Einstellungen für Lumen befinden sich an zwei Stellen: Projekt-Einstellungen und das Nachbearbeitungsvolumen.
Lumen-Projekt-Einstellungen
Alle Projekt-Einstellungen, die für Lumen gelten oder sich darauf auswirken, sind im Abschnitt Engine > Rendering zu finden. Die Projekt-Einstellungen enthalten alle Standardeinstellungen für Lumen für das Projekt.
Im Folgenden findest du eine Liste aller Einstellungen, die von Lumen benötigt werden oder sich darauf auswirken:
| Eigenschaft | Beschreibung |
|---|---|
| Globale Beleuchtung | |
Dynamische globale Beleuchtungsmethode | Wählen Sie den Typ der dynamischen globalen Beleuchtung, den Sie in Ihrem Projekt verwenden möchten. |
| Reflexionen | |
Reflexionen Methode | Wählen Sie den Typ der dynamischen Reflexionen, die Sie in Ihrem Projekt verwenden möchten. |
| Lumen | |
Hardware-Raytracing verwenden, wenn verfügbar | Verwendet Hardware-Raytracing für Lumen-Funktionen, sofern dies von der Grafikkarte, RHI und dem Betriebssystem unterstützt wird. Lumen greift ansonsten auf Software-Raytracing zurück. Hardware-Raytracing hat für Szenen mit mehr als 100.000 Instanzen signifikante Aktualisierungskosten. Weitere Informationen dazu finden Sie in der Anleitung zur Ray Tracing-Performance. |
Ray Lighting Modus | Steuert, wie Lumen-Reflexionsstrahlen beleuchtet werden, wenn Lumen Hardware-Raytracing verwendet. Standardmäßig verwendet Lumen Oberflächen-Cache für beste Performance, kann jedoch für höhere Qualität auf Treffer Beleuchtung für Reflexionen eingestellt werden. |
Hochwertige Transluzenz-Reflexionen | Ob hochwertige Spiegelreflexionen auf der vorderen Schicht von durchscheinenden Oberflächen verwendet werden sollen. Andere Ebenen verwenden die Strahlkraft-Cache-Methode mit geringerer Qualität, die nur glänzende Reflexionen erzeugen kann. Dies erhöht die GPU-Kosten, wenn diese Option in den Einstellungen für das Nachbearbeitungsvolumen aktiviert ist. |
Software-Ray Tracing-Modus | Steuert, welche Tracing-Methode Lumen beim Ray Tracing der Szene verwendet. Detail Tracing verfolgt einzelne Mesh-Distanzfelder für höchste Qualität. Global-Tracing verfolgt anhand des weniger detaillierten globalen Abstandsfelds, um schnellstmögliche Verfolgungen zu ermöglichen. |
| Hardware-Raytracing | |
Hardware-Raytracing unterstützen | Aktiviert Ray Tracing von unterstützten Betriebssystemen, RHI und Grafikkarten für Ergebnisse in höherer Qualität. |
| Software-Raytracing | |
Mesh-Distanzfeldfelder generieren | Ob Distanzfelder für statische Meshes erstellt werden sollen. Das ist für Software-Ray-Tracing mit Lumen erforderlich und für die Distanzfeld-Umgebungsverdeckung, mit der die Schatten beweglicher Oberlichter und Schatten von Distanzfeldern mit Ray-Tracing für gerichtete Lichter implementiert werden. Die Aktivierung dieser Option erhöht die Build-Zeiten, den Speicherverbrauch und die Festplattengröße von statischen Meshes. |
Distanzfeld-Voxel-Dichte | Legt fest, wie der Standard-Maßstab eines Mesh in Distanzfeld-Voxel-Dimensionen konvertiert wird. Wird dies geändert, werden alle Distanzfelder neu aufgebaut. Große Werte verbrauchen sehr schnell Speicherplatz. |
Nachbearbeitungs-Einstellungen
Nachbearbeitungsvolumen enthalten Overrides und vom Künstler gesteuerte Eigenschaften für Lumen. Die Einstellungen befinden sich in den Kategorien globale Beleuchtung und Reflexionen.
Im Folgenden findest du eine Liste aller Einstellungen von Lumen, die du im Nachbearbeitungsvolumen findest:
| Eigenschaft | Beschreibung |
|---|---|
| Globale Beleuchtung: Globale Beleuchtung mit Lumen | |
Beleuchtungs-Qualität der Lumen-Szene | Größere Maßstäbe führen dazu, dass Lumen-Szene mit höherer Wiedergabetreue berechnet werden, was sich in Reflexionen bemerkbar machen kann, jedoch zu höheren GPU-Kosten führt. |
Lumen Scenendetail | Steuert die Größe der Instanzen, die in Lumen-Szene dargestellt werden können. Größere Werte stellen sicher, dass kleinere Objekte dargestellt werden, steigern aber die GPU-Kosten. |
Ansichtsabstand der Lumen-Szene | Legt den maximalen Ansichtsabstand der Szene fest, die Lumen für das Ray Tracing beibehält. Größere Werte erhöhen die effektive Reichweite für Himmelsschattenbildung und globale Beleuchtung, erhöhen aber die GPU-Kosten. |
Final Gather Qualität | Diese Option steigert die Qualität der globalen Beleuchtung von Lumen und reduziert das Rauschen beim Rendern, erhöht aber die GPU-Kosten des Renderings. |
Bildschirm-Traces | Ob Bildschirmraum-Traces für die globale Lumen-Beleuchtung verwendet werden sollen. Bildschirmraum-Traces umgehen Lumen-Szene und samplen stattdessen von Szenentiefe und Farbe. Dies verbessert die Qualität, verhindert jedoch gleichzeitig Änderungen, die nur die Lumen-Szene betreffen, wie beispielsweise das Hinzufügen von emissiven Objekten, die nur in der globalen Beleuchtung sichtbar sind. |
Max. Trace-Entfernung | Steuert die maximale Entfernung, die Lumen bei der Berechnung der Beleuchtung verfolgen soll. Zu kleine Werte führen dazu, dass Beleuchtung in größere Bereiche einsickert, wie zum Beispiel Höhlen. Große Werte erhöhen die GPU-Kosten für das Rendern der Szene. |
Cache-Auflösung der Szenenerfassung | Maßstab für die Auflösung des Lumen Faktor Oberflächen-Cache. Kleinere Werte speichern GPU-Arbeitsspeicher, zu Lasten der Qualität. Standardmäßig auf 0,5, wenn nicht überschrieben. Das sollte in den Nachbearbeitungseinstellungen der Szenenerfassung Komponente festgelegt werden. |
| Globale Beleuchtung: Globale Beleuchtung mit Lumen: Erweiterte Eigenschaften | |
Aktualisierungsgeschwindigkeit der Lumen-Szene Beleuchtung | Steuert, wie viel Lumen-Szene zur Verbesserung der Performance für Beleuchtungsergebnisse in den Cache speichern darf. Größere Maßstäbe bewirken, dass sich Beleuchtungsänderungen schneller ausbreiten, erhöhen jedoch die GPU-Kosten. |
Aktualisierungsgeschwindigkeit der Final Gather Beleuchtung | Steuert, wie viel Lumen Final Gather zur Verbesserung der Performance in den Cache der Beleuchtungsegebnisse zwischenspeichern darf. Größere Maßstäbe bewirken, dass sich Beleuchtungsänderungen schneller ausbreiten, erhöhen jedoch die GPU-Kosten. |
Verstärkung der Streufarbe | Ermöglicht das Aufhellen indirekter Beleuchtung durch Berechnung der diffusen Materialfarbe als pow(DiffuseColor, 1/DiffuseColorBoost). Werte über 1 (ursprüngliche diffuse Farbe) sind physikalisch nicht korrekt, aber sie können als ein Kunstrichtungsregler nützlich sein, um die Menge des reflektierten Lichts in der Szene zu erhöhen. Es ist am besten, den Wert unter 2 zu halten, da dies auch dazu führt, dass Reflexionen heller als die Szene sind. |
Skylight Undichtigkeit | Steuert, welcher Anteil der Himmelslichtintensität durchdringen darf. Dies ist als Kunstrichtungsregler (nicht naturgesetzlich basiert) nützlich, um zu verhindern, dass Innenbereiche vollständig schwarz werden. |
Vollständige Skylight Undichtigkeit | Steuert den Abstand von einer Empfangsfläche, wo das austretende Oberlicht seine volle Intensität erreicht. Kleinere Werte lassen das Oberlicht flacher auslaufen, während größere Werte einen Ambient-Occlusion-Effekt erzeugen. |
| Reflexionen: Lumen Reflexionen | |
Qualität | Erhöht die Qualität von Lumen-Reflexionen auf Oberflächen und reduziert das Rauschen beim Rendern, erhöht aber die GPU-Kosten des Rendering. |
Ray Lighting Modus | Bei Verwendung von Hardware-Raytracing mit Lumen steuert diese Einstellung, ob Reflexionen den Oberflächen-Cache für kostengünstige Beleuchtung wiederverwenden oder die Beleuchtung am Treffpunkt für eine höhere Qualität berechnen. |
Bildschirm-Traces | Ob Bildschirmraum-Traces für die globale Lumen-Beleuchtung verwendet werden sollen. Bildschirmraum-Traces umgehen Lumen-Szene und samplen stattdessen von Szenentiefe und Farbe. Dies verbessert die Qualität, verhindert jedoch gleichzeitig Änderungen, die nur die Lumen-Szene betreffen, wie beispielsweise das Hinzufügen von emissiven Objekten, die nur in der globalen Beleuchtung sichtbar sind. |
Hochwertige Transluzenz-Reflexionen | Ob hochwertige Spiegelreflexionen auf der vorderen Schicht von durchscheinenden Oberflächen verwendet werden sollen. Andere Ebenen verwenden die Strahlkraft-Cache-Methode mit geringerer Qualität, die nur glänzende Reflexionen erzeugen kann. Bei Aktivierung erhöhen sich die GPU-Kosten. Erfordert, dass zuerst die Projekt-Einstellung Hochwertige Transluzenz-Reflexionen aktiviert wird. |
Max Rauheit zu Trace | Legt den maximalen Rauheitwert fest, für den Lumen die dedizierten Reflexionstrahlen noch verfolgt. Höhere Werte verbessern die Reflexionsqualität, erhöhen jedoch die GPU-Kosten erheblich. |
Max. Reflexions-Bounces | Legt die maximale Anzahl an rekursiven Reflexions-Bounces fest. Der Standardwert ist 1, was einen einzelnen Reflexionsstrahl ohne sekundäre Reflexionen in spiegelähnlichen Oberflächen bedeutet. 2 oder mehr Bounces können schwarze Bereiche in Reflexionen verhindern, wenn genügend Performance-Budget dafür vorhanden ist. Diese Nachbearbeitung Einstellung kann bis zu 8 Bounces verarbeiten. Sie können die Einstellung |
Max. Refraktions-Bounces | Die maximale Anzahl der zu verfolgenden Refraktions-Events. Bei Verwendung von Trefferbeleuchtung werden durchscheinende Meshes verfolgt, wenn Lumen Max Refraktion-Bounce größer als 0 sind, wodurch das Tracing der Reflexion aufwändiger wird. |
Zusätzliche Hinweise
Im Folgenden sind einige weitere Überlegungen aufgeführt, die du berücksichtigen solltest, wenn du in deinem Projekt mit den Lumen-Funktionen arbeitest.
Aktualisierungsgeschwindigkeit der Lumen-Beleuchtung
Lumen verwendet eine Reihe von Caches, um Echtzeit-Performance zu erzielen. Während Änderungen der lokalen Beleuchtung schnell übernommen werden, kann die Übernahme globaler Beleuchtungsänderungen, wie das Deaktivieren der Sonne, mehrere Sekunden dauern. Projekte können die Steuerelemente Aktualisierungsgeschwindigkeit der Lumen-Szene Beleuchtung und Aktualisierungsgeschwindigkeit der Final Gather Beleuchtung Steuerelemente im Nachbearbeitungsvolumen verwenden, um diese Verzögerung zu umgehen, was jedoch mit erhöhten GPU-Kosten verbunden ist.
Deaktivieren der statischen Beleuchtung für das Projekt
Eine vorberechnete Beleuchtung für statische Beleuchtung wird entfernt, wenn Lumen aktiviert wird. Sie können die vorberechnete Beleuchtung für Ihr Projekt vollständig deaktivieren, indem Sie in den Projekteinstellungen im Abschnitt Engine > Rendering vollständig deaktivieren, indem du die Option Statische Beleuchtung zulassen deaktivieren.
Das Deaktivieren der statischen Beleuchtung spart auch einen gewissen Overhead der statischen Beleuchtung durch Shader-Permutationen. Außerdem ermöglicht es die Verwendung von Material Umgebungsverdeckung mit Globale Beleuchtung mit Lumen funktioniert.
Bei Projekten, die bereits eine statische Beleuchtung verwenden, werden die Light-Maps in den Speicher und auf die Festplatte geladen, bis Keine vorberechnete Beleuchtung erzwingen in den Welteinstellungen eines bereits geladenen Levels aktiviert ist. Dann musst du die Beleuchtung neu aufbauen und den Level speichern, um die Lightmap-Daten zu entfernen.
Verwendung von Lumen Reflexionen mit gebakter statischer Beleuchtung
Lumen Reflexionen können ohne globale Beleuchtung mit Lumen verwendet werden. Das ist besonders nützlich für Spiele und Projekte, die statische Beleuchtung verwenden, aber die Reflexionsqualität über die Möglichkeiten platzierter Reflexionserfassungen hinaus skalieren wollen. Für eigenständige Lumen-Reflexionen muss der Lumen Hardware-Raytracing-Modus aktiviert sein, wodurch die Trefferbeleuchtung für Reflexionen automatisch aktiviert wird.
Clear Coat Materialien
Lumen unterstützt Clear Coat Materialien (mit dualen Normalen), allerdings mit einigen Einschränkungen. Diese sind:
Nur die oberste Ebene kann niedrige Rauheitswerte aufweisen. Es wird angenommen, dass die unterste Ebene einen groben Wert hat, was zu glänzenden Ergebnissen führt. Diese Einschränkung ergibt sich aus der Tatsache, dass pro Pixel nur ein einziger Reflexionsstrahl geworfen wird, wodurch sowohl die obere als auch die untere Ebene keine scharfen Reflexionen werfen können.
Wenn die Clear Coat-Menge 0 erreicht, gilt die oben genannte Einschränkung weiterhin. Das bedeutet, dass die Reflexionen trotz einer einzigen (unteren) Ebene auch bei niedrigen Rauheitswerten weiterhin glänzend/rau aussehen.
Material Umgebungsverdeckung
Globale Beleuchtung mit Lumen unterstützt Material Umgebungsverdeckung, welches zuverlässige Selbstverdeckung bei Skelett-Meshs bietet.
So verwendest du die Material-Umgebungsverdeckung mit Lumen:
Deaktivieren Sie Statische Beleuchtung erlauben in den Projekteinstellungen, um Platz im GBuffer zu erstellen.
Legen Sie das Material für den Output auf Umgebungsverdeckung fest.
Material Umgebungsverdeckung ist nicht sichtbar, die Material-Umgebungsokklusion ist nicht sichtbar, wenn der Ansichtsmodus Buffer Visualisierung Umgebungsverdeckung verwendet wird.
Globale Beleuchtung mit Lumen unterstützt Material Gebeugte Normal-Maps. Diese sind aber deutlich teurer als die Material-Umgebungsverdeckung mit nur einer geringen visuellen Verbesserung.
So verwendest du gebeugte Normal-Maps mit Lumen:
Legen Sie
r.GBufferDiffuseSampleOcclusion=1im Abschnitt[SystemSettings]der Konfigurationsdatei DefaultEngine.ini Ihres Projekts fest und starten Sie den Editor neu.Richten Sie das Material so ein, dass es an den benutzerdefinierten Output-Knoten Gebeugte Normale ausgegeben wird.