El actor de volumen heterogéneo se utiliza para renderizar materiales de dominio volumétrico que se muestrean a partir de texturas de volumen disperso. Este actor admite la renderización de volúmenes en tiempo real y con la función Path Tracer. El actor de volumen heterogéneo puede renderizar materiales de textura de volumen disperso estáticas o animadas.
A la izquierda, textura de volumen disperso único estática; a la derecha, textura de volumen disperso animada.
Cómo trabajar con actores de volumen heterogéneo
Utiliza el siguiente proceso de trabajo para utilizar volúmenes heterogéneos en tu proyecto:
- Importa un VDB para crear un recurso de textura de volumen disperso en Unreal Engine.
- Configura un material de dominio volumétrico que muestre un recurso de textura de volumen disperso.
- Añade un actor de volumen heterogéneo a la escena y asígnale un material de textura de volumen disperso.
Cómo importar archivos VDB
Para empezar, debes tener un archivo VDB (o base de datos de vóxeles) para importar en el explorador de contenido.
Para importar un archivo VDB, sigue estos pasos:
- Arrastra y suelta la VDB directamente en el explorador de contenido.
- Utiliza el botón Importar en el explorador de contenido.
Las VDB tienen su propia ventana de importación para importar archivos VDB estáticos y animados.
Tienes la opción de importar un archivo VDB estático o animado. Las VDB estáticas solo incluyen el archivo único y su volumen datos almacenado, mientras que las VDB animadas son un conjunto de archivos individuales numerados secuencialmente. Las VDB animadas solo necesitan importar cualquiera de los archivos VDB numerados secuencialmente para importar la VDB animada en su totalidad.
Las VDB pueden incluir diferentes atributos almacenados con los datos correspondientes. Se pueden dividir entre atributo A y atributo B. La recomendación general es dividir los datos entrantes en dos atributos de muestreo, donde el primer atributo datos se importa como unorm de 8 bits y el segundo atributo datos como float de 16 bits.
En el proyecto de Epic Games, preferimos aplicar la densidad como un unorm de 8 bits y pasar todos los demás datos a través de la lista de atributos de float de 16 bits durante la importación.
Las transformaciones importadas se aplican automáticamente con un volumen heterogéneo. Si la transformación se creó con el punto de traslación en el origen, que suele ser una de las esquinas del volumen, puedes marcar la casilla Punto de traslación en centroide para mover el punto de traslación al centro del volumen. Sin embargo, ten en cuenta que forzar el punto de traslación hacia el centro del volumen puede acabar rompiendo las transformaciones.
Para obtener más información relacionada con la importación y el uso de texturas de volumen disperso, consulta Texturas de volumen disperso.
Cómo configurar un material de textura de volumen disperso
Para obtener información detallada sobre cómo configurar un material con una textura de volumen disperso y utilizarla dentro de un material, consulta Textura de volumen disperso.
Los volúmenes heterogéneos requieren un material basado en volumen que muestrea a partir de una textura de volumen disperso. Estos materiales utilizan el nodo Sparse Volume Texture Sample para muestrear una textura de volumen disperso, que puedes utilizar junto con volúmenes heterogéneos, niebla volumétrica, nubes volumétricas o cualquier material basado en volumen.
Unreal Engine incluye una muestra vacía de material de textura de volumen disperso ya configurada a la que puedes aplicar el recurso de textura de volumen disperso. Puedes encontrarlo en el explorador de contenido en Motor > Materiales del motor denominado SparseVolumeMaterial. Haz una copia de este material y crea una instancia de él.
Una vez que abras la instancia de material, anula el parámetro SparseVolumeTexture y aplica tu propio recurso de textura de volumen disperso importado a la ranura de asignación.
Cómo configurar un volumen heterogéneo
Para configurar un volumen heterogéneo, sigue estos pasos:
- Mediante el panel Colocar actores, busca y añade un actor Volumen heterogéneo a la escena.
- Con el actor seleccionado, utiliza el panel Detalles para asignar un material de textura de volumen disperso al actor.
- [Opcional] Si has importado una VDB animada, debes marcar las casillas En reproducción y En bucle en la sección Animación.
Propiedades del actor de volumen heterogéneo
Los actores de volumen heterogéneo tienen las siguientes propiedades:
| Propiedades | Descripción |
|---|---|
| Materiales | |
| Elemento [N] | Ranura de asignación de material para un material basado en volumen que muestrea a partir de una textura de volumen disperso. |
| Volumen | |
| Resolución de volumen | La resolución del volumen se determina automáticamente y no puede modificarse cuando se realiza la renderización con una textura de volumen disperso. |
| Punto de traslación en centroide | Mueve el punto de traslación al centro del volumen. Ten en cuenta que las transformaciones se crearon con el punto de traslación en el origen, que suele ser una de las esquinas del volumen, según cómo se haya creado. Forzar el punto de traslación hacia el centro del volumen puede romper las transformaciones. |
| Animación | |
| Fotograma | Muestra el fotograma actual de la textura de volumen disperso que se está renderizando. Si la casilla de verificación En reproducción no está seleccionada, puedes especificar un fotograma concreto de una textura de volumen disperso animada. |
| Tasa de fotogramas | La velocidad a la que deben reproducirse los fotogramas. |
| Fotograma inicial | Fotograma por el que debe empezar la textura de volumen disperso animada. Se encuentra limitado por el rango disponible de la textura de volumen disperso importada. |
| Fotograma final | Fotograma con el que debe terminar la textura de volumen disperso animada. Se encuentra limitado por el rango disponible de la textura de volumen disperso importada. |
| En reproducción | Si se activa, reproduce la textura de volumen disperso animada una vez. |
| En bucle | Si se activa, vuelve a repetir la textura de volumen disperso animada desde el fotograma inicial hasta el fotograma final. |
| Transformación de fotograma | |
| Transmisión de texturas de volumen disperso | |
| Emitir solicitudes de bloqueo | Se notifica al sistema de transmisión que se bloquee al actualizar los datos de textura de volumen disperso por fotograma. No se recomienda para la reproducción en tiempo real, pero puede ser útil para la renderización cinemática si, de lo contrario, el sistema de transmisión paginaría en un nivel de MIP más alto para mantener la tasa de fotogramas en tiempo real. |
| Compensación de MIP para la transmisión | Configura el nivel de textura de la textura de volumen disperso que se está renderizando. Un valor menor equivale a una densidad y una calidad del volumen mayores. A mayor valor, menor densidad y calidad. |
| Iluminación | |
| Factor de paso | Este factor ajusta el tamaño de los pasos del integrador de la marcha de rayos para que se produzca a un múltiplo de la resolución del volumen. Al aumentar este factor, la marcha se realiza con pasos más largos y se sacrifica la calidad por el rendimiento. |
| Factor de paso de sombra | Este factor ajusta el tamaño de los pasos de los cálculos de sombras en la marcha de rayos. Al aumentar este factor, la marcha se realiza con pasos más largos y se sacrifica la calidad por el rendimiento. |
| Factor de compensación de sombras | Este factor ajusta la compensación inicial de vóxeles que se aplica al calcular las sombras. Aumentar este factor reduce el sombreado automático, pero puede crear fugas de luz. |
| Factor de reducción de muestreo de resolución | Este factor ajusta la resolución del volumen de una caché de iluminación interna. Aumentar el factor reduce de forma efectiva la resolución operativa, disminuye la memoria del sistema y aumenta el rendimiento. Esto disminuye la calidad. Mientras que el volumen de la textura es disperso de forma nativa, la caché de iluminación interna es densa actualmente. Actualmente, la caché de iluminación interna no asignará una resolución de volumen superior a 1024 × 1024 × 512 vóxeles. |
Errores de animación
La propiedad Animación proporciona reglas personalizadas para la reproducción. De forma predeterminada, las propiedades Fotograma inicial y Fotograma final están vinculadas al rango disponible de la textura de volumen disperso importada, pero puede recortarse para reproducir solo parte de la animación de la textura de volumen disperso. Está previsto que la reproducción se produzca a una velocidad «cinemática» de 24 fotogramas por segundo, pero puede ajustarse según sea necesario.
La textura de volumen disperso se reproduce de forma interactiva en la escena si se marca la casilla de verificación En reproducción, y se repite continuamente si se marca la casilla de verificación En bucle. Si no se marca la casilla de verificación En reproducción, puedes hacer clic con el botón izquierdo del ratón en el campo de texto Fotograma y arrastrar a izquierda o derecha para avanzar en la reproducción de los fotogramas disponibles de la textura de volumen disperso.
Iluminación
El modelo de renderizado diferido utiliza la marcha de rayos al renderizar los recursos volumétricos de gran calidad con el actor de volumen heterogéneo. Cada propiedad de factor ajustable es relativa a la propiedad Resolución del volumen. La resolución de la textura de volumen disperso importada tiene una correlación directa con el rendimiento en tiempo de ejecución.
Blueprints
En Blueprints, puedes utilizar los nodos Play y Set Playing para iniciar y detener los activadores de los datos de animación.
Cómo utilizar los volúmenes heterogéneos con Path Tracer
Puedes crear volúmenes heterogéneos con el complemento Niagara Fluids o con una instancia al actor de volumen heterogéneo en la escena. Estos volúmenes inician la renderización cuando se habilita Path Tracer.
Ejemplo de un volumen heterogéneo de Niagara Fluids renderizado con Path Tracer.
Para renderizar volúmenes heterogéneos con Path Tracer, habilita lo siguiente:
- Configuración del proyecto
- Establece el RHI predeterminado en DirectX 12.
- Habilita Admitir trazado de rayos por hardware.
- Habilita Trazado de rutas.
- Complementos
- [Opcional] Niagara Fluids
Para obtener una lista completa de especificaciones, consulta Path Tracer.
Volúmenes heterogéneos con Niagara Fluids
El complemento Niagara Fluids debe estar habilitado para utilizar esta función. Para obtener más información, consulta Niagara Fluids.
Para renderizar con Niagara Fluids, sigue estos pasos:
- Crea un nuevo fluido de Niagara en el explorador de contenido.
- En la ventana del selector de Niagara, selecciona Nuevo sistema a partir de una plantilla o ejemplo de comportamiento y haz clic en Siguiente.
- Elige uno de los ejemplos de la lista Gas 3D de la ventana.
- Haz doble clic en el recurso de Niagara Fluids para abrir el Niagara Editor.
- Selecciona el nodo del sistema de Niagara Fluids en el grafo.
- En el panel Detalles, configura lo siguiente:
- Comportamiento del bucle en Infinito.
- La Duración del bucle debe ser inferior a 5 segundos.
- Compila y guarda el recurso de Niagara Fluids.
- Coloca el fluido de Niagara en tu escena.
- Abre la ventana de consola y escribe la entrada
r.PathTracing.HeterogeneousVolumes 1para habilitar la compatibilidad de Path Tracer con la renderización de volúmenes heterogéneos.
Volúmenes heterogéneos con texturas de volumen disperso
Para renderizar con texturas de volumen disperso, sigue estos pasos:
- Importa un archivo VDB y configura un material de textura de volumen disperso para mostrarlo.
- En el editor de niveles, utiliza el panel Colocar actores para añadir un actor Volúmenes heterogéneos a la escena.
- Asigna el material de textura de volumen disperso a su ranura de material.
- Abre la ventana de consola y escribe la entrada
r.PathTracing.HeterogeneousVolumes 1para habilitar la compatibilidad de Path Tracer con la renderización de volúmenes heterogéneos.
Variables útiles de consola
| Variable de consola | Descripción | Valor predeterminado |
|---|---|---|
r.PathTracing.HeterogeneousVolumes |
Habilita el trazado de rutas de volúmenes heterogéneos. | 0 |
r.HeterogeneousVolumes.IndirectLighting |
Habilita la iluminación indirecta de volúmenes heterogéneos. Está deshabilitado de forma predeterminada. | 0 |
r.HeterogeneousVolumes.OrthoGrid |
Habilita la cuadrícula de vóxeles del espacio del mundo. | 1 |
r.HeterogeneousVolumes.OrthoGrid.MaxBottomLevelMemoryInMegabytes |
Determina el límite de memoria (en megabytes) de cada cuadrícula de vóxeles de nivel inferior que se utiliza para la voxelización (emisión, extinción y albedo). El valor predeterminado de cinemática recomendado es 512. | 128 |
r.HeterogeneousVolumes.OrthoGridShadingRate |
Determina la tasa de sombreado activa de la cuadrícula de vóxeles del espacio del mundo, donde el valor corresponde aproximadamente con la anchura en píxeles. Las tasas de sombreado más bajas crean un teselado de mayor calidad, pero requieren más memoria. El valor predeterminado de cinemática recomendado es 1. | 4 |
r.HeterogeneousVolumes.FrustumGrid |
Habilita la cuadrícula de vóxeles alineada con el campo de visión. | 1 |
r.HeterogeneousVolumes.FrustumGrid.MaxBottomLevelMemoryInMegabytes |
Determina el límite de memoria (en megabytes) de cada cuadrícula de vóxeles de nivel inferior que se utiliza para la voxelización (emisión, extinción y albedo). El valor predeterminado de cinemática recomendado es 512. | 128 |
r.HeterogeneousVolumes.FrustumGrid.ShadingRate |
Determina la tasa de sombreado activo de la cuadrícula de vóxeles alineada con el campo de visión, donde el valor corresponde aproximadamente a la anchura en píxeles. Las tasas de sombreado más bajas crean un teselado de mayor calidad, pero requieren más memoria. El valor predeterminado de cinemática recomendado es 1. | 4 |
r.HeterogeneousVolumes.FrustumGrid.DepthSliceCount |
Determina el número de divisiones de profundidad de la cuadrícula de vóxeles alineada con el campo de visión cuando se renderiza con una tasa de sombreado de 1. La renderización con una tasa de sombreado de 2 corresponde a emitir un recuento de divisiones de profundidad de 256. El valor predeterminado de cinemática recomendado es 512 o 1024. | 512 |
r.HeterogeneousVolumes.Tessellation.FarPlaneAutoTransition |
Trunca el plano lejano de la cuadrícula alineada con el campo de visión cuando el tamaño de vóxeles de la cuadrícula de vóxeles alineada con el campo de visión se corresponde con el tamaño de vóxeles de la cuadrícula de vóxeles del espacio del mundo. | 1 |
| Variables de escalabilidad | ||
r.HeterogeneousVolumes.DownsampleFactor |
Esto reduce la resolución del visor renderizado. | 1.0 |
r.HeterogeneousVolumes.MaxStepCount |
El número máximo de pasos de la marcha de rayos que se utiliza para renderizar volúmenes heterogéneos. | 512 |
r.HeterogeneousVolumes.Shadows.Resolution |
Establece la resolución al compilar el mapa de sombras volumétrico. | 512 |
Configuración del proyecto de volúmenes heterogéneos
Los actores de volumen heterogéneo tienen la siguiente configuración del proyecto. Se encuentran en la sección Motor > Renderización de la categoría Volúmenes heterogéneos.
| Propiedad | Descripción |
|---|---|
| Volúmenes heterogéneos | Habilita el renderizado con el subsistema de volúmenes heterogéneos. |
| Proyección de sombras | Permite que los volúmenes heterogéneos puedan proyectar sombras sobre el entorno. |
| Compuesto con traslucidez | Habilita la composición con volúmenes heterogéneos al renderizar la traslucidez. |
Notas adicionales
En tiempo real:
- Renderización en tiempo real frente a Path Tracer
- Ya está disponible la compatibilidad más completa con la renderización de volúmenes con Path Tracer, que puede simular con precisión la iluminación global.
- Proyectar sombras en el entorno
- Esta función es experimental.
- Puedes activar la proyección de sombras de volúmenes heterogéneos en la configuración del proyecto.
Path Tracer:
Esta función es experimental.
- Volúmenes heterogéneos en bloques o desenfocados
- La tasa de sombreado predeterminada para la renderización de volúmenes heterogéneos es 4 para admitir el trazado de rutas interactivo. Bajar la tasa de sombreado a 1 elimina los artefactos perceptibles, pero requiere un aumento de la memoria para renderizar correctamente. La tasa de sombreado predeterminada cinemática recomendada es 1, y el límite de memoria predeterminado recomendado es 512. Recomendamos configurar estos ajustes en la configuración de Movie Render Queue al renderizar.
- Faltan vóxeles en los renderizados
- Si bajas la tasa de sombreado de la cuadrícula de vóxeles alineada con el campo de visión y del espacio del mundo, es posible que se intente asignar más vóxeles de nivel inferior del que permite el límite de memoria impuesto. En estas instancias, no se asignarán los vóxeles y faltarán porciones del volumen. En este momento, debes usar más memoria de nivel inferior o incrementar la tasa de sombreado.
- Los volúmenes heterogéneos que se solapan aparecen en bloques
- Los datos de vóxeles de nivel inferior de la cuadrícula de vóxeles del espacio del mundo se agregan si se determina que la región es homogénea. La detección homogénea se realiza dentro de los límites de un único volumen y puede agregarse de manera incorrecta en presencia de volúmenes solapados dentro de la misma región. Puedes evitar que se agregue si establecer
r.HeterogeneousVolumes.Tessellation.BottomLevelGrid.HomogeneousAggregationen0para deshabilitarlo.
- Los datos de vóxeles de nivel inferior de la cuadrícula de vóxeles del espacio del mundo se agregan si se determina que la región es homogénea. La detección homogénea se realiza dentro de los límites de un único volumen y puede agregarse de manera incorrecta en presencia de volúmenes solapados dentro de la misma región. Puedes evitar que se agregue si establecer
- Efecto de puerta mosquitera con Niagara Fluids
- El sistema de Niagara solo activa los eventos de invalidación de trazado de rutas cuando el Niagara Editor está abierto. Tener el editor abierto permite visualizar correctamente la animación en Path Tracer. Cuando se cierra el editor, Path Tracer sigue acumulando muestras de toda la animación.
- Efecto de puerta mosquitera con un actor de volumen heterogéneo
- Actualmente, el actor de volumen heterogéneo no activa eventos de invalidación de trazado de rutas. Desmarca la propiedad Animar del actor para suspender la animación.
Iluminación indirecta con volúmenes heterogéneos
Puedes habilitar la compatibilidad con la iluminación indirecta con volúmenes heterogéneos con la variable de consola r.HeterogeneousVolumes.IndirectLighting 1. Esta función funciona mejor con los PC de gama alta y con ajustes de escalabilidad de tipo Cinemática.
![]() |
![]() |
| Sin iluminación indirecta | Con iluminación indirecta |
Recursos adicionales
- Complemento Niagara Fluids
- El complemento Niagara Fluids incluye ejemplos que pueden utilizarse con el renderizado de volúmenes heterogéneos. Habilita el complemento en el proyecto y crea un nuevo sistema de Niagara a partir de las plantillas proporcionadas. Para obtener más información, consulta Niagara Fluids.
- Los archivos VDB utilizados en los ejemplos de esta página proceden del conjunto VDB gratuito de JangaFX creado con EmberGen.
- Descarga sus ejemplos gratuitos aquí.

