Diese Seite beschreibt Funktionalität, die sowohl in der Unreal Engine als auch Unreal Editor für Fortnite (UEFN) auftaucht.
Die Seite wurde ursprünglich für die Unreal Engine verfasst, darum sind manche Beschreibungen und Screenshots eventuell anders als im UEFN.
Klicke hier um zur Haupt-Dokumentation von UEFN zurückzukehren.
Volumetrischer Nebel ist ein optionaler Bestandteil der Komponente [Exponentialer Höhennebel] (building-virtual-worlds\lighting-and-shadows\environmental-lighting\exponential-height-fog). Volumetrischer Nebel berechnet die Dichte der beteiligten Medien und die Beleuchtung an jedem Punkt des Kamerafrustums, um unterschiedliche Dichten und eine beliebige Anzahl von Lichtern, die den Nebel beeinflussen, zu unterstützen.
In dieser Szene kommt der volumetrische Nebel von der gerichteten Lichtquelle außerhalb des Bildschirms durch den Bogen und den umliegenden Bereich, um beschatteten Nebel zu erzeugen.
Volumetrische Nebelsteuerung
Beim Einrichten und Anpassen des volumetrischen Nebels kannst du diesen global oder lokal in deiner Szene steuern. Mit den globalen Steuerelementen kannst du die Komponente Exponentialer Höhennebel verwenden, um den Nebel für die gesamte Szene zu steuern. Mit den lokalen Steuerelementen kannst du den Nebel mit Hilfe eines Partikelsystems in Bereichen steuern, in denen die Partikel spawnen können.
Globale Steuerelemente
Um den volumetrischen Nebel zu steuern, kannst du die Eigenschaften in deinem Exponentiellen Höhennebel und in jedem Licht anpassen, um den Beitrag des Lichts zu steuern.
Exponentieller Höhennebel
Die Steuerelemente für volumetrischen Nebel befinden sich in der Komponente Exponentieller Höhennebel unter dem Abschnitt Volumetrischer Nebel. Die exponentielle Höhenverteilung liefert eine globale Dichte für volumetrischen Nebel.
| Eigenschaft | Beschreibung |
|---|---|
| Streuungsverteilung | Bestimmt, wie gerichtet die volumetrische Streuung ist; ein Wert von 0 bedeutet, dass das Licht gleichmäßig in alle Richtungen gestreut wird, während ein Wert nahe 1 eine Streuung vorwiegend in Richtung des Lichts bewirkt (man muss auf das Licht schauen, um die Streuung zu sehen). |
| Albedo | Dies ist das allgemeine Reflexionsvermögen der beteiligten Medien. Wolken, Nebel und Dunst, die aus Wasserteilchen bestehen, haben eine Albedo nahe 1. |
| Emissiv | Dies ist die Dichte des Lichts, das vom Höhennebel abgestrahlt wird. |
| Extinktionsskala | Steuert, wie stark die beteiligten Medien das Licht blockieren. |
| Betrachtungsdistanz | Dies ist der Abstand von der Kamera, über den der volumetrische Nebel berechnet wird. In der erstellten Volumentextur für den Nebel gibt es eine begrenzte Anzahl von Z-Slices, die von diesem Abstand abhängen. Eine Vergrößerung des Abstands führt zu einem Under-Sampling, das Artefakte hervorrufen kann. Die Anzahl der Z-Slices kann mit r.VolumetricFog.GridSizeZ eingestellt werden, wobei eine höhere Anzahl eine bessere Qualität bedeutet, aber auch teurer ist. |
| Startdistanz | Dies ist der Abstand (in Welteinheiten) von der Kamera, von dem aus der volumetrische Nebel startet. |
| Nahe Einblendungsdistanz | Dies ist die Distanz, über die der volumetrische Nebel von der Startdistanz aus eingeblendet wird. |
| Statische Beleuchtungsstreuungsintensität | Skaliert die Intensität der statischen Beleuchtungsstreuung des volumetrischen Nebels. |
| Lichtfarben mit Nebelstreufarben überschreiben | Wenn aktiviert, werden die Eigenschaften Nebelstreufarbe, Richtungsstreufarbe und Streutextur verwendet, um die Lichtfarbe mit volumetrischem Nebel zu überschreiben. |
Lichter
Wie viel jedes Licht zur Szene beiträgt (und ob es den Nebel beschattet), kann durch die Einstellung der folgenden Eigenschaften im Detail-Panel jedes Lichts unter dem Abschnitt Licht gesteuert werden.
| Eigenschaft | Beschreibung |
|---|---|
| Volumetrische Streuungsintensität | Steuert, wie viel dieses Licht zum volumetrischen Nebel beiträgt. Wenn der Wert 0 ist, gibt es keinen Beitrag. |
| Volumetrischen Schatten werfen | Legt fest, ob für Lichter, die zum volumetrischen Nebel beitragen, ein volumetrischer Schatten geworfen werden soll oder nicht. Wenn Schattenwurf aktiviert ist, sind Punkt- und Spotlichter etwa dreimal so teuer, da sie zur Beschattung der Volumentexturen beitragen, während Lichter ohne Schattenwurf nur zum Nebel beitragen, aber nicht beschatten. |


