Lumen es el sistema de iluminación global dinámica y reflejos de Unreal Engine, diseñado para consolas de nueva generación, y es el sistema predeterminado de iluminación global y reflejos. Lumen renderiza la interreflexión difusa con rebotes infinitos y reflejos especulares indirectos en entornos grandes y detallados a escalas que van desde milímetros a kilómetros.
Primeros pasos con Lumen
Los proyectos recién creados tienen activados de forma predeterminada la iluminación global y los reflejos de Lumen, así como sus dependencias, como Generate Mesh Distance Fields. Los proyectos existentes convertidos de Unreal Engine 4 a Unreal Engine 5 no habilitarán automáticamente las funciones de Lumen. Esto impide que se rompan o cambien las rutas de iluminación dentro de esos proyectos.
Lumen se habilita en Configuración del proyecto, en las categorías Renderización > Iluminación global dinámica y Reflejos.
La iluminación global y los reflejos se pueden configurar de forma independiente. En cada categoría, establece lo siguiente para habilitar Lumen:
Iluminación global dinámica: Lumen
Método de reflejo: Lumen
Al habilitarse, se habilitará la propiedad Generar campos de distancia de malla, si no lo estaba ya. Es necesario para el modo Software Ray Tracing de Lumen. Requiere que se reinicie el motor.
La iluminación global de Lumen sustituye a Screen Space Global Illumination (SSGI) y Distance Field Ambient Occlusion (DFAO). Los reflejos de Lumen sustituyen a los reflejos en espacio de pantalla.
Cuando se habilita Lumen para un proyecto, se deshabilitan las contribuciones de iluminación estática precalculada y se ocultan todos los mapas de luz.
Funciones de iluminación de Lumen
Lumen aporta una sólida iluminación global dinámica a Unreal Engine y se integra a la perfección con otros sistemas compatibles de Unreal Engine 5, como Nanite, World Partition y Mapas de sombras virtuales.
Las funciones de Unreal Engine 4, como Screen Space Global Illumination y Ray Tracing Global Illumination (RTGI), no eran fiables ni tenían buen rendimiento para proyectos que dependían del tiempo real con una calidad suficientemente alta. Además, estas funciones no se integraban completamente con otros sistemas importantes para proporcionar una amplia compatibilidad con la mayoría de las funciones del motor.
Iluminación global Lumen
La Iluminación global de Lumen resuelve la iluminación indirecta difusa. Por ejemplo, la luz que rebota difusamente en una superficie capta el color de esa superficie y refleja la luz coloreada en otras superficies cercanas, lo que crea un efecto denominado migración de colores. Las mallas de la escena también bloquean la iluminación indirecta y esto, a su vez, produce sombras indirectas.
Lumen proporciona infinitos rebotes difusos, que son importantes en escenas con materiales difusos brillantes, como la pintura blanca del apartamento de abajo.
Nanite Virtualized Geometry de Unreal Engine 5 permite que la geometría sea mucho más detallada que nunca. Lumen consigue sombreado a máxima resolución, además de calcular la iluminación indirecta a una resolución mucho menor para el rendimiento en tiempo real.
Lumen con luz cenital
La luz cenital se resuelve como parte del proceso Final Gather de Lumen. Incluye sombreado cenital, que permite que el espacio interior sea mucho más oscuro que la iluminación exterior, proporcionando un efecto mucho más natural.
Lumen también proporciona iluminación global de menor calidad para Lit Translucency y Volumetric Fog.
Lumen y materiales emisores
Los materiales emisores propagan la luz mediante Final Gather de Lumen sin coste adicional de rendimiento. Sin embargo, hay un límite en cuanto a lo pequeñas y brillantes que pueden ser las áreas emisoras antes de que empiecen a provocar la aparición de artefactos de ruido. Esto, por su propia naturaleza, es mucho más difícil de resolver que las fuentes de luz colocadas manualmente.
Reflejos Lumen
Lumen resuelve la luz especular indirecta (los reflejos) para todo el intervalo de valores de rugosidad del material.
La iluminación global difusa y la luz cenital sombreada se pueden ver en todos los reflejos. Los reflejos de Lumen también son compatibles con materiales de Recubrimiento transparente, como el ejemplo de coche que aparece abajo.
Lumen proporciona reflejos brillantes en la traslucidez, como las ventanillas de coche del ejemplo de abajo.
Cuando el proyecto tiene habilitado Reflejos traslúcidos de calidad alta, los reflejos de Lumen proporcionan reflejos especulares en la capa frontal de los materiales de superficie traslúcida.
Los reflejos de Lumen son compatibles con materiales de Agua de una sola capa. Se fuerza que los reflejos sean especulares.
Follaje de dos caras de Lumen
El modelo de sombreado Follaje de dos caras se resuelve captando la iluminación de la parte trasera y dispersándola por la hoja, atenuada por el Color de la subsuperficie del material.
Tipos de luz admitidos y otras funciones
A alto nivel, Lumen admite lo siguiente:
Se admiten todos los Light Types, incluidas las luces direccionales, de cielo, puntuales, de foco y rectangulares.
Las Light Functions son compatibles con todos los tipos de luces.
Las luces con la Mobility configurada como Estática no son compatibles porque las luces estáticas se almacenan completamente en mapas de luz y su contribución se desactiva cuando se activa Lumen.
Ajustes de Lumen
Los ajustes de Lumen se encuentran en dos lugares: en Configuración del proyecto y en Volumen de posprocesado.
Configuración del proyecto de Lumen
Toda la Configuración del proyecto que sea de o afecte a Lumen se encuentra en la sección Motor > Renderización. La configuración del proyecto contiene todos los ajustes predeterminados de Lumen para el proyecto.
A continuación encontrarás una lista de todos los ajustes que necesita Lumen (o que afectan al sistema):
| Nombre de propiedad | Descripción |
|---|---|
| Iluminación global | |
Dynamic Global Illumination Method | Elige el tipo de iluminación global dinámica que quieres usar en tu proyecto. |
| Reflejos | |
Reflection Method | Elige el tipo de reflejos dinámicos que quieres usar en tu proyecto. |
| Lumen | |
Use Hardware Ray Tracing when available | Usa el trazado de rayos por hardware para las funciones de Lumen cuando sea compatible con la tarjeta gráfica, la RHI y el sistema operativo. De lo contrario, se volverá a fijar el trazado de rayos por software para Lumen. El trazado de rayos por hardware tiene unos costes significativos en cuanto a la actualización de escenas de más de 100 000 instancias. Consulta la Ray Tracing Performance Guide para obtener más información. |
Ray Lighting Mode | Determina cómo se iluminan los rayos de los reflejos de Lumen cuando se usa el trazado de rayos por hardware con Lumen. Por defecto, Lumen usa la caché de superficies para obtener el mejor rendimiento, pero puede ajustarse a Iluminación de impacto para reflejos para obtener una mayor calidad. |
High Quality Translucency Reflections | Indica si se deben utilizar reflejos de espejo de alta calidad en la capa frontal de las superficies translúcidas. Otras capas utilizarán el método Radiance Cache de menor calidad que solo puede generar reflejos brillantes. Aumenta el coste de la GPU cuando se activa desde los ajustes de volumen de posprocesado. |
Software Ray Tracing Mode | Controla qué método de trazado usa Lumen al trazar la escena con rayos. Trazado de detalles traza contra los campos de distancia de las mallas individuales para obtener la máxima calidad. Trazado global traza con el campo de distancia global de menor detalle para agilizar las trazas. |
| Trazado de rayos por hardware | |
Support Hardware Ray Tracing | Activa el trazado de rayos en sistemas operativos compatibles, RHI y tarjetas gráficas para obtener resultados de mayor calidad. |
| Trazado de rayos por software | |
Generate Mesh Distance Fields | Determina si se compilarán campos de distancia de mallas estáticas. Esto es necesario para el trazado de rayos por software con Lumen y para la oclusión ambiental de campo de distancia, que se utiliza para implementar sombras de luz del cielo móvil y sombras de campo de distancia trazadas por rayos en luces direccionales. Al activar esta opción, aumentan los tiempos de compilación, el uso de memoria y el tamaño en disco de las mallas estáticas. |
Distance Field Voxel Density | Determina cómo se convierte la escala predeterminada de una malla en dimensiones de vóxeles de campo de distancia. Si se cambia, se volverán a compilar todos los campos de distancia. Los valores elevados consumen memoria muy rápido. |
Ajustes de postproceso
Los volúmenes de posprocesado contienen anulaciones y propiedades controladas por el artista para Lumen. Los ajustes se encuentran en las categorías Iluminación global y Reflejos.
A continuación se muestra una lista de todos los ajustes de Lumen que se encuentran en el volumen de posprocesado:
| Nombre de propiedad | Descripción |
|---|---|
| Iluminación global: iluminación global Lumen | |
Lumen Scene Lighting Quality | Las escalas mayores hacen que la escena de Lumen se calcule con más fidelidad, lo cual puede ser visible en los reflejos, pero a un coste de GPU mayor. |
Lumen Scene Detail | Controla el tamaño de las instancias que se pueden representar en la escena de Lumen. Los valores más grandes garantizan que se representen los objetos pequeños, pero aumentan el coste de GPU. |
Lumen Scene View Distance | Establece la distancia de visión máxima de la escena que Lumen mantiene para el trazado de rayos. Los valores más grandes aumentan el alcance efectivo del sombreado del cielo y la iluminación global, pero aumentan el coste de GPU. |
Final Gather Quality | Aumenta la calidad de la iluminación global de Lumen y reduce el ruido renderizado, pero aumenta el coste de renderización de GPU. |
Screen Traces | Indica si se deben utilizar trazados de espacio en pantalla para la iluminación global de Lumen. Los trazados de espacio en pantalla omiten la escena de Lumen y, en su lugar, muestrean la profundidad y el color de la escena. Esto mejora la calidad, pero al mismo tiempo impide que desde la escena de Lumen solo se realicen cambios, como añadir objetos emisores que solo son visibles en la iluminación global. |
Max Trace Distance | Controla la distancia máxima que debería trazar Lumen al resolver la iluminación. Los valores demasiado pequeños hacen que la iluminación se filtre a áreas grandes, como las cuevas. Los valores grandes aumentan el coste de GPU para renderizar la escena. |
Scene Capture Cache Resolution | Factor de escala para la resolución de la caché de superficie de Lumen. Los valores más pequeños ahorran memoria de GPU, con un coste en calidad. El valor predeterminado es 0,5 si no se sobreescribe. Debe ajustarse en la configuración de posprocesado del componente de captura de escena. |
| Iluminación global: iluminación global Lumen - Propiedades avanzadas | |
Lumen Scene Lighting Update Speed | Controla cuánto puede almacenar la escena de Lumen en caché los resultados de iluminación para mejorar el rendimiento. A mayor escala, los cambios de iluminación se propagan más rápido, pero aumentan el coste de GPU. |
Final Gather Lighting Update Speed | Controla cuánto puede almacenar la Final Gather de Lumen en caché los resultados de iluminación para mejorar el rendimiento. A mayor escala, los cambios de iluminación se propagan más rápido, pero aumentan el coste de GPU. |
Potenciar color difuso | Permite aclarar la iluminación indirecta mediante el cálculo del color difuso del material como pow(DiffuseColor, 1/DiffuseColorBoost). Los valores superiores a 1 (color difuso original) no son físicamente correctos, pero pueden ser útiles como mando de dirección artística para aumentar la cantidad de luz rebotada en la escena. Lo mejor es mantener el valor por debajo de 2, ya que también hace que los reflejos sean más brillantes que la escena. |
Fuga de luz cenital | Controla qué fracción de la intensidad de la luz cenital se debe permitir que se filtre. Es útil como forma de controlar la dirección artística (sin base física) para evitar que las zonas interiores queden totalmente negras. |
Distancia completa de fuga de luz cenital | Controla la distancia desde una superficie receptora en la que la fuga del skylight alcanza su máxima intensidad. Los valores más pequeños hacen que la fuga del skylight sea más plana, mientras que los valores más grandes crean un efecto de oclusión ambiental. |
| Reflejos: reflejos de Lumen | |
Calidad | Aumenta la calidad de los reflejos Lumen en las superficies y reduce el ruido renderizado, pero aumenta el coste de renderización de GPU. |
Ray Lighting Mode | Cuando se usa el Hardware Ray Tracing with Lumen, este ajuste controla si los reflejos reutilizarán la caché de superficies para obtener una iluminación más económica o si calcularán la iluminación en el punto de impacto para obtener una mayor calidad. |
Screen Traces | Indica si se deben utilizar trazados de espacio en pantalla para la iluminación global de Lumen. Los trazados de espacio en pantalla omiten la escena de Lumen y, en su lugar, muestrean la profundidad y el color de la escena. Esto mejora la calidad, pero al mismo tiempo impide que desde la escena de Lumen solo se realicen cambios, como añadir objetos emisores que solo son visibles en la iluminación global. |
High Quality Translucency Reflections | Indica si se deben utilizar reflejos de espejo de alta calidad en la capa frontal de las superficies translúcidas. Otras capas utilizarán el método Radiance Cache de menor calidad que solo puede generar reflejos brillantes. Cuando se activa, aumenta el coste de GPU. Requiere que primero se active el ajuste de proyecto Reflejos traslúcidos de calidad alta. |
Max Roughness To Trace | Establece el valor máximo de rugosidad para el que Lumen trace rayos de reflexión dedicados. Los valores más altos mejoran la calidad del reflejo, pero aumentan mucho el coste de GPU. |
Max Reflection Bounces | Establece el número máximo de rebotes de los reflejos recursivos. El valor predeterminado es 1, lo que se traduce en un único rayo de reflejo sin reflejos secundarios en superficies especulares. Con 2 rebotes o más, se pueden evitar las áreas negras en los reflejos cuando el presupuesto de rendimiento lo permite. Este ajuste de posprocesamiento puede tener hasta 8 rebotes. Puedes usar |
Max Refraction Bounces | Recuento máximo de eventos de refracción que se trazarán. Cuando se utiliza la iluminación de impacto, las mallas traslúcidas se trazan cuando los rebotes máximos de refracción de Lumen son mayores que 0, lo que hace que el trazado de reflexión cueste más. |
Notas adicionales
A continuación se exponen algunas consideraciones adicionales que debes tener en cuenta al trabajar con las funciones de Lumen en los proyectos.
Velocidad de actualización de iluminación de Lumen
Lumen usa una serie de cachés para conseguir un rendimiento en tiempo real. Mientras que los cambios de iluminación local se propagan rápidamente, los cambios de iluminación global, como desactivar el sol, pueden tardar varios segundos en propagarse. Los proyectos pueden usar los controls in the Post Process Volume Velocidad de actualización de iluminación de la escena de Lumen y Velocidad de actualización de iluminación Final Gather para evitar este retraso a coste de un mayor coste de GPU.
Cómo deshabilitar la iluminación estática del proyecto
La iluminación precalculada de la iluminación estática se elimina cuando se habilita Lumen. Puedes deshabilitar por completo la iluminación precalculada para el proyecto desde la Configuración del proyecto, en la sección Motor > Renderizado, al deshabilitar Permitir iluminación estática.
Desactivar la iluminación estática también ahorra algo de sobrecarga de iluminación estática con las permutaciones del sombreador. También permite que Material Ambient Occlusion funcione con la iluminación global de Lumen.
Los mapas de luz de los proyectos que ya usan iluminación estática se cargarán en la memoria y en el disco hasta que se habilite Forzar iluminación no precalculada en la Configuración del mundo de un nivel ya cargado. A continuación, hay que volver a compilar la iluminación y guardar el nivel para eliminar los datos del mapa de luz.
Cómo utilizar los reflejos de Lumen con iluminación estática baked
Los reflejos de Lumen se pueden usar sin la iluminación global de Lumen. Esto es especialmente útil para juegos y proyectos que usan iluminación estática pero que quieren aumentar la calidad de los reflejos más allá de las capacidades de las capturas de reflejo colocadas. Los reflejos de Lumen independientes requieren que el Lumen Hardware Ray Tracing mode esté habilitado, lo que habilita automáticamente la iluminación de impacto para los reflejos.
Materiales con revestimiento transparente
Lumen es compatible con materiales con revestimiento transparente (con normales duales), pero con algunas limitaciones. Estos son:
Solo la capa superior puede tener bajos valores de rugosidad. Se presupone que la capa inferior tiene un valor aproximado, lo que genera resultados con brillo. Esta limitación proviene del hecho de que se proyecta un único rayo de reflejo por píxel, lo que impide que tanto la capa superior como la inferior proyecten reflejos nítidos.
Cuando la cantidad de la capa transparente llegue a 0, se sigue aplicando la limitación anterior. Esto significa que, a pesar de tener una sola capa (la inferior), el reflejo sigue pareciendo brillante/rugoso incluso con valores bajos de rugosidad.
Oclusión ambiental de material
La iluminación global de Lumen es compatible con Material Ambient Occlusion, que proporciona una autooclusión fiable en las mallas esqueléticas.
Para usar material de oclusión ambiental con Lumen:
Deshabilita Permitir iluminación estática en la configuración del proyecto para crear espacio en el GBuffer.
Selecciona Oclusión ambiental como material de salida.
La oclusión ambiental del material no es visible al usar el modo de vista de visualización de búfer Oclusión ambiental.
La iluminación global de Lumen es compatible con los Bent Normal Maps. Sin embargo, cuestan bastante más que la oclusión ambiental material con poca mejora visual.
Para usar mapas de propensión normal con Lumen:
Establece
r.GBufferDiffuseSampleOcclusion=1en la sección[SystemSettings]del archivo de configuración DefaultEngine.ini de tu proyecto y reinicia el editor.Configura el material para la salida al nodo de salida personalizado Bent Normal.