In diesem Tutorial erstellst du eine Nachtszene mit den Materialien und Assets aus dem vorherigen Tutorial sowie einer Auswahl an Nachbearbeitungseffekten wie Belichtung, Bloom, Streulicht und Farbabstufung. Außerdem lernst du, wie du mit Nachbearbeitungsvolumen und Lumen Globale Beleuchtung und Reflexionen die Beleuchtungsqualität und Reflexionen in deiner Szene verbesserst.
Nachbearbeitungseffekte verändern das Erscheinungsbild eines Levels nicht-destruktiv. Du kannst dir diese Effekte wie das Aufsetzen eines Filters auf eine Kamera vorstellen oder wie das Halten eines Farbgels vor die Linse.
Nachbearbeitungseffekte können in Echtzeit angewendet werden, ohne Assets innerhalb eines Levels zu verändern. Da diese Effekte nicht-destruktiv sind, eignen sie sich hervorragend für visuelle Änderungen, ohne Materialien oder komplexe Beleuchtungssetups zu beeinträchtigen.
Der einzige Unterschied zwischen den Levels in den folgenden Bildern ist Farbabstufung – eine Kategorie der Nachbearbeitung.
Spieleentwickler verwenden verschiedene Arten von Nachbearbeitungseffekten, um die Aufmerksamkeit der Spieler zu lenken, Gameplay-Informationen zu kommunizieren und das visuelle Storytelling zu verbessern. Zum Beispiel:
Farbabstufung kann verschiedene Tageszeiten nachahmen, die Stimmung einer Szene ändern oder narrative Elemente wie Rückblenden visuell kommunizieren.
Reflexionen können für mehr Realismus sorgen und die Immersion im Gameplay vertiefen.
Bloom kann in Kombination mit Belichtung und Streulichter verwendet werden, um Leuchten, Reflexion oder die Aufmerksamkeit auf ein Asset zu betonen.
Mehrere Nachbearbeitungseffekte können kombiniert werden, um einen einheitlichen visuellen Stil für ein Spiel zu schaffen oder in bestimmten Spielsituationen eingesetzt zu werden. In der folgenden Demonstration haben wir mehrere Effekte verwendet, um visuell zu kommunizieren, wenn sich ein Spieler unter Wasser befindet.
Nachbearbeitungseffekte werden auch verwendet, um die Optimierung für Beleuchtungsfunktionen zu steuern. Wenn du schon einmal ein AAA-Videospiel gespielt hast, hast du vielleicht Optionen bemerkt, um rechenintensive Effekte wie Reflexionsqualität anzupassen. Später in diesem Tutorial wirst du Nachbearbeitungsvolumen verwenden, um Wiedergabetreue und Performance für die Reflexionsqualität in der Unreal Engine auszubalancieren.
Schauen wir uns als Nächstes an, wie Nachbearbeitungseffekte in Spiel-Levels angewendet werden.
Die Anatomie von Nachbearbeitungsvolumen
Nachbearbeitungseffekte können mithilfe von platzierbaren Nachbearbeitungsvolumen auf ein Level angewendet werden. Volumes definieren den Bereich, auf den ein Effekt angewendet wird. Diese Volumes sind während der Laufzeit für Spieler unsichtbar und können gebunden oder ungebunden sein.
Schauen wir uns ein Beispiel an, das den Unterschied zwischen gebundenen und ungebundenen Volumes verdeutlicht. Im folgenden Bild haben wir drei Nachbearbeitungsvolumen erstellt, die Sättigung beeinflussen.
Im obigen Video siehst du zwei Dinge. Wenn der Spieler durch den Flur geht:
Die Sättigung des ungebundenen Volumes bleibt unverändert, auch wenn der Spieler nicht im Volume ist. Das liegt daran, dass ungebundene Volumes ihre Effekte global anwenden – auf das gesamte Level. Größe und Position des Volumes spielen dabei keine Rolle.
Die Sättigung des gebundenen Volumes ist nur sichtbar, wenn der Spieler sich innerhalb des Volumes befindet. Der Grund dafür ist, dass gebundene Volumes Effekte lokal anwenden – auf den Bereich innerhalb ihrer Grenzen.
Später lernst du, wie du Volumes mischst, um Effekte zu initiieren, wenn sich Spieler ihrem Rand nähern.
Volumes können hierarchisch geschichtet werden, ähnlich wie Ebenen in einer Grafikdesign-Software. Ungebundene oder globale Volumes überlagern kleinere, gebundene Volumes innerhalb eines Levels. Ebenso kannst du eine Schichtungspriorität für gebundene Volumes festlegen, die sich überlappen.
Globale Volumes helfen dabei, im gesamten Spiel einen einheitlichen visuellen Stil zu erhalten, dienen als Grundlage für weitere Schichtungen und sorgen für eine organisierte Arbeitsweise.
Durch den schichtweisen Aufbau visueller Effekte können unerwartete Ergebnisse vermieden werden, die schwer zu lokalisieren und zu debuggen sind. Für Teams, die mit Hunderten von Effekten über mehrere Level arbeiten, kann eine gute Organisation wertvolle Entwicklungs- und Debugging-Zeit einsparen.
Als Nächstes richtest du drei Nachbearbeitungsvolumen in deinem Level ein und legst deren Priorität fest.
Globale und lokale Volumes einrichten
Schauen wir uns das Nachbearbeitungsvolumen noch einmal an, das du in Beleuchten einer Szene erstellt hast, und überprüfen, ob es Effekte global anwendet:
Suche im Outliner nach dem PostProcessVolume und wähle es aus.
Benenne dieses Volumen in
PPV_Globalum.Öffne im Details-Panel den Bereich Nachbearbeitungsvolumeneinstellungen.
Stelle sicher, dass Unendliche Ausdehnung (ungebunden) aktiviert und Priorität auf
0eingestellt ist.
Als Nächstes erstellst du zwei neue Volumes: eines, das Raum 3 umgibt, und eines, das den Level-Übergangspunkt in Raum 3 umgibt.
Du passt die Priorität jedes gebundenen Volumes an, damit es Vorrang vor dem globalen Volume hat, wenn der Spieler es betritt. Bei der Prioritätsvergabe haben höhere Werte Vorrang vor niedrigeren.
Um neue Volumes zu erstellen, folge diesen Schritten:
Klicke in der Hauptsymbolleiste des Editors auf Erstellen > Visuelle Effekte > Nachbearbeitungsvolumen. Alternativ kannst du danach suchen. Füge zwei Volumes hinzu.
Gib dem ersten Volume den Namen
PPV_Room3und dem zweitenPPV_LevelTransition.Wähle im Outliner
PPV_Room3aus und setze Skalierung auf8,5, 10, 5.Setze Position auf
1600, -1050, 370. Dies sollte ungefähr Raum 3 umgeben.Setze unter Nachbearbeitungsvolumeneinstellungen die Priorität auf
100.Wähle Werte mit einem großen Abstand zueinander. So kannst du Volumes einfügen und entfernen, ohne die vorhandene Volume-Priorität aktualisieren zu müssen. Erhöhe zum Beispiel den Wert zwischen den einzelnen Werten um 10 oder 100.
Setze Überblendradius auf
0und stelle sicher, dass Unendliche Ausdehnung deaktiviert ist.Wähle
PPV_LevelTransitionaus und setze Skalierung auf1,5, 1,5, 2,5.Setze Position auf
2170, -1450, 600. Dies sollte den Level-Übergangspunkt ungefähr umgeben.Setze Priorität auf
200und stelle sicher, dass Unendliche Ausdehnung deaktiviert ist.
Deine Volumes für dieses Tutorial sind nun eingerichtet.
Mit Nachbearbeitungsvoreinstellungen experimentieren
In diesem Abschnitt experimentierst du mit Effekten aus den folgenden Nachbearbeitungskategorien:
Linse
Belichtung
Bloom
Streulicht
Farbabstufung
Versatz
Kontrast
Globale Beleuchtung und Reflexionen
Lumen-Szene Beleuchtungsqualität
Lumen Szenendetail
Reflexionsqualität
Bildschirm-Traces
Max. zu verfolgende Rauheit
Belichtung
Belichtung steuert die oberen und unteren Grenzen der Helligkeit in einem Level. Denke daran, dass Nachbearbeitungsvolumen die Eigenschaften anderer Actors in deinem Level nicht verändern. In der folgenden Demonstration ändert sich die Helligkeit der Lichtquelle nicht. Stattdessen ändert sich die maximale Menge an sichtbarem Licht, die in die Kameralinse gelangen darf.
In der echten Welt ähnelt dieser Effekt der Funktionsweise der Blendenöffnung einer Kamera, die die Menge des eingefangenen Lichts steuert. Oder wie sich deine Pupillen erweitern und verengen, um sich an verschiedene Lichtverhältnisse anzupassen. Deshalb wird die Belichtung in der Unreal Engine auch Augenanpassung genannt.
Mit Belichtung kannst du optische Effekte aus der echten Welt nachahmen und einem Spiel Realismus verleihen. Wenn sich ein Spieler von einem dunklen in ein helles Gebiet bewegt, kann das Verlängern der Anpassungsdauer für die globale Belichtung die Zeit nachahmen, die das menschliche Auge benötigt, um sich an helleres Licht zu gewöhnen.
In diesem Abschnitt passt du die Belichtung für PPV_Global und PPV_Room3 an, um beim Betreten von Raum 3 einen Übergang zur Nachtzeit zu erzeugen.
Befolge diese Schritte, um die Belichtung einzustellen:
Wähle im Outliner
PPV_Globalaus.Aktiviere im Details-Panel unter Belichtung die Option MIN EV100 und setze den Wert auf
-10.Aktiviere MAX EV100 und setze den Wert auf
20.Wähle im Outliner
PPV_Room3aus.Aktiviere im Details-Panel unter Belichtung die Option MIN EV100 und setze den Wert auf
-1,0.
Teste dein Level, indem du einen Rechtsklick in den Viewport ausführst und Ab hier spielen auswählst. Wenn du dich auf Raum 3 zubewegst, sollte sich die Belichtung ändern – der Übergang ist jedoch noch zu abrupt.
Um die Dauer des Übergangs zu verlängern, mischst du das globale Volume mit dem gebundenen Volume über Überblendradius:
Wähle im Outliner
PPV_Room3aus.Setze unter Nachbearbeitungsvolumeneinstellungen den Überblendradius auf
1500.
Teste dein Level. Wenn du dich jetzt auf Raum 3 zubewegst, sollte sich die Belichtung allmählich ändern.
Dein Level kann auch bei gleichen Belichtungswerten anders aussehen als unseres. Im vorherigen Tutorial haben wir die Einstellungen des Direktionalen Lichts angepasst, damit es eher wie die Abenddämmerung aussieht.
Als Nächstes passt du das Leuchten der Neonschilder mit Bloom an.
Bloom
Bloom ist eine Beleuchtungsunvollkommenheit, bei der Licht über die Grenzen einer Lichtquelle oder Reflexion hinaus zu strahlen scheint.
In Filmen entsteht diese Unvollkommenheit durch die Art und Weise, wie Kamerasensoren und Linsen Licht einfangen – in Spielen kann dieser Effekt zu künstlerischen Zwecken nachgeahmt werden. Bloom und Belichtung können zum Beispiel verwendet werden, um visuell zu kommunizieren, dass ein Spieler in eine Traumsequenz oder einen Rückblick eingetreten ist oder nach einer Explosion betäubt wurde.
In der Unreal Engine hast du Bloom bereits im vorherigen Tutorial in Aktion gesehen, als du den Helligkeit-Parameter deines emissiven Materialien über einen Wert von 1 erhöht hast.
Anstatt die Eigenschaften jedes einzelnen Assets anzupassen, verwenden wir das Nachbearbeitungsvolumen, um den allgemeinen Bloom in Raum 3 zu steuern:
Wähle im Outliner
PPV_Room3aus.Öffne im Details-Panel die Kategorie Linse.
Öffne die Bloom-Kategorie und aktiviere Intensität. Setze den Wert auf
0,8oder verwende deine eigenen Werte.Aktiviere Schwellenwert und setze den Wert auf
1oder verwende deine eigenen Werte.
Schwellenwert legt den Mindestwert fest, ab dem Bloom einen Effekt auf das Level hat. Du kannst dir das wie eine Klammer vorstellen, wie im vorherigen Tutorial gezeigt. Intensität steuert, wie stark der Bloom-Effekt ist, sobald er in Kraft tritt.
Ein Schwellenwert von -1 erlaubt es allen Farben in einem Level, Bloom zu beeinflussen.
Als Nächstes fügst du den Neonschildern Streulichter hinzu.
Streulicht
Ein Streulicht ist ein Beleuchtungsartefakt, das auftritt, wenn helles Licht von Unvollkommenheiten in der Linse oder in internen Elementen einer Kamera reflektiert wird.
Der Effekt kann in Spielen zu künstlerischen Zwecken nachgeahmt werden. Streulichter können zum Beispiel die Aufmerksamkeit auf ein reflektierendes Asset lenken, Fotorealismus fördern oder die Stärke der Sonne betonen, wenn ein Spieler hineinsieht.
Befolge diese Schritte, um Streulichter in deinem Level zu erstellen:
Wähle im Outliner
PPV_Room3aus.Öffne im Details-Panel den Bereich Linse > Streulichter.
Aktiviere Intensität und setze den Wert auf
0,5.Aktiviere BokehSize und setze den Wert auf
5.Niedrigere Werte erzeugen schärfere Bokeh-Ergebnisse mit weniger Streuung, höhere Werte bewirken mehr Streuung.
Aktiviere BokehShape und suche nach
DefaultBokeh.In Filmen wird die geometrische Form von Bokeh-Partikeln durch die Blendenöffnung der Kamera bestimmt. Da dieser Effekt in Filmen weit verbreitet ist, wird er in Spielen nachgeahmt, in denen es keine physischen Blenden gibt.
Teste deine Arbeit, indem du dich in deinem Level vor einer Lichtquelle oder einem emissiven Material hin- und herbewegst.
Als Nächstes verwendest du Farbabstufung, um den Spielern die Spielmechanik zu vermitteln.
Farbabstufung
Ähnlich wie in Bildbearbeitungssoftware kannst du Farbabstufung verwenden, um Sättigung, Kontrast, Gamma, Gain, Versatz, Tönung und mehr eines Levels zu beeinflussen.
Mit diesen Werkzeugen kannst du die wahrgenommene Tageszeit, Stimmung oder Genrekonventionen des Levels ändern. Ein Sepia-Ton ist zum Beispiel ein Farbabstufungsstil, der den Eindruck von Altertümlichkeit suggeriert.
In deinem Level verwendest du Farbabstufung, um dem Spieler mitzuteilen, dass er einen Level-Übergangspunkt erreicht hat. Der Level-Übergangspunkt ist eine Spielmechanik, die in Entwerfen eines Rätsel-Abenteuers entwickelt wurde und Spieler auf ein neues Level bringt.
Wenn du auf dem Level-Übergangspunkt stehst, ist das Rechteckige Licht unter dir nicht stark genug, um mit dem Direktionalen Licht und den Punktlichtern im Raum zu konkurrieren. Aus Sicht des Spielers könnte der Wechsel vom Gameplay zum Level-Übergang klarer kommuniziert werden.
Wenn sie klar und konsistent präsentiert werden, lernen Spieler, visuelle Hinweise zu erkennen und zu erwarten, die Spielmechaniken im Level signalisieren.
Um dieses Problem mit Nachbearbeitung zu lösen, folge diesen Schritten:
Wähle im Outliner
PPV_LevelTransitionaus.Öffne im Details-Panel den Bereich Farbabstufung > Global und aktiviere Versatz.
Versatz beeinflusst die dunkelsten Bereiche eines Levels und eignet sich ideal, um den allgemeinen Farbton dieses dunklen Raums anzupassen.
Eigene Werte wählen oder R =
-1,0setzen, G =-0,02, B =0,15, und Y =0,07.Der Raum sollte nun blau erscheinen:
Um den durch das Punktlicht erzeugten weißen Hotspot zu korrigieren, öffne Farbabstufung > Glanzlichter und aktiviere Kontrast.
Kontrast passt den Unterschied zwischen den dunkelsten und hellsten Bereichen eines Levels an. Hier senkt eine Verringerung des Kontrasts die Weißwerte, bis sie innerhalb des Schwellenwerts der Versatz-Korrektur liegen.
Setze die Werte auf R =
0,5, G =0,8, B =0,7und Y =1.Der Hotspot sollte nun weniger auffällig sein:
Führe einen Rechtsklick in den Viewport aus und wähle Ab hier spielen, um deine Arbeit zu testen. Wenn du auf das JumpPad läufst und auf dem Level-Übergangspunkt landest, sollte der Bildschirm blau werden.
Als Nächstes verwendest du Nachbearbeitungsvolumen, um die Optimierung für die Reflexionsqualität zu steuern.
Globale Beleuchtung und Reflexionen
Nachbearbeitungsvolumen können die Qualität und den Umfang visueller Effekte steuern. Das hilft dir, Wiedergabetreue und Performance auszubalancieren, wenn du mit rechenintensiven Rendering-Funktionen wie dynamischer Beleuchtung arbeitest.
Denk daran, dass die Ressourcenzuweisung häufig Entwicklungsentscheidungen beeinflusst. In weitläufigen Außenbereichen kannst du Nachbearbeitungsvolumen verwenden, um die Qualität in Bereichen weit entfernt vom Spieler zu drosseln – wo er es nicht bemerken wird. So werden Ressourcen für Bereiche eingespart, wo Qualität wichtig ist, etwa direkt um den Spieler herum im Gameplay oder um die Kamera in einer kinematografischen Szene.
Die Globale Beleuchtung- und Reflexionen -Einstellungen eines Volumes enthalten verschiedene Methoden zur Beleuchtungsberechnung, die für unterschiedliche Entwicklungsanforderungen geeignet sind:
| Methode | Beschreibung |
|---|---|
Keine | Deaktiviert alle Berechnungen für globale Beleuchtung oder Reflexionen. Lichtquellen erzeugen kein indirektes Licht oder Reflexionen, und Schatten erscheinen tiefschwarz. |
Lumen | Lumen Globale Beleuchtung (GI) ist das vollständig dynamische globale Beleuchtungssystem der Unreal Engine, das mit allen Beleuchtungstypen funktioniert. |
Bildschirmraum | Bildschirmbereich Globale Beleuchtung (SSGI) ist ein schnelles, dynamisches Beleuchtungssystem, das nur die Beleuchtung für das berechnet, was im Bildschirmbereich sichtbar ist. |
Wenn in der folgenden Demonstration die Lumen-Methode ausgewählt wird, bemerkst du, wie das orangefarbene Leuchten der Neonpfeile dynamisch zur Szene beiträgt. Der Grund dafür ist, dass emissive Materialien (die keine Lichtquelle sind) bei Verwendung von Lumen berechnet werden, nicht jedoch bei den anderen Methoden.
Zusätzlich zur Qualitätssteuerung können Nachbearbeitungsvolumen auch steuern, wie weit Licht und Reflexionen innerhalb der Szene beitragen können. Lvl_Adventure ist relativ klein und die Render-Distanz stellt kein Problem dar. Bei größeren Bereichen (z. B. Open-World-Spielen, bei denen große Entfernungen erheblichen Ressourcenverbrauch verursachen können) sind Einstellungen wie Lumen-Szene Ansichtsabstand und Max. Trace-Renderabstand nützlich, um die Balance zwischen Umfang und Performance zu finden.
Reflexionsqualität mit Lumen GI anpassen
In diesem Abschnitt nimmst du Anpassungen an den Global-Illumination- und Reflexionen-Einstellungen des Levels vor, indem du Probleme in einer Reihe von Übungen löst. Während du arbeitest, lernst du mehr über die einzelnen Einstellungen und verbesserst das Aussehen der Reflexionen auf dem nassen Boden, den du im vorherigen Tutorial erstellt hast.
Die anzupassenden Einstellungen umfassen:
| Einstellung | Beschreibung |
|---|---|
| Globale Beleuchtung | |
Lumen-Szene Beleuchtungsqualität | Berechnet die Beleuchtungsgenauigkeit der Szene. Höhere Werte bedeuten höhere Genauigkeit, allerdings auf Kosten der Performance. |
Lumen Szenendetail | Steuert die Größe der Instanzen, die in einer Szene dargestellt werden können. Höhere Werte stellen sicher, dass kleine Objekte dargestellt werden, allerdings auf Kosten der Performance. |
| Reflexionen | |
Qualität | Erhöht die Wiedergabetreue von Lumen-Reflexionen auf Oberflächen. Höhere Werte bedeuten höhere Wiedergabetreue und können Artefakte reduzieren, allerdings auf Kosten der Performance. |
Bildschirm-Traces | Schaltet Bildschirmbereich-Traces für Lumen Globale Beleuchtung um. Die Aktivierung von Bildschirm-Traces verbessert die Wiedergabetreue von Reflexionen, wirkt sich jedoch nur auf das aus, was auf dem Bildschirm sichtbar ist. |
Max. zu verfolgende Rauheit | Legt den maximalen Rauheitswert fest, für den Lumen Reflexionen noch verfolgt. |
Um mitzumachen, wende diese Werte auf PPV_Room3 an:
Globale Beleuchtung
Methode: Keine
Lumen-Szene Beleuchtungsqualität:
0,25Lumen Szenendetail:
0,25
Reflexionen
Methode: Keine
Qualität:
0,25Bildschirm-Traces: deaktiviert
Max. zu verfolgende Rauheit:
0,0
Befolge diese Schritte, um mit den Übungen zu beginnen:
Suche im Viewport oder Outliner nach einem der emissiven Assets, die du im vorherigen Tutorial erstellt hast. Ordne es auf dem Boden an, wie du möchtest.
Wähle im Outliner
PPV_Room3aus.Navigiere zum Details-Panel. Um Lumen GI zu verwenden, öffne Globale Beleuchtung, aktiviere Methode, und wähle Lumen.
Deine Szene sollte nun so aussehen:
Um Lumen-Reflexionen zu verwenden, öffne Reflexionen, aktiviere Methode und wähle Lumen.
Deine Szene sollte nun so aussehen:
Reflexionen sind auf Materialien mit geringer Rauheit deutlicher sichtbar. Da die Rauheit von
BP_Floorbei Nässe 0 (keine Rauheit) beträgt, setze Max. zu verfolgende Rauheit auf1,0.Deine Szene sollte nun so aussehen:
Ein Teil der Emissionsleistung geht auf dem nassen Boden verloren. Um dieses Problem zu lösen, aktiviere Bildschirm-Traces.
Deine Szene sollte nun so aussehen:
Die Menge des reflektierten Lichts wurde zwar verbessert, aber die Reflexion selbst ist noch nicht scharf. Erhöhe Qualität auf
1,0, um die Schärfe der Reflexionen zu verbessern.Deine Szene sollte nun so aussehen:
Die Reflexionen sind nun klarer, aber es sind subtile Artefakte hinter dem Pfeil sichtbar.
Um diese Artefakte zu beheben, kannst du die Anzahl der von Lumen GI erzeugten Samples erhöhen. Aktiviere unter Lumen Globale Beleuchtung die Option Lumen-Szene Beleuchtungsqualität und setze den Wert auf
1,0.Aktiviere Lumen Szenendetail und setze den Wert auf
1,0..Deine finale Szene sollte nun so aussehen:
Mit diesen Einstellungen hast du Lumen Globale Beleuchtung und Reflexionen verwendet, um die visuelle Wiedergabetreue und Performance von Lvl_Adventure zu steuern. Erkunde diese Einstellungen in deinem eigenen Level und überlege, wo du Ressourcen für Qualität einsetzen oder einsparen möchtest, um die Performance zu verbessern.
Als Nächstes
Im nächsten Tutorial lernst du, wie du Nachbearbeitungsmaterialien erstellst und einen Effekt auf dem Bildschirm anwendest, um Schaden anzuzeigen.