In diesem Beispiel wurde der Beitrag des Spotlichts zum volumetrischen Nebel deaktiviert, indem die Volumetrische Streuungsintensität auf 0 gesetzt wurde.
Lokale Steuerelemente
Materialien, die den Bereich Volumen verwenden, beschreiben Albedo, Emissionsgrad und Extinktion für einen bestimmten Punkt im Raum. Albedo liegt im Bereich [0-1], während Emissivität und Extinktion Welt-Raumdichten mit einem beliebigen Wert über 0 sind.
Dies ist ein Beispiel für das einfachste Volumenmaterial für ein Partikelsystem.
Volumenmaterialien funktionieren derzeit nur für Partikel und Positionen innerhalb des Partikelradius sind gültig, was normalerweise durch eine SphereMask gehandhabt wird.
Wenn ein einzelnes Partikelsystem mit dem Material platziert wird, wird dem volumetrischen Nebel eine Kugel mit der Dichte hinzugefügt. Der Effekt ist vollständig dreidimensional (3D), ohne dass Billboards verwendet werden.
Wenn du diesen Ansatz weiterverfolgst, kannst du mehrere kugelförmige Nebelpartikel mit Rauschen aus Texturen verwenden, um den Nebel auf einen bestimmten Bereich deiner Szene zu beschränken.
In dieser Szene haben die Nebelpartikel diese tief liegenden Bereiche bevölkert, um einen lokalisierten Nebeleffekt zu erzeugen, der mit Volumetrischem Nebel beschattet wird.
Zeitliche Reprojektion
Die von Volumetrischem Nebel verwendeten Volumentexturen (Voxel) sind relativ niedrig aufgelöst und am Kamerafrustum ausgerichtet. Volumetrischer Nebel verwendet einen starken zeitlichen Reprojektionsfilter mit einem unterschiedlichen Sub-Voxel-Jitter pro Frame, um das Aliasing zu glätten. Ein Nebeneffekt ist, dass schnell wechselnde Lichter, wie Taschenlampen und Mündungsfeuer, Lichtspuren hinterlassen. Um den Beitrag dieser Lichter zu deaktivieren, muss Volumetrische Streuungsintensität auf 0 gesetzt werden.
Vorberechnete Beleuchtung bei volumetrischem Nebel
Volumetric Lightmaps support static lighting application for Volumetric fog by having each fog voxel interpolate precomputed lighting to its position in space.


Stationary Lights have their indirect lighting stored in lightmaps, which now affects fog.


Skylights are shadowed properly, preventing indoor areas from becoming over-fogged.


