La luz del cielo capta las partes lejanas de tu nivel y las aplica a la escena como una luz. Eso significa que el aspecto del cielo y su iluminación/reflejos coincidirán, aunque tu cielo proceda de la atmósfera, de nubes en capas sobre un skybox o de montañas lejanas. También puedes especificar manualmente un cubemap para usar.
Captura de escena
La luz del cielo solo captará la escena en determinadas circunstancias:
- En el caso de luces del cielo estáticas, las actualizaciones se producen automáticamente al construir la iluminación.
-
En el caso de luces del cielo estacionarias o móviles, las actualizaciones se producen una vez al cargar y solo se siguen actualizando cuando se llama a Recapturar, a menos que la función Captura en tiempo real esté activada. Ambas son accesibles a través del panel Detalles y Recapturar también puede invocarse a través del blueprint en el juego.
Botón Recapturar luz del cielo en el panel Detalles
Si cambias la textura que utiliza el skybox, no sabrá automáticamente que debe actualizarse. Tendrás que utilizar uno de los métodos anteriores para que se actualice.
Debe utilizarse una luz de cielo en lugar del un cubemap ambiental para representar la luz del cielo, porque las luces del cielo admiten el sombreado local, que impide que las zonas interiores queden iluminadas por el cielo.
Movilidad
De forma similar a otros tipos de luz, la luz del cielo puede ajustarse a una de las siguientes movilidades:
| Movilidad | Descripción |
|---|---|
| Estática | La iluminación no se puede cambiar mientras estás en el juego. Este es el método más rápido para renderizar y permite la iluminación incorporada. |
| Estacionaria | Cuando se construya la iluminación, solo se capturarán las sombras y los rebotes de luz de la geometría estática. El resto de la iluminación será dinámica. Este ajuste también permite que la luz cambie de color, intensidad y el cubemap en el juego, pero no se mueve y permite una iluminación parcialmente incorporada. |
| Móvil | La iluminación se puede mover y cambiar en el juego según sea necesario. |
Luz del cielo estática
Una luz del cielo definida como Estática se integrará completamente en el mapa de luz de los objetos estáticos del nivel y, por tanto, no cuesta nada. Cuando se modifiquen las propiedades de la luz, los cambios no serán visibles hasta que se haya reconstruido la iluminación del nivel.
Cuando utilices una luz del cielo estática, solo se capturarán y utilizarán para la iluminación los actores y las luces del nivel que tengan su movilidad ajustada como Estática o Estacionaria. Además, solo la contribución reflectante de los materiales puede captarse con una luz del cielo estática para evitar un bucle de retroalimentación. Por esta razón, asegúrate de que cualquier skybox tenga un material que esté configurado como Apagado.
Luz del cielo estacionaria
Una luz del cielo con movilidad estacionaria* obtiene sombreado incorporado de Lightmass. Una vez que coloques una luz del cielo estacionaria en tu nivel, tienes que reconstruir la iluminación una vez para obtener el sombreado incorporado. Así podrás cambiar la luz del cielo todo lo que quieras sin tener que reconstruirla. El sombreado de la luz del cielo que incorpora Lightmass** almacena la información de oclusión direccional en lo que se denomina una normal doblada.
Solo los componentes y las luces con movilidad estática o estacionaria se capturarán y utilizarán para iluminar con una luz del cielo estacionaria.
Al igual que todos los tipos de luces estacionarias, el color de la iluminación directa puede cambiarse en tiempo de ejecución mediante las opciones Blueprint o Sequencer. Sin embargo, la iluminación indirecta está integrada en el mapa de luz y no puede modificarse en tiempo de ejecución. La cantidad de luz indirecta puede controlarse mediante IndirectLightingIntensity.


Luz del cielo móvil
Una luz del cielo configurada como Móvil no utiliza ninguna forma de precomputación. Captura los componentes y las luces de cualquier movilidad en la configuración para capturar la escena.
Oclusión ambiental de campo de distancia
Esta propiedad requiere que estén activados los campos de distancia de malla en la configuración del proyecto.
La sombra de una luz del cielo móvil la proporciona la oclusión ambiental del campo de distancia desde volúmenes de campo de distancia con signo que se generan alrededor de cada objeto rígido. La oclusión ambiental del campo de distancia admite cambios dinámicos de escena en los que las mallas rígidas pueden moverse u ocultarse, y ello afectará a la oclusión.
Haz clic en la imagen para verla a tamaño completo.
Echa un vistazo a la página Cómo utilizar la oclusión ambiental del campo de distancia para obtener más información y consultar ejemplos.
Luz del cielo precalculada (estática o estacionaria)
Cuando utilices iluminación incorporada con una luz del cielo estática o estacionaria, los datos de iluminación y sombreado se almacenarán en mapas de luz. En las secciones siguientes se analizan algunas de estas funciones compatibles con Lightmass.
Mejora de la direccionalidad de la luz del cielo estática
Antes de Unreal Engine 4.18, las luces del cielo estáticas solían representarse en Lightmass con un armónico esférico de tercer orden que no captaba el detalle que podía haber en un amanecer o un atardecer. Ahora se utiliza un cubemap filtrado que da lugar a una resolución mayor predeterminada. Lightmass también seleccionará el mip apropiado de la textura de cubemap basándose en el tamaño de los rayos de la recopilación final para evitar cualquier aliasing.
Para ver un buen ejemplo de este tipo de interacción, ve a Contenido del motor > MapTemplates > Sky y selecciona SunsetAmbientCubemap.


