Der Heterogenes-Volumen-Actor wird verwendet, um Volumendomänen-Materialien zu rendern, die spärlichen Volumentexturen sampeln. Dieser Actor unterstützt das Rendering von Volumen in Echtzeit und mit dem Path Tracing. Heterogenes-Volumen-Actors können statische oder animierte spärliche Volumentextur-Materialien rendern.
Links, statische SVT mit einzelnem Volumen; Rechts, eine animierte SVT.
Arbeiten mit Heterogenes-Volumen-Actors
Verwenden Sie den folgenden Workflow, um heterogene Volumen in Ihr Projekt zu holen:
- Importieren Sie eine VDB, um ein spärliches Volumentextur-Asset in der Unreal Engine zu erstellen.
- Richten Sie ein Volumendomänen-Material ein, das ein SVT-Asset sampelt.
- Fügen Sie einen Heterogenes-Volumen-Actor zu der Szene hinzu und weisen Sie ihm ein SVT-Material zu.
VDB-Dateien importieren
Zu Beginn benötigen Sie eine VDB (oder Voxel Data Base) Datei, die Sie in den Inhaltsbrowser importieren können.
Folgen Sie diesen Schritten, um eine VDB-Datei zu importieren:
- Ziehen Sie die VDB-Datei per Drag & Drop direkt in den Inhaltsbrowser .
- Verwenden Sie die Importieren-Schaltfläche im Inhaltsbrowser.
VDB-Dateien verfügen über ein eigenes Importfenster für statische und animierte VDB-Dateien.
Sie haben die Möglichkeit, eine statische oder animierte VDB-Datei zu importieren. Statische VDBs enthalten nur die einzelne Datei und ihre gespeicherten Volumendaten, während animierte VDBs aus einer Reihe einzelner, fortlaufend nummerierter Dateien bestehen. Bei animierten VDBs muss nur eine der fortlaufend nummerierten VDB-Dateien importiert werden, um die gesamte animierte VDB zu importieren.
VDBs können verschiedene Attribute mit ihren Daten speichern. Diese können zwischen Attribut A und Attribut B aufgeteilt werden. Die allgemeine Empfehlung ist, die eingehenden Daten auf zwei Sampling-Attribute aufzuteilen, wobei die ersten Attributdaten als 8-Bit-Unorm und die zweiten Attributdaten als 16-Bit-Float importiert werden.
Bei Projekten von Epic Games bevorzugen wir es, die Dichte als 8-Bit-Unorm zu übertragen und alle anderen Daten während des Imports über die 16-Bit-Float-Attributliste zu leiten.
Importierte Transformationen werden automatisch mit einem heterogenen Volumen angewendet. Wenn die Transformationen mit dem Drehpunkt am Ursprung erstellt wurden, der sich normalerweise an einer der Ecken des Volumens befindet, können Sie das Kontrollkästchen für „Drehpunkt im Schwerpunkt“ aktivieren, um den Drehpunkt in die Mitte des Volumens zu verschieben. Beachten Sie jedoch, dass das erzwungene Verschieben des Drehpunkt s in die Mitte des Volumens die Transformationen beeinträchtigen kann.
Weitere spezifische Informationen zum Importieren und Verwenden von spärlichen Volumentexturen finden Sie unter Spärliche Volumentexturen.
Einrichten eines SVT-Materials
Detaillierte Informationen zur Einrichtung eines Materials mit einer SVT und dessen Verwendung innerhalb eines Materials finden Sie unter Spärliche Volumentexturen .
Heterogene Volumen erfordern ein volumenbasiertes Material, das eine spärliche Volumentextur sampelt. Diese Materialien verwenden den Spärliche Volumentextur Sample-Knoten zum Sampling einer SVT, den Sie in Verbindung mit heterogenen Volumen, volumetrischem Nebel und volumetrischen Wolken oder jedem volumenbasierten Material einsetzen können.
Die Unreal Engine enthält bereits ein leeres SVT-Beispielmaterial, das Sie für Ihr SVT-Asset verwenden können. Sie finden es im Inhaltsbrowser unter Engine > Engine-Materialien mit dem Namen SparseVolumeMaterial. Erstellen Sie eine Kopie dieses Materials und erzeugen Sie daraus eine Instanz.
Sobald Sie die Material-Instanz geöffnet haben, überschreiben Sie den SparseVolumeTexture-Parameter und weisen Sie Ihr eigenes importiertes SVT-Asset dem Zuweisungsslot zu.
Einrichten eines heterogenen Volumens
Folgen Sie diesen Schritten, um ein heterogenes Volumen einzurichten:
- Suchen Sie im Actors platzieren -Panel nach einem Heterogenes Volumen -Actor und fügen Sie ihn der Szene hinzu.
- Weisen Sie dem Actor, während Sie ihn ausgewählt haben, mithilfe des Details-Panels ein SVT-Material zu.
- [Optional] Wenn Sie eine animierte VDB importiert haben, aktivieren Sie die Kontrollkästchen Wiedergeben und Schleife im Bereich Animation.
Eigenschaften des Heterogenes Volumen-Actors
Heterogenes Volumen-Actors verfügen über folgende Eigenschaften:
| Eigenschaften | Beschreibung |
|---|---|
| Materialien | |
| Element [N] | Material-Zuweisungsslot für ein volumenbasiertes Material, das aus einer spärlichen Volumentextur sampelt. |
| Volumen | |
| Volumenauflösung | Die Auflösung des Volumens wird automatisch bestimmt und kann beim Rendern mit einer SVT nicht verändert werden. |
| **Drehpunkt | |
| im Schwerpunkt** | Verschiebt den Drehpunkt in die Mitte des Volumens. Beachten Sie, dass Transformationen mit dem Drehpunkt am Ursprung erstellt wurden, der sich üblicherweise an einer der Ecken des Volumens befindet, je nachdem, wie es erstellt wurde. Das erzwungene Verschieben des Drehpunkts in die Volumenmitte kann Transformationen zerstören. |
| Animation | |
| Frame | Zeigt den aktuellen Frame des gerenderten SVT an. Wenn die Wiedergabe-Option nicht aktiviert ist, können Sie einen bestimmten Frame einer animierten SVT auswählen. |
| **Framerate | |
| ** | Die Geschwindigkeit, mit der die Frames abgespielt werden sollen. |
| Startframe | Mit welchem Frame die animierte SVT beginnen soll. Dies wird durch den verfügbaren Bereich der importierten SVT begrenzt. |
| Endframe | Mit welchem Frame die animierte SVT enden soll. Dies wird durch den verfügbaren Bereich der importierten SVT begrenzt. |
| Wiedergabe | Wenn aktiviert, wird die animierte SVT einmal abgespielt. |
| Endlosschleife | Wenn aktiviert, wiederholt sich die animierte SVT vom Startframe bis zum Endframe. |
| Frame-Transformation | |
| Streaming von spärlichen Volumentexturen | |
| Blockierungsanfragen senden | Das Streaming-System wird benachrichtigt, bei der Aktualisierung der Frame-basierten spärlichen Volumentexturdaten zu blockieren. Dies wird für die Echtzeit-Wiedergabe nicht empfohlen, kann aber für Filmsequenz-Rendering-Vorgänge nützlich sein, wenn das Streaming-System andernfalls höhere MIP-Level laden würde, um die Echtzeit-Framerate |
| aufrechtzuerhalten. | |
| Streaming-Mip-Bias | Legt die Texturebene der zu rendernden SVT fest. Niedrigere Werte bedeuten eine höhere Dichte und Qualität des Volumens. Höhere Werte haben eine geringere Dichte und Qualität. |
| Beleuchtung | |
| Schrittfaktor | Dieser Faktor passt die Schrittgröße des Ray-Marching-Integrators an, sodass sie als Vielfaches der Volumenauflösung erfolgt. Durch Erhöhung dieses Faktors macht der Marcher größere Schritte und opfert Qualität zugunsten der Leistung. |
| Schatten-Schrittfaktor | Dieser Faktor passt die Schrittgröße der Schattenberechnungen des Ray-Marchers an. Durch Erhöhung dieses Faktors macht der Marcher größere Schritte und opfert Qualität zugunsten der Leistung. |
| Schatten-Bias-Faktor | Dieser Faktor passt den anfänglichen Voxel-Bias bei der Schattenberechnung an. Eine Erhöhung dieses Faktors reduziert Eigenbeschattung, kann aber zu Lichtdurchlässigkeit führen. |
| Beleuchtungs-Downsample-Faktor | Dieser Faktor passt die Volumenauflösung eines internen Beleuchtungscaches an. Eine Erhöhung des Faktors reduziert effektiv die genutzte Auflösung, verringert den Systemspeicherbedarf und erhöht die Leistung. Dies führt zu einer Verringerung der Qualität. Während die SVT von Natur aus spärlich ist, ist der interne Beleuchtungscache derzeit dicht besetzt. Der interne Beleuchtungscache wird derzeit keine Volumenauflösung von mehr als 1024 x 1024 x 512 Voxeln zuweisen. |
Animation
Die Animation-Eigenschaften bieten individuelle Regeln für die Wiedergabe. Standardmäßig sind die Eigenschaften Startframe und Endframe an den verfügbaren Bereich der importierten SVT gebunden, können aber angepasst werden, um nur einen Teil der SVT-Animation abzuspielen. Die Wiedergabe erfolgt standardmäßig mit einer kinematografischen Rate von 24 Bildern pro Sekunde, kann aber nach Bedarf angepasst werden.
Die SVT wird in der Szene interaktiv abgespielt, wenn das Kontrollkästchen Wiedergabe aktiviert ist, und kontinuierlich wiederholt, wenn das Kontrollkästchen Schleife aktiviert ist. Wenn das Kontrollkästchen Playing deaktiviert ist, können Sie mit der linken Maustaste auf das Textfeld Frame klicken und nach links oder rechts ziehen, um durch die verfügbaren Frames des SVT zu navigieren.
Beleuchtung
Das aufgeschobene Rendering-Modell verwendet Ray-Marching beim Rendern hochwertiger volumetrischer Assets mit dem Heterogenes Volumen-Actor. Jede anpassbare Faktor-Eigenschaft steht in Relation zur Eigenschaft Volumenauflösung. Die Auflösung der importierten SVT steht in direktem Zusammenhang mit der Laufzeitleistung.
Blueprints
In Blueprints können Sie die Knoten Wiedergeben und Wiedergabe einstellen verwenden, um Animationsdaten zu starten und zu stoppen.
Verwendung heterogener Volumen mit Path Tracing
Sie können heterogene Volumen mit dem Niagara Fluids-Plugin erstellen oder einen Heterogenes Volumen -Actor in Ihren Szenen instanziieren. Diese Volumen werden dargestellt, sobald das Path Tracing aktiviert ist.
Beispiel eines mit Path Tracing gerenderten heterogenen Niagara Fluid-Volumens.
Aktivieren Sie Folgendes, um heterogene Volumen mit Path Tracing zu rendern:
- Projekteinstellungen
- Setzen Sie RHI standardmäßig auf DirectX 12.
- Aktivieren Sie Unterstützung für Hardware-Raytracing.
- Aktivieren Sie Path Tracing
- Plugins
- [Optional] Niagara Fluids
Eine vollständige Liste der Spezifikationen finden Sie unter Path Tracing .
Heterogene Volumen mit Niagara Fluids
Das Niagara Fluids-Plugin muss für diese Funktion aktiviert sein. Weitere Informationen finden Sie unter Niagara Fluids.
Für das Rendering mit Niagara Fluids führen Sie folgende Schritte aus:
- Erstellen Sie ein neues Niagara Fluid im Inhaltsbrowser .
- Wählen Sie im Niagara-Auswahlfenster Neues System aus einer Vorlage oder einem Verhaltensbeispiel und klicken Sie auf Weiter.
- Wählen Sie eines der Beispiele aus der Liste 3D-Gas im Fenster aus.
- Doppelklicke auf das Niagara Fluid Asset, um den Niagara-Editor zu öffnen.
- Wählen Sie den Niagara Fluid-Systemknoten im Diagramm aus.
- Stellen Sie im Details-Panel
Folgendes ein:
- Setzen Sie Schleifenverhalten auf Endlos.
- Schleifendauer sollte kürzer als 5 Sekunden sein.
- Kompilieren und speichern Sie das Niagara Fluid-Asset.
- Platzieren Sie das Niagara Fluid in Ihrer Szene.
- Öffnen Sie das Konsolenfenster und geben Sie
r.PathTracing.HeterogeneousVolumes 1ein, um die Path-Tracing -Unterstützung für heterogenes Volumenrendering zu aktivieren.
Heterogene Volumen mit spärlichen Volumentexturen
Um mit spärlichen Volumentexturen zu rendern, folgen Sie diesen Schritten:
- Importieren Sie eine VDB-Datei und richten Sie ein spärliches Volumentexturmaterial für die Darstellung ein.
- Verwenden Sie im Level-Editor das Actors platzieren -Panel, um einen Heterogenes Volumen-Actor zur Szene hinzuzufügen.
- Weisen Sie das spärliche Volumentexturmaterial seinem Material-Slot zu.
- Öffnen Sie das Konsolenfenster und geben Sie
r.PathTracing.HeterogeneousVolumes 1ein, um die Path-Tracing-Unterstützung für heterogenes Volumenrendering zu aktivieren.
Nützliche Konsolenvariablen
| Konsolenvariable | Beschreibung | Standardwert |
|---|---|---|
r.PathTracing.HeterogeneousVolumes |
Aktiviert Path Tracing für heterogene Volumen. | 0 |
r.HeterogeneousVolumes.IndirectLighting |
Aktiviert indirekte Beleuchtung für heterogene Volumen. Dies ist standardmäßig deaktiviert. | 0 |
r.HeterogeneousVolumes.OrthoGrid |
Aktiviert das Weltkoordinaten-Voxelraster. | 1 |
r.HeterogeneousVolumes.OrthoGrid.MaxBottomLevelMemoryInMegabytes |
Bestimmt das Speicherlimit (in Megabyte) für jedes Voxelraster der untersten Ebene, das für die Voxelisierung verwendet wird (Emission, Auslöschung |
und Albedo). Der empfohlene kinematografische Standardwert ist 512. | 128 |
r.HeterogeneousVolumes.OrthoGridShadingRate |
Bestimmt die aktive Schattierungsrate des Weltkoordinaten-Voxelrasters, wobei der Wert ungefähr der Pixelbreite entspricht. Niedrigere Schattierungsraten erzeugen eine qualitativ hochwertigere Tesselierung, benötigen jedoch mehr Speicher. Der empfohlene kinematografische |
| Standardwert ist 1. | 4 |
r.HeterogeneousVolumes.FrustumGrid |
Aktiviert das Frustum |
| -ausgerichtete Voxelraster. | 1 |
r.HeterogeneousVolumes.FrustumGrid.MaxBottomLevelMemoryInMegabytes |
Bestimmt das Speicherlimit (in Megabyte) für jedes Voxelraster der untersten Ebene, das für die Voxelisierung verwendet wird (Emission, Auslöschung |
und Albedo). Der empfohlene kinematografische Standardwert ist 512. | 128 |
r.HeterogeneousVolumes.FrustumGrid.ShadingRate |
Bestimmt die aktive Schattierungsrate des Frustum |
| -ausgerichteten Voxelrasters, wobei der Wert ungefähr der Pixelbreite entspricht. Niedrigere Schattierungsraten erzeugen eine hochwertigere Tesselierung, benötigen jedoch mehr Speicher. Der empfohlene kinematografische Standardwert ist 1. | 4 |
r.HeterogeneousVolumes.FrustumGrid.DepthSliceCount |
Bestimmt die Anzahl der Tiefenschnitte des Frustum |
-ausgerichteten Voxel-Raster s bei einem Rendering mit einer Schattierungsrate von 1. Ein Rendering mit einer Schattierungsrate von 2 entspricht der Ausgabe einer Tiefenschnittanzahl von 256. Der empfohlene kinematografische Standardwert ist 512 oder 1024. | 512 |
r.HeterogeneousVolumes.Tessellation.FarPlaneAutoTransition |
Begrenzt die Fernebene des Frustum-ausgerichteten Raster |
s, wenn die Voxelgröße des Frustum-ausgerichteten Voxel-Raster s der Voxelgröße des Welt-Bereich-Voxel-Raster
s entspricht. | 1 |
| Skalierbarkeitssvariablen | ||
r.HeterogeneousVolumes.DownsampleFactor |
Dies reduziert die Auflösung des gerenderten Viewports. | 1.0 |
r.HeterogeneousVolumes.MaxStepCount |
Die maximale Anzahl der Ray-Marching-Schritte zur Darstellung heterogener Volumen. | 512 |
r.HeterogeneousVolumes.Shadows.Resolution |
Legt die Auflösung beim Erstellen der volumetrischen Shadow-Map | |
| fest. | 512 |
Projekteinstellungen für Heterogene Volumen
Heterogene Volumen-Actors verfügen über folgende Projekteinstellungen. Diese befinden sich im Abschnitt Engine > Rendering in der Kategorie Heterogene Volumen.
| Eigenschaft | Beschreibung |
|---|---|
| Heterogene Volumen | Aktiviert Rendering mit dem Subsystem für heterogene Volumen. |
| Schattenwurf | Ermöglicht heterogenen Volumen, Schatten auf die Umgebung zu werfen. |
| Zusammensetzung mit Transparenz | Aktiviert die Zusammensetzung mit heterogenen Volumen bei der Darstellung von Transparenz. |
Zusätzliche Hinweise
Echtzeit:
- Echtzeit-Rendering vs. Path Tracing
- Eine umfassendere Unterstützung für die Darstellung von Volumen ist jetzt im Path Tracing verfügbar, das globale Beleuchtung präzise simulieren kann.
- Schattenwurf auf die Umgebung
- Diese Funktion ist experimentell.
- Sie können heterogene Volumenschattenwürfe in den Projekteinstellungen aktivieren.
Path Tracing :
Diese Funktion ist experimentell.
- Blockige oder unscharfe heterogene Volumen
- Die Standard-Schattierungsrate für heterogenes Volume-Rendering beträgt 4, um interaktives Path Tracing zu unterstützen. Eine Reduzierung der Schattierungsrate auf 1 beseitigt wahrnehmbare Artefakte, erfordert jedoch mehr Speicher für eine korrekte Darstellung. Die empfohlene kinematografische Standard-Schattierungsrate ist 1, und das empfohlene Standard-Speicherlimit liegt bei 512. Wir empfehlen, diese Einstellungen in den Film-Rendering-Warteschlange-Einstellungen beim Rendern vorzunehmen.
- Fehlende Voxel in Renderings
- Eine Reduzierung der Schattierungsrate der Weltkoordinaten- und Frustum-ausgerichteten Voxelraster kann versuchen, mehr Voxel der untersten Ebene zuzuweisen als durch das vorgegebene Speicherlimit erlaubt. In diesen Fällen werden keine Voxel zugewiesen und Teile des Volumens fehlen. Derzeit müssen Sie entweder mehr Speicher für die unterste Ebene verwenden oder die Schattierungsrate erhöhen.
- Sich überlappende heterogene Volumen erscheinen blockig
- Voxeldaten der untersten Ebene im Weltkoordinaten-Voxelraster
werden aggregiert, wenn die Region als homogen eingestuft wird. Die Homogenitätserkennung wird innerhalb der Grenzen eines einzelnen Volumens durchgeführt und kann bei überlappenden Volumen in derselben Region zu fehlerhafter Aggregation führen. Sie können die Aggregation verhindern, indem Sie
r.HeterogeneousVolumes.Tessellation.BottomLevelGrid.HomogeneousAggregationauf0setzen, um sie zu deaktivieren.
- Voxeldaten der untersten Ebene im Weltkoordinaten-Voxelraster
werden aggregiert, wenn die Region als homogen eingestuft wird. Die Homogenitätserkennung wird innerhalb der Grenzen eines einzelnen Volumens durchgeführt und kann bei überlappenden Volumen in derselben Region zu fehlerhafter Aggregation führen. Sie können die Aggregation verhindern, indem Sie
- Fliegengittereffekt mit Niagara Fluid
- Niagara-Systeme lösen Path-Tracing-Invalidierungsereignisse nur aus, wenn der Niagara-Editor geöffnet ist. Wenn der Editor geöffnet ist, kann die Animation im Path Tracing korrekt angezeigt werden. Wenn der Editor geschlossen ist, sammelt das Path Tracing weiterhin Samples während der gesamten Animation.
- Fliegengittereffekt mit Heterogenes Volumen-Actor
- Der Heterogenes Volumen-Actor löst derzeit keine Path-Tracing-Invalidierungsereignisse aus. Deaktivieren Sie die Animieren-Eigenschaft des Actors, um die Animation anzuhalten.
Indirekte Beleuchtung mit heterogenen Volumen
Sie können die Unterstützung für indirekte Beleuchtung mit heterogenen Volumen über die Konsolenvariable r.HeterogeneousVolumes.IndirectLighting 1 aktivieren. Diese Funktion eignet sich am besten für High-End-PCs und Kinematografisch-Skalierbarkeitseinstellungen.
![]() |
![]() |
| Keine indirekte Beleuchtung | Mit indirekter Beleuchtung |
Zusätzliche Ressourcen
- Niagara Fluids-Plugin
- Das Niagara Fluids-Plugin enthält Beispiele, die mit heterogenem Volumen-Rendering verwendet werden können. Aktivieren Sie das Plugin in Ihrem Projekt und erstellen Sie ein neues Niagara-System aus den bereitgestellten Vorlagen. Weitere Informationen finden Sie unter Niagara Fluids
- Die in den Beispielen auf dieser Seite verwendeten VDB-Dateien stammen aus dem kostenlosen VDB-Set von JangaFX, erstellt mit EmberGen.
- Laden Sie die kostenlosen Beispiele hier herunter.