Static and Emissive for Static lights affect fog without costing anything since they're all merged into the Volumetric Lightmap.
Leistung
Die GPU-Kosten des volumetrischen Nebels werden in erster Linie durch die Auflösung der Volumentextur gesteuert, die auf dem Schatten-Level der Engine-Skalierbarkeit eingestellt wird. Volumetrischer Nebel kostet 1 Millisekunde auf PlayStation 4 bei hohen Einstellungen, und 3 Millisekunden auf einer NVIDIA 970 GTX bei epischen Einstellungen, die achtmal mehr Voxel zu bearbeiten hat.
- Partikel, die die Volumen-Domäne verwenden, können erhebliche GPU-Kosten verursachen, abhängig von ihrer 3D-Überzeichnung und der Anzahl der Befehle. Verwende den Konsolenbefehl
profilegpu, um diese Kosten zu überprüfen. - Punkt- und Spot-Lichter, bei denen Volumetrischer Schatten aktiviert ist, kosten etwa dreimal so viel wie Punkt- und Spot-Lichter ohne Schatten.
Derzeit unterstützte Funktionen
Diese Liste enthält die derzeit unterstützten Funktionen des volumetrischen Nebels:
- Ein einzelnes gerichtetes Licht, mit Schatten aus Cascaded Shadow Maps oder statischem Schatten, mit einer Lichtfunktion.
- Beliebig viele Punkt- und Spotlichter, mit dynamischer oder statischer Beschattung (wenn Volumetrischen Schatten werfen aktiviert ist).
- Beschattung von stationären Oberlichtern.
- Vorberechnete Beleuchtung durch volumetrische Lightmaps (direkte Beleuchtung von statischen Lichtern, indirekte Beleuchtung von stationären Lichtern).
- Ein einzelnes Oberlicht, mit Schattenbildung durch Abstandsfeld-Umgebungsokklusion (falls aktiviert).
- Partikellichter (wenn Volumetrische Streuintensität größer als 0 ist).
Auch die Transluzenz wird durch den volumetrischen Nebel je nach seiner Position in der Szene beeinflusst. Standardmäßig berechnet Transluzenz den Nebel an den Scheitelpunkten, so dass Wasserflächen mit geringer Tesselierung Artefakte verursachen können. Diese Materialien können so eingestellt werden, dass sie Nebel pro Pixel berechnen, um dieses Problem zu lösen, indem Nebel pro Pixel berechnen in den Materialdetails aktiviert wird.
Bekannte Probleme
Die folgenden Funktionen werden bei der Verwendung von volumetrischem Nebel noch nicht unterstützt:
- IES-Profile und Lichtfunktionen bei Punkt- und Spotlichtern.
- Schattierung durch Ray-Tracing-Abstandsfeldschatten.
- Schattierung durch volumetrischen Nebel (selbst).
- Quellenradius bei Punkt- und Spotlichtern.
- Einige Einstellungen im Exponentialhöhennebel, wie Nebelunterbrechungsabstand, Startabstand und maximale Nebelopazität.
Häufige Fragen
Im Folgenden findest du einige allgemeine Fragen und Probleme, die bei der Verwendung von volumetrischem Nebel auftreten können.
Wie kann man stärkere Lichtschächte ohne starken globalen Nebel erreichen? Wenn die globale Nebeldichte erhöht wird, erhält man dichteren Nebel, so dass man Lichtschatten nur dann wahrnimmt, wenn der Nebel so dicht ist, dass alles stark vernebelt ist. Es gibt zwei Möglichkeiten, um stärkere Lichtschächte ohne starken Nebel zu erhalten: 1. Halte die globale Nebeldichte niedrig, aber verwende eine höhere Volumetrische Streuungsintensität für das gerichtete Licht. Stelle außerdem die Streuungsverteilung in deinem Exponentieller-Höhennebel-Actor auf fast 0,9. 1. Halte die globale Nebeldichte niedrig, aber erhöhe sie in bestimmten Bereichen mit Volumenpartikeln. Können exponentieller Höhennebel und volumetrischer Nebel gleichzeitig verwendet werden? Zurzeit ersetzt der volumetrische Nebel die Nebelstreufarbe innerhalb der Betrachtungsdistanz des volumetrischen Nebels. Da volumetrischer Nebel physikalisch basiert ist und exponentieller Nebel nicht, ist es unmöglich, die beiden Systeme in der Ferne zu vermischen, damit sie genau übereinstimmen. Das bedeutet auch, dass einige Einstellungen in der Komponente Exponentialer Höhennebel keine Auswirkungen auf den volumetrischen Nebel haben werden.
- Kann das Zentrum des volumetrischen Nebels von der Kamera entkoppelt werden? Dies wäre ideal für Top-Down-Spiele...
- Derzeit nicht, aber ein eigenständiges Volumen wäre ideal für diesen Zweck. Es ist jedoch schwierig, diese effizient in die Transluzenz zu integrieren.