La mayor diferencia se aprecia en escenas muy ocluidas con un cubemap de luz del cielo que tiene muchas variaciones de brillo y color.
Cámara oscura
Con la direccionalidad mejorada de las luces del cielo estáticas, ahora es posible recrear un efecto de cámara estenopeica ([cámara oscura])(https://en.wikipedia.org/wiki/Camera_obscura)) con una abertura lo suficientemente pequeña. Cuanto menor sea la abertura, más direccional será la iluminación del cielo.
| Cubemap de fuente de luz del cielo | Construcción de luz resultante |
| Haz clic en la imagen para verla a tamaño completo. | Haz clic en la imagen para verla a tamaño completo. |
Normal doblada para luces del cielo estacionarias
En el caso de las luces del cielo estacionarias, la iluminación estática y estacionaria se incorpora por separado de la móvil utilizando Lightmass para almacenar la información direccional en lo que se denomina una normal doblada. Es la dirección desde el téxel hasta la fuente de luz ambiental menos ocluida. Las zonas mayoritariamente ocluidas utilizan esta dirección para la iluminación del cielo en lugar de la normal de la superficie, lo que mejora la calidad en las grietas.


La primera imagen muestra la luz del cielo solo con oclusión ambiental. La segunda imagen muestra luz del cielo con oclusión normal doblada. Observa cómo las superficies de las grietas "coinciden" en la procedencia de la iluminación.
Para obtener más información, ve a la página Mapa de normal doblada.
Rebotes múltiples de luz
Se admiten múltiples rebotes de luz indirecta de las luces del cielo ajustando la opción Num rebotes de luz del cielo en Configuración del mundo > Lightmass.
Configuración para el número de rebotes de luz del cielo que utilizar.


Para que los rebotes múltiples de luz del cielo sean perceptibles, tus materiales deben tener un valor difuso alto en la mayoría de los casos. Por ejemplo, con un valor difuso de 0,18 (18 % de gris), el segundo rebote de luz del cielo solo aportará 18^3 = 0,006 de la energía emitida por la luz, que es muy sutil. Con un valor difuso de 0,5, el segundo rebote de la luz del cielo aportará 0,125 de la energía emitida por la luz y será perceptible.
Cada rebote añadido aumenta los tiempos de compilación no distribuidos, así que úsalo con precaución cuando no utilices la distribución de Swarm.
Captura en tiempo real
El modo Captura en tiempo real proporciona iluminación dinámica y especular del entorno, haciendo posibles simulaciones dinámicas del momento del día con reflejos en tiempo real sobre los elementos de la escena.
Este modo está disponible cuando la movilidad de la luz del cielo está configurada como estacionaria y dinámica, y cuando está activado Captura en tiempo real desde el panel Detalles del componente Luz del cielo.
Este modo admite los siguientes componentes para capturar reflejos y sombras:
- Atmósfera del cielo
- Nubes volumétricas
- Niebla de altura exponencial
- Mallas de bóveda celeste con un material sin iluminar etiquetadas como EsCielo
Estas son algunas cosas adicionales que debes tener en cuenta cuando utilices este modo:
- No se admite la niebla volumétrica.
- Requiere un componente Atmósfera del cielo presente en la escena para que funcione la captura en tiempo real. En una futura versión, la captura en tiempo real será compatible sin este requisito.
- Es posible renderizar las mallas solo en el modo de captura en tiempo real desactivando su renderización en la vista principal.
- Es posible tener una malla de bóveda celeste diferente para la vista principal en comparación con el reflejo de la captura en tiempo real cuando se activa Visible en capturas del cielo en tiempo real en actores individuales.
- El modo Captura en tiempo real permite proyectar sombras ambientales de nubes volumétricas sobre el mundo cuando la opción Oclusión ambiental de nubes está activada.
- El modo Captura en tiempo real es más rápido y eficiente que el nodo del blueprint RecapturarCielo porque todos los cálculos permanecen en la GPU sin utilizar el procesamiento de la CPU que puede causar pausas o ralentizaciones en el juego.
- Si utilizas las nubes volumétricas, el rendimiento puede variar mucho en función de la complejidad del material de nube que estés utilizando. Puedes controlar la compensación de rendimiento (respetando los efectos visuales de tu escena) si ajustas los valores de Escala de recuento de muestras de reflexión y Escala de recuento de muestras de reflexión de sombra del componente Nube volumétrica.
Calidad de los reflejos
La calidad de los reflejos captados por la luz del cielo se establece mediante la propiedad Resolución del cubemap. Utiliza valores de potencia de dos (como, por ejemplo, 64, 128, 256, etc.) para especificar una resolución de textura para la escena capturada.
Ten en cuenta que los valores de resolución más altos aumentan la calidad a costa del rendimiento. El valor especificado se aplica al mip más alto del cubemap (nivel de detalle de una textura).

Arrastra el control deslizante para ver las resoluciones disminuida (64), predeterminada (128) y aumentada (256) del cubemap de la luz del cielo que se está utilizando.
Ten en cuenta que se ha desactivado Reflejos del espacio en pantalla (SSR) en estas tomas. Los reflejos son solo el resultado de la luz del cielo.
Optimización de la fragmentación temporal
El modo Captura en tiempo real utiliza una optimización del rendimiento denominada fragmentación temporal para distribuir la escena capturada en varios fotogramas en lugar de realizar un proceso de escena completo en cada fotograma. Esta optimización reduce el coste por fotograma que haría que un proceso completo de captura en tiempo real de cada fotograma fuera demasiado costoso para su uso en algunas plataformas.
Por ejemplo, una captura realizada en la PlayStation 4 utilizando un cubemap HDR de 128x128x6 con cielo y nubes volumétricas tendría un aspecto similar a esto (medido en milisegundos):
- Un proceso completo por fotograma para un cubemap de 128x128 supondría unos 1,465 ms (dividido de la siguiente forma):
- Coste de cielo y nubes: 0,60 ms
- Coste de generación de mip de cubemap: 0,05 ms
- Coste de circonvolución especular: 0,80 ms
- Coste de irradiancia difusa: 0,015 ms
- El mismo proceso, pero distribuido en el tiempo en fragmentación temporal de 9 fotogramas supondría, como máximo, 0,20 ms para el paso más costoso.
Distribuir la captura de un solo fotograma en varios fotogramas tiene la ventaja de mantener la captura de luz del cielo en tiempo real dentro de un presupuesto asequible para el proyecto porque la fragmentación temporal supondrá como máximo su fotograma más costoso. También significa que puedes buscar oportunidades para impulsar la calidad en otras áreas, como la calidad del cielo o las nubes, porque tienes un poco más de margen en el presupuesto de fotogramas.
La fragmentación temporal está activada de forma predeterminada, pero puede configurarse mediante el comando de consola r.SkyLight.RealTimeReflectionCapture.TimeSlice.
Sombreado de objetos móviles
Se pueden conseguir sombras suaves de objetos móviles sobre el entorno utilizando sombras de cápsula en mallas esqueléticas o Sombreado indirecto de campo de distancia en mallas rígidas. Se requiere una configuración aparte para funcionar correctamente.
Propiedades
Aunque no se diferencian en la interfaz de usuario, hay dos categorías de propiedades del componente de luz del cielo: Luz del cielo y Luz. Puedes acceder a ellas desde el panel Detalles del actor. Las propiedades de la luz del cielo son específicas de los actores de la luz del cielo, mientras que las propiedades de la luz son comunes a todos los actores de la luz. Algunas propiedades solo son accesibles ampliando la sección Avanzado, tal y como se indica en la tabla siguiente.
| Propiedad | Descripción | ||||
|---|---|---|---|---|---|
| Luz del cielo | |||||
| Captura en tiempo real | Si se activa esta opción, el cielo se capturará y convolucionará para conseguir una iluminación dinámica difusa y especular. Se tienen en cuenta los componentes Atmósfera del cielo y Nubes volumétricas, así como las bóvedas celestes con materiales de cielo. | ||||
| Tipo de fuente | Indica si se captura la escena lejana y se utiliza como fuente de luz o si se usa el cubemap especificado. Al capturar la escena, se incluirá todo lo que esté más lejos que el umbral de distancia del cielo de la posición de la luz del cielo.
|
||||
| Cubemap | Especifica el cubemap que se utilizará para la iluminación del cielo si el tipo de fuente está configurado como SLS_SpecifiedCubemap. | ||||
| Ángulo de cubemap de origen | El ángulo para girar el cubemap de origen cuando el tipo de origen está configurado como Cubemap especificado SLS. | ||||
| Resolución del cubemap | Resolución máxima para el MIP del cubemap procesado más alto. También debe ser una textura de potencia 2. | ||||
| Umbral de distancia al cielo | Distancia desde la luz del cielo a la que cualquier geometría debe ser tratada como parte del cielo (también utilizada por las capturas de reflejos). | ||||
| Solo captura reflectante | Solo captura materiales reflectantes. Omite toda la iluminación abaratando la captura. Esto se recomienda cuando se utiliza la Capturar cada fotograma. Avanzado. | ||||
| El hemisferio inferior es de color sólido | Indica si toda la iluminación del hemisferio inferior debe ponerse a cero. Esto es útil para evitar fugas del hemisferio inferior. Avanzado. | ||||
| Color del hemisferio inferior | Utiliza el selector de color para seleccionar el color del hemisferio inferior. Avanzado. | ||||
| Luz | |||||
| Escala de intensidad | La energía total que emite la luz. | ||||
| Afecta al entorno | Si la luz puede afectar al entorno o si está desactivada. | ||||
| Proyectar sombras | Indica si la luz debe proyectar sombras. | ||||
| Intensidad de iluminación indirecta | Escala la contribución de iluminación indirecta de esta luz. Un valor de 0 desactiva cualquier iluminación global (IG) de esta luz. | ||||
| Intensidad de dispersión volumétrica | Intensidad de la dispersión volumétrica de esta luz. Escala la intensidad y el color de la luz. | ||||
| Proyectar sombras estáticas | Indica si la luz debe proyectar sombras de objetos estáticos. Además, requiere que la opción Proyectar sombras sea True. Avanzado. | ||||
| Proyectar sombras dinámicas | Indica si la luz debe proyectar sombras de objetos dinámicos. Además, requiere que la opción Proyectar sombras sea True. Avanzado. | ||||
| Afecta a la iluminación translúcida | Indica si la luz afecta o no a la translucidez. Desactivar esto puede ahorrar tiempo de GPU cuando hay muchas luces pequeñas. Avanzado. | ||||
| Transmisión | Indica si la luz de la luz del cielo se transmite a través de superficies con perfiles de dispersión subsuperficiales. Requiere que la luz sea móvil. Avanzado. | ||||
| Proyectar sombra volumétrica | Indica si la luz proyecta sombra de niebla volumétrica. Avanzado. | ||||
| Proyectar sombra profunda | Indica si la luz debe proyectar la sombra automática de alta calidad de los mechones de pelo. Cuando esta opción está activada, se aplica un coste adicional de GPU a esta luz. Avanzado. | ||||
| Proyectar sombras con trazado de rayos | Indica si las sombras de luz se calculan con asignación de sombras o con trazado de rayos (cuando esté disponible). Avanzado. | ||||
| Afectar a los reflejos del trazado de rayos | Indica si la luz afecta a los objetos en los reflejos cuando están activados los reflejos de trazado de rayos. Avanzado. | ||||
| Afectar a la iluminación global del trazado por rayos | Indica la luz afecta a la iluminación global cuando está activada la iluminación global de trazado de rayos. Avanzado. | ||||
| Distribución de capa de sombras profundas | Cambia la distribución de la capa de sombras profundas. 0: lineal (distribución uniforme de las capas), 1: exponencial (más detalles sobre las sombras cercanas pequeñas). Requiere que esté activada la opción Proyectar sombra profunda. Avanzado. | ||||
| Atmósfera y nubes | |||||
| Oclusión ambiental de nubes | Indica si la nube debe ocluir la contribución del cielo dentro de la atmósfera (desvaneciendo progresivamente la dispersión múltiple) o no. | ||||
| Fuerza de oclusión ambiental de nubes | La fuerza de la oclusión ambiental. Los valores más altos bloquearán más luz. | ||||
| Extensión de la oclusión ambiental de nubes | El radio del espacio del entorno del mapa de oclusión ambiental de nubes alrededor de la cámara en kilómetros (km). | ||||
| Escala de resolución del mapa de oclusión ambiental de nubes | Escala la resolución del mapa de oclusión ambiental de nubes. La resolución se fija con r.VolumetricCloud.ShadowMap.MaxResolution. |
||||
| Escala de apertura de oclusión ambiental de nubes | Controla el ángulo de apertura del cono sobre el que se evalúa la oclusión del cielo debida a las nubes volumétricas. Un valor de 1 tiene en cuenta todo el hemisferio, lo que provoca una oclusión borrosa. Un valor de 0 tiene en cuenta una única dirección de oclusión (vertical), lo que da lugar a una oclusión nítida. |
Limitaciones
Las siguientes funciones serían útiles con luces del cielo, pero aún no están implementadas:
- La sombra suave de los objetos móviles (personajes) sobre el entorno no está integrada en la luz del cielo y actualmente requiere implementar funciones independientes con un coste de renderizado adicional.
- Se puede utilizar la función RecaptureSky() del blueprint SkyLightComponent , pero tiene un alto coste de procesamiento y requiere al menos 120 ms, lo que provoca una pausa o ralentización en el juego.