Nuevas formas de aplicar iluminación global a tus mundos en Unity 6

Estamos encantados de compartir más detalles sobre las nuevas funciones de iluminación que llegarán a Unity 6 a finales de este año.
Con la nueva y robusta arquitectura de horneado de luz y el enfoque innovador para crear entornos iluminados con sonda de luz utilizando volúmenes de sonda adaptativos (APV), disfrutará de un proceso de creación de luz más optimizado. Esto mejorará significativamente sus imágenes y garantizará un alto rendimiento en tiempo de ejecución.
Si ha trabajado anteriormente con datos de iluminación precalculados, sabrá lo tedioso que puede ser el proceso. El proceso de precomputación para Lightmaps puede llevar mucho tiempo; es necesario crear los UV de Lightmap , se deben colocar sondas para que los objetos dinámicos se iluminen correctamente y será necesario lidiar con texturas grandes que pueden suponer una gran carga para la memoria de ejecución de las aplicaciones.
En Unity 6, agregamos una nueva forma de crear entornos iluminados de mayor calidad y con sondeo de luz a través de Adaptive Probe Volumes (APV), y brindamos mejoras fundamentales al backend de horneado de luz para una mayor estabilidad.
Un volumen de sonda adaptativo es un grupo de sondas de luz que Unity coloca automáticamente en función de la densidad de geometría en su escena, para crear una iluminación indirecta incorporada.

Debido a su naturaleza adaptativa, APV generará sondas ubicadas más densamente en áreas con más geometría y menos sondas en áreas con objetos ubicados menos densamente, como el fondo de una escena.
Adaptive Probe Volumes también le proporciona un conjunto completo de funciones potentes para crear entornos bellamente iluminados.
- Ofrece flujos de trabajo más simples para los flujos de trabajo de colocación de sondas y una iteración más rápida para la iluminación difusa indirecta basada en sondas de luz.
- La iluminación por píxel APV ofrece una calidad significativamente mayor que los grupos de sondas de luz y proporciona una mejor direccionalidad en comparación con los mapas de luz, lo que da como resultado una excelente calidad de iluminación general.
- Se integra perfectamente con la atmósfera, creando efectos como la niebla volumétrica en HDRP y partículas gráficas VFX en URP y HDRP bellamente iluminadas por iluminación indirecta.
- Permite una transición de iluminación visualmente sorprendente a través de oclusión del cielo y escenarios de iluminación, adecuados para lograr situaciones de encendido/apagado de luces y hora del día.
- Proporciona más control sobre las optimizaciones para el rendimiento en tiempo de ejecución, en función del uso que haga del canal de renderizado y del hardware de destino.
- Ejecuta un conjunto de funciones de transmisiónque permiten transmitir datos de la sonda de luz desde el disco a la CPU y desde la CPU a la GPU.
- Proporciona un potente conjunto de herramientas para reducir la fuga de luz.

El proyecto de muestra 3D URP utiliza actualmente las últimas funciones LTS 2022 .
Para fines de demostración en esta publicación de blog, hemos actualizado las escenas de muestra 3D de URP de 2022 LTS a Unity 6 Preview y la función Adaptive Probe Volumes.

APV es un sistema basado en volumen que automatiza la colocación de sondas en lugar de colocarlas a mano.
La pestaña de configuración general de APV le permite controlar parámetros como Mínimoy espaciado máximo de sonda para impulsar la creación de múltiples niveles de subdivisión en función de la geometría circundante. De forma predeterminada, las áreas densas utilizarán la resolución más alta, mientras que las áreas con menos geometría utilizarán niveles de densidad más bajos. Este comportamiento automático y adaptativo garantiza una asignación eficiente de recursos, centrándose en las áreas donde más se necesitan.

Para generar sondas automáticamente, puede crear un volumen de sonda adaptable. Mientras trabaja, puede ver actualizaciones en vivo, lo que le permite obtener una vista previa de la ubicación de la sonda sin necesidad de hornear. Estas actualizaciones se basan en los ladrillos y los niveles de subdivisión que definió previamente, que luego se ajustan según la proximidad de la geometría cercana.

Generate Lighting precalcula todos los datos de iluminación, incluidas las sondas de luz, que puedes visualizar en tu escena. Como se muestra en la vista previa usando ladrillos, puedes ver los distintos niveles de subdivisión que se han aplicado al colocar las sondas.

