¿Qué estás buscando?
Engine & platform

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

STEVEN KENT / UNITYProduct Manager Engine Graphics
Jul 11, 2024|21 minutos
Nuevas funciones de iluminación global de 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.


Ilumina tu mundo con iluminación global

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.

Volúmenes de sonda adaptables

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.

Los volúmenes de sonda adaptables se rellenan automáticamente con una estructura 3D de "ladrillos"
Los volúmenes de sonda adaptables se rellenan automáticamente con una estructura 3D de "ladrillos". Cada ladrillo contiene 64 sondas de luz, dispuestas en una cuadrícula de 4 × 4 × 4.

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.
APV se integra perfectamente con la atmósfera
APV se integra perfectamente con las atmósferas, esto significa que los efectos como la niebla volumétrica en HDRP y las partículas de gráficos VFX en URP y HDRP ahora están bellamente iluminadas por la iluminación indirecta utilizando el proyecto [HDRP] Gate Backyard de Asset Store.
Así es como convertimos la escena Oasis de URP para usar APV

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.


La escena del oasis convertida para utilizar los volúmenes de sonda adaptativos
La escena de Oasis se convirtió de 2022 LTS a Unity 6, aplicando volúmenes de sonda adaptativos para iluminación indirecta.
Colocación de sondas con volúmenes de sonda adaptables

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.

 Especifique qué niveles de subdivisión debe utilizar APV en la ventana de iluminación
En la ventana de iluminación y la pestaña Volumen de la sonda adaptativa, puede especificar qué niveles de subdivisión debe usar APV.

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.

Previsualice los diferentes ladrillos de sondas en tiempo real antes de hornear
El modo de depuración Actualizaciones en vivo puede ayudar a previsualizar los diferentes bloques de sondas en tiempo real antes de hornear.
Generar iluminación

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.

Las sondas y los niveles de subdivisión múltiple se pueden visualizar utilizando el depurador de renderizado
Las sondas y los niveles de subdivisión múltiple se pueden visualizar utilizando el depurador de renderizado.
Abordar los problemas de fuga de luz

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.

Las fugas de luz son especialmente visibles en zonas donde la iluminación cambia drásticamente y las paredes son delgadas.
Al inspeccionar la vista de depuración de Iluminación global, la fuga de luz es particularmente visible en áreas donde la iluminación cambia drásticamente y las paredes son delgadas.

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.

Opción de muestreo de sonda de depuración para comprender cómo se muestrean las sondas
La opción de muestreo de sonda de depuración es excelente para comprender cómo se muestrean las sondas en tiempo de ejecución e identificar posibles problemas.

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.

La fuga de luz se puede mejorar independientemente de la resolución de la sonda
En tiempo de ejecución, los objetos muestrearán las sondas según la capa a la que estén asignadas, lo que mejora los desafíos de fuga de luz independientemente de la resolución de la sonda.

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.

El modo de calidad ayuda a garantizar menos casos de fugas de luz.
A diferencia del Modo de Rendimiento, el nuevo Modo de Calidad ayuda a garantizar menos casos de fuga de luz.
Abordar los desafíos de las costuras

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.

La eliminación automática de costuras ayuda a ocultar las líneas visibles entre los niveles de subdivisión.
En la vista de depuración de Iluminación global, es evidente cómo esta eliminación automática de costuras ayuda a ocultar los niveles de subdivisión al crear transiciones suaves entre ellos.
Consiga experiencias visuales más dinámicas con las transiciones de iluminación APV

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.

Añade escenarios de iluminación con APV en el Oasis

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.

Esta escena utiliza un escenario de día y noche para hornear múltiples versiones de la iluminación difusa indirecta creada con APV.
Esta escena utiliza un escenario de día y noche para hornear múltiples versiones de la iluminación difusa indirecta creada con APV.
Se pueden combinar múltiples escenarios para crear transiciones suaves entre el día y la noche.
La iluminación difusa indirecta de múltiples escenarios se puede combinar para crear transiciones suaves entre el día y la noche. Esto se logra utilizando la API ProbeReferenceVolume para exponer una variable de fusión que se puede animar, por ejemplo, utilizando Timeline.
Aproveche la oclusión del cielo con APV en el jardí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.

Secuencia de imágenes que describen la aplicación de la oclusión del cielo en la escena del jardín.
La escena del jardín utilizando la función Oclusión del cielo. En esta secuencia de imágenes se puede observar primero la sonda ambiental sola, seguida de la iluminación combinada de la sonda ambiental y la oclusión del cielo, y luego específicamente la contribución de la oclusión del cielo en sí. Finalmente, proporcionamos la representación de depuración de la oclusión APV.

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.

Los datos de oclusión combinados con el modo de gradiente en la configuración del entorno permiten la animación manual del color de la sonda ambiental.
Los datos de oclusión combinados con el modo de gradiente en la configuración del entorno permiten la animación manual del color de la sonda ambiental. Usando Azure[Sky] Dynamic Skybox desde Asset Store para el sombreador de cielo.
Más información sobre APV
Horneado ligero en Unity 6

Con la nueva arquitectura Light Baking de Unity entregada en Unity 6, GPU Light Baker ya no está en versión preliminar

Entorno interior arquitectónico mapeado con luz. Crédito del contenido: ArchvizPRO Interior Vol.10
Entorno interior arquitectónico mapeado con luz. Crédito del contenido: ArchvizPRO Interior Vol.10

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.

Nuevo perfil de horneado

También le proporcionamos un nuevo perfil de horneado que le permite elegir su intención de flujo de trabajo adecuada.

El nuevo Light Bakery le permite elegir la intención de su flujo de trabajo, desde el menor uso de memoria hasta un mayor rendimiento.
El nuevo Light Bakery le permite elegir la intención de su flujo de trabajo, desde el menor uso de memoria hasta un mayor rendimiento.

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 generación automática es ahora el modo de vista previa de depuración de GI interactiva

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.

Modo de vista previa de depuración de GI interactiva en Unity 6
Modo de vista previa de depuración de GI interactiva en Unity 6

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.

Aviso de ruta de desuso de Enlighten Realtime GI

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.

Obtenga más información sobre las funciones de iluminación incluidas con Unity 6

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:

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!