Si ha trabajado con datos de sondas de luz, es posible que conozca los desafíos comunes relacionados con las fugas de luz. Al desarrollar APV, agregamos una caja de herramientas completa para ayudar a abordar problemas de fuga de luz, como desplazamiento virtual, dilatación, volúmenes de ajuste de la sonda, capas de renderizado y modos de prevención de fuga de luz "Rendimiento" y "Calidad".
He aquí un ejemplo. Al utilizar vistas de depuración de iluminación, podemos observar un caso de uso problemático de fuga de luz. En esta situación, la luz brillante del exterior es visible a través de las paredes y el suelo del edificio. En el exterior se observa el problema opuesto, con una iluminación oscura que se filtra desde el interior. Probablemente esto se debe a la baja resolución (1 metro entre sondas) y las paredes delgadas. Exploremos cómo podemos abordar esto.

Para investigar este problema, se utiliza el muestreo de la sonda de depuración.Esta opción le permite mostrar cada una de las sondas muestreadas junto con sus pesos relevantes. En nuestro caso, podemos ver que el resultado está interpolado entre las sondas brillantes del exterior y las oscuras del interior. Lo ideal es que en el interior de la tienda solo se muestreen las sondas interiores.

Capas de renderizado para APV(introducido en 6000.1f.1) le permite crear hasta cuatro máscaras diferentes y restringir el muestreo a esas máscaras específicas para ciertos objetos. Esto puede ser increíblemente útil para evitar que los objetos interiores muestren las sondas exteriores, o viceversa.
Al generar iluminación, el sistema asignará automáticamente capas a las sondas durante el proceso de horneado en función de los objetos cercanos, eliminando la necesidad de asignar manualmente capas por sonda. Una vez hecho esto, puedesGenere iluminación y observe que se reducen las fugas de aire en la carpa, gracias a la creación manual de máscaras interiores y exteriores separadas.

Para tener aún más control sobre la prevención de fugas de luz, puede aprovechar los modos de reducción de fugas de Unity “Rendimiento” y “Calidad”.
El modo de rendimiento aborda la reducción de fugas alejando la ubicación de muestreo de las sondas no válidas. Esto generalmente funciona bien en escenarios sencillos, donde se puede identificar una ubicación de muestreo adecuada para todas las sondas válidas, mientras se evitan las no válidas. Sin embargo, dependiendo de la configuración de la sonda, es posible que no esté disponible una ubicación de muestreo óptima. Esto da como resultado un muestreo de sondas no válidas y posibles fugas.
El modo de calidad (incluido en 6000.0.3f1) ahora habilitado de manera predeterminada, emplea hasta tres intentos de muestreo para ayudar a garantizar que solo se utilicen sondas válidas. Este modo puede introducir una ligera sobrecarga en el rendimiento en tiempo de ejecución, que puede ser especialmente notable en plataformas de gama baja.
Puedes combinar capas de reducción de fugas y renderizado para evitar que la luz se filtre aún más. Este modo ayuda a garantizar que las sondas no válidas, ya sea por problemas de validez o por estar en una capa diferente, no se muestreen.

Además, hemos mejorado los niveles de subdivisión múltiple al reducir las uniones potencialmente visibles entre diferentes niveles (implementado en 6000.0.4f1). Esto se logra automáticamente reemplazando los valores de las sondas de frontera ubicadas entre dos niveles con valores preinterpolados. Dado que este proceso ocurre en el momento del horneado, no hay ningún costo de rendimiento asociado con él en el tiempo de ejecución.

Con APV puedes lograr una transición de iluminación visualmente impactante a través de Oclusión del Cielo y Escenarios de Iluminación, adecuados para lograr situaciones de luz y hora del día encendidas/apagadas.
A continuación, encontrará dos ejemplos de transiciones de iluminación, primero a través de Escenarios de iluminación con APV en la escena Oasis del proyecto de muestra 3D de URP, luego a través de Oclusión del cielo con APV en la escena Jardín.
APV facilita varios escenarios de iluminación al permitir cambiar o combinar datos de iluminación almacenados. Esta función es particularmente útil para simular horas del día o alternar entre luces encendidas y apagadas dentro de la misma escena o conjunto de horneado.
Los escenarios de iluminación solo administran datos de la sonda de luz APV horneada; otros elementos deben manejarse manualmente. Para proporcionar un ejemplo en la escena de Oasis, creamos un script para actualizar el cielo, las luces, los parámetros de niebla y las sondas de reflexión. Los escenarios horneados de APV se pueden administrar en tiempo de ejecución utilizando la API ProbeReferenceVolume; se puede encontrar un ejemplo en la documentación.


La oclusión del cielo ofrece una alternativa a los escenarios de iluminación para gestionar las transiciones de iluminación en la escena. Se trata de una configuración más sencilla con un solo horneado, donde no se requieren múltiples escenarios. En cambio, la oclusión del cielo se ocupa exclusivamente de la iluminación del cielo y, por lo tanto, no se extiende a la gestión de la iluminación indirecta para luces direccionales o puntuales.

La oclusión del cielo utiliza datos horneados adicionales para gestionar la iluminación del cielo de una manera diferente, que es independiente del horneado de cielo APV estándar. Estos datos almacenan la cantidad de luz del cielo que debe recibir cada área de la escena, lo que permite realizar ajustes en tiempo de ejecución del color y la intensidad de la iluminación del cielo. Al utilizar una sonda ambiental dinámica en tiempo de ejecución junto con estos datos de oclusión estáticos y horneados, proporciona una buena aproximación de la iluminación del cielo, al tiempo que permite realizar ajustes dinámicos a la iluminación de la escena.
La oclusión del cielo es compatible tanto con URP como con HDRP. En HDRP, la sonda ambiental se actualiza automáticamente desde el cielo físico HDRP. Sin embargo, en URP, cuando se utiliza el modo Skybox, la sonda ambiental no puede actualizarse automáticamente en tiempo real a medida que cambia el cielo. En cambio, esto requiere animar manualmente el color usando el modo Gradiente o Color para que coincida con las imágenes animadas del cielo, ya que Unity no se ajustará automáticamente al color cambiante del cielo.
Usando la escena del jardín como ejemplo, el modo de degradado en la configuración del entorno permite la animación manual del color de la sonda ambiental. Cuando se combina con datos de oclusión, esta configuración puede crear una aproximación convincente para animar la iluminación difusa del cielo, adecuada para representar los cambios en las horas del día. Esto utiliza un solo horneado sin múltiples escenarios de iluminación y puede proporcionar una amplia gama de variaciones de color.

Obtenga más información en nuestra documentación Implementación de APV en Universal Render Pipeline (URP)y para APV en High Definition Render Pipeline (HDRP).
Con la nueva arquitectura Light Baking de Unity entregada en Unity 6, GPU Light Baker ya no está en versión preliminar

El nuevo panadero ligero está diseñado teniendo en cuenta la capacidad de respuesta del editor y la velocidad de horneado. Esto significa que cuando se utiliza el horneado a pedido, Unity ahora toma una “instantánea” del estado de la escena cuando se hace clic en el botón Generar. Unity ya no verifica el estado de la escena en cada cuadro, lo que anteriormente perjudicaba el rendimiento del editor.
Este backend de horneado rediseñado ha simplificado significativamente nuestra base de código, lo que hace que sea más fácil y rápido corregir errores y reduce el riesgo de introducir otros nuevos.
También le proporcionamos un nuevo perfil de horneado que le permite elegir su intención de flujo de trabajo adecuada.

Puede elegir un rango desde "uso de memoria más bajo", ideal si desea continuar trabajando en el Editor y desea la mejor capacidad de respuesta general del Editor, hasta "rendimiento más alto", que es útil si desea realizar el trabajo lo antes posible y no necesita trabajar en nada más en el Editor durante el tiempo de horneado.
La creación iterativa y la resolución de problemas de datos de iluminación horneados es un caso de uso importante para los creadores que utilizan iluminación global (GI) horneada.
Por este motivo, hemos agregado una nueva funcionalidad de vista previa interactiva a varios modos de dibujo de vista de escena relacionados con GI, reemplazando la generación automática de Unity con un modo de vista previa de depuración de GI interactivo dedicado para obtener una vista previa de los datos de iluminación.

Esto permite que las vistas de depuración se actualicen de forma interactiva a medida que se modifica la escena. La vista previa no es destructiva, ya que no reemplaza los datos de iluminación grabados.
Alejarnos de la antigua arquitectura de generación automática de Unity significa que podemos optimizar el proceso de horneado para lograr una mayor estabilidad.
Tenga en cuenta que Unity 6 es la última versión compatible con Enlighten Realtime GI. Puede encontrar más detalles sobre nuestra ruta de desaprobación comunicada previamente en la publicación del foro Actualización sobre iluminación global 2021.
A continuación se incluyen enlaces a solicitudes de comentarios anteriores para las versiones Beta 2023.1, 2023.2 y Unity 6 (2023.3) respectivamente:
- Cambios en la iluminación global con la versión beta 2023.1
- Cambios en la iluminación global con la versión beta 2023.2
- Cambios en la iluminación global con la versión beta de Unity 6 (2023.3)
Esperamos ver sus creaciones aprovechando nuestras nuevas funciones de iluminación entregadas en Unity 6. ¡Envíenos sus comentarios en el foro de Global Illumination o en el nuevo espacio de Discusiones de Unity!