La ventana de Lighting (menú: Window > Lighting) es el punto de control principal para las características del Global Illumination (GI) de Unity. Aunque GI en Unity da buenos resultados con ajustes predeterminados, las propiedades de la ventana le permite a usted ajustar muchos aspectos del proceso de GI para personalizar su escena u optimizar calidad, velocidad y espacio de almacenamiento a medida que necesita. Esta ventana también contiene ajustes relacionados a la iluminación que estaba disponibles debajo de Render Settings en versiones de Unity anteriores a 5.0. Estas incluyen ambient light, halos, cookies y fog.
Los controles de la ventana de Lighting está dividido entre tres pestañas:
La pestaña Object le permite a usted escoger un sub-conjunto de objetos en su escena y cambiar configuraciones para ellos. Esto es muy útil para seleccionar qué objetos deberían participar en los cálculos de GI y también para aplicar ajustes consistentemente a grupos de objetos.
La pestaña Scene tiene configuraciones que se aplican a la escena en general en vez de objetos individuales. Estas configuraciones controlan efectos de iluminación y también opciones de optimización.
La pestaña Lightmaps muestra los archivos del lightmap asset generado por el proceso GI.
Las pestañas son descritas en detalle a continuación.
Sin importar qué pestaña es seleccionada, la ventana también tiene una casilla de verificación Auto cerca del fondo. Si está habilitada, esta permite que los datos del lightmap sean actualizados mientras usted edita la escena (aunque usted debería tener en cuenta que la actualización usualmente toma unos pocos segundos en vez de que suceda de manera instantánea). Si Auto es des-habilitado entonces el botón Build a la derecha de la casilla de verificación se vuelve activo; utilice el botón para activar las actualizaciones del lightmap a medida que necesite. El botón build también tiene un menú desplegable con una opción para limpiar los datos baked de la escena (sin limpiar el caché del GI).
Debajo de la casilla de verificación Auto hay un pequeño panel mostrando las estadísticas del lightmap.
La pestaña Object le permite a usted seleccionar grupos de objetos y luego aplicar configuraciones a ellos.
Encima de la pestaña hay un conjunto de botones de Filtros de Escena que le permite a usted limitar la vista de la jerarquía a tipos de objetos específicos: Lights (luces), Renderers (renderizadores), Terrains (terrenos). Al seleccionar todos se va a mostrar la vista de la jerarquía como usualmente se ve.
Si usted selecciona cualquiera de los otros objetos entonces la vista de la jerarquía estará limitada para mostrar solamente esos tipos de objetos. Esto es esencialmente una manera rápida de acceder al filtro de la vista de la jerarquía estándar para la mayoría de casos.
Tenga en cuenta que el filtro no afecta qué objeto está actualmente seleccionado, por lo que es posible tener, digamos, un objeto terreno seleccionado incluso cuando la jerarquía está filtrada para mostrar solo luces.
La relevancia de los botones filtros es que cada uno de los tres tipos de objetos tienen su propio conjunto de propiedades, cada uno descrita en detalle abajo.
Para un objeto light (luz), la pestaña Object esencialmente muestra la misma información que el panel del inspector estándar del componente light. Las propiedades que específicamente afectan el GI son Baking y Bounce Intensity.
Baking le permite a usted escoger si la luz debería ser baked si Baked Gi es seleccionado. Mixed va a también a bake, pero estará todavía presente en tiempo de ejecución para darle iluminación directa a objetos no estáticos. Realtime funciona ambos para Precomputed Realtime GI y cuando no se está utilizando global illumination.
Bounce Intensity le permite a usted variar la intensidad de la luz indirecta (ie, la uz que rebota de un objeto a otro. El valor es un múltiple del brillo predeterminado calculado por el sistema GI; si usted configura la Bounce Intensity a un valor mayor que uno entonces la luz que rebota será más brillante, mientras que un valor menor a uno lo hará más dimmer. Esto es útil, por ejemplo, cuando una superficie oscura en sombra (tal como el interior de una cueva) necesita ser renderizada más brillante con el fin de hacer el detalle visible. O de manera alternativa, si usted quiere utilizar Precomputed Realtime GI en general, pero quiere limitarse a una sola luz para darle luz directamente solamente, usted puede configurar su Bounce Intensity a 0.
Para los renderizadores, las siguientes propiedades están disponibles:
Propiedad: | Función: |
---|---|
Lightmap Static | Esto le indica a Unity que la ubicación del objeto es fija por lo que debería participar en el GI. Si un objeto no es marcado como Lightmap Static, entonces todavía puede ser prendido utilizando Light Probes. |
Scale in Lightmap | Este valor afecta la cantidad de pixeles en la textura lightmap que son utilizados para este objeto. Con el valor predeterminado de 1.0, la cantidad de pixeles en el lightmap utilizados por el objeto solo depende en su área superficial (ie, la misma cantidad de pixeles por unidad de área para todos los objetos). Un valor mayor a 1.0 aumenta la cantidad de pixeles (ie, la resolución del lightmap) utilizado para este objeto mientras que un valor menor que 1.0 lo disminuye. Usted puede utilizar esta propiedad para optimizar lightmaps para que haya áreas más importantes y detalladas alumbradas con mayor precisión. Por ejemplo, un edificio aislado con paredes planas y oscuras se podría ver bien en una lightmap scale baja (menor que 1.0) mientras que una colección de motocicletas coloridas mostradas muy juntas y cercas podría querer un valor de lightmap scale mayor. |
Preserve UVs | Unity puede re-calcular las coordenadas UV utilizadas para la textura lightmap en tiempo real para mejorar sus características de almacenamiento y rendimiento. Por favor tenga en cuenta que el proceso de re-calcular a veces hará malos juicios acerca de discontinuidades en el mapping UV original. Por ejemplo, un borde afilado intencionalmente puede ser mal interpretado como una superficie continua,resultando en errores dónde no deberían. Si Preserve UVs está habilitado entonces los UVs de lightmapping del objeto serán pasados al lightmap para retener el efecto deseado por el artista. Si Preserve UVs se apaga, entonces Unity va a calcular las UVs del lightmap en tiempo real basándose en las UVs baked para unirse a “charts” adyacentes y compactar el lightmap como sea pueda. Este cálculo se basa en los dos ajustes de abajo (max distance y max angle). Las charts en tiempo real serán empaquetadas con la mitad de un border de pixel alrededor de ellas. Esto asegura que no se obtiene una fuga cuando se renderiza. |
Auto UV Max Distance | Enlighten automáticamente genera UVs simplificadas al unir charts de UV. Las Chars van a ser simplificadas si la distancia del espacio del mundo entre las charts es menor que este valor. |
Auto UV Max Angle | Enlighten automáticamente genera UVs simplificadas al unir UV charts. Charts solamente serán unidas si el ángulo entre las charts es menor que este valor. |
Important GI | Esto le dice a Unity que la luz reflejada o emitida del objeto es más probable que afecte otros objetos de una manera notable. Esto asegura que unos efectos de una iluminación sutil creados por este objeto no son optimizados. |
Advanced Parameters | Le permite a usted escoger o crear un conjunto de Lightmap Parameters para la selección actual de objeto. |
Para Terrains, las propiedades son un sub-conjuntos de aquellas disponibles para renderers.
Propiedad: | Función: |
---|---|
Lightmap Static | Esto le indica a Unity que la ubicación del objeto es fija y no debe participar en el GI. Si un objeto no es marcado como Lightmap Static entonces puede que todavía se prenda utilizando Light Probes. |
Scale in Lightmap | Este valor afecta la cantidad de pixeles en la textura lightmap que son utilizados para este objeto. Con el valor predeterminado de 1.0, la cantidad de pixeles lightmap para el objeto solamente depende en su área superficial (ie, el mismo número de pixeles por unidad de área para todos los objetos). Un valor mayor que 1.0 aumenta la cantidad de pixeles (ie, la resolución lightmap) utilizados para este objeto mientras que un valor menor a 1.0 lo disminuye. Usted puede utilizar esta propiedad para optimizar lightmaps para que haya áreas importantes y detalladas que estén prendidas más precisas. |
Advanced Parameters | Le permite a usted escoger o crear un conjunto de Lightmap Parameters para la selección actual de objeto. El valor predeterminado configurado para Terrains es el conjunto integrado Very Low Resolution. |
La pestaña Scene contiene ajustes que se aplican a lo general de la escena opuesto a objetos individuales. Tenga en cuenta que las características Precomputed Realtime GI y Baked GI pueden ser activadas o des-activadas al marcar las casillas de verificación alado de sus nombres en la pestaña Scene.
Propiedad: | Función: |
---|---|
Environment Lighting | |
Skybox | Un skybox es una imagen que aparece detrás de todo lo demás en la escena para simular el cielo u otro fondo distante. Esta propiedad le permite a usted escoger el asset skybox que quiera utilizar para su escena. |
Sun | Cuando un skybox procedural es utilizado, usted puede utilizar esto para especificar un objeto directional light para indicar la dirección del “sol” (o cualquier fuente de luz grande, distante que esté iluminando su escena). Si este es configurado a None entonces la directional light más brillante en la escena representará el sol. |
Ambient Source | El ambient light (luz de ambiente) es luz que está presente en toda la escena y no viene de algún objeto fuente específico. Hay tres opciones para la fuente del ambient light. Color simplemente utiliza un color plano para toda la ambient light en la escena. Gradient le permite a usted escoger el color de manera separada de la ambient light del cielo, horizonte y suelo y se mezcla suave entre estos. Skybox utiliza los colores del skybox (si se especifica por la propiedad descrita arriba) para determinar la luz de ambiente que viene de diferentes ángulos; esto permite unos efectos más precisos que la opción simple de Gradient. |
Ambient Intensity | El brillo de su luz de ambiente en la escena. |
Ambient GI | Especifica el modo GI (Pre-computed Realtime o Baked) que debe ser utilizado para el manejo de luces de ambiente. Esta propiedad no toma efecto al menos de que ambos modos estén disponibles para la escena. |
Reflection Source | Le permite a usted específica si utilizar el skybox para efectos de reflejo (predeterminado) o alternativamente escoger un cubemap para utilizar más bien. Si el skybox es seleccionado como la fuente entonces una opción adicional se proporciona para configurar la resolución del skybox para propósitos de reflejos. |
Reflection Intensity | El grado al cual estará la fuente de reflejo (skybox o cubemap) visible en objetos que reflejen. |
Reflection Bounces | Un “rebote” de un reflejo ocurre dónde un reflejo de un objeto es luego reflejado por otro objeto. Los reflejos son capturados en la escena través del uso de Reflection Probes. Esta propiedad le permite a usted configurar qué tantas veces rebota entre los objetos que están siendo evaluados por los probes; si se configura a 1 entonces solamente el reflejo inicial (del skybox o cubemap especificado en la propiedad Reflection Source) será tomado en cuenta. |
Precomputed Realtime GI | |
Realtime Resolution | Esto configura la cantidad de texels (ie, “texture pixels”) que serán utilizados por unidad de longitud de objetos siendo prendidos por el realtime GI. Una resolución de 1 por unidad es usualmente un buen valor (dependiendo en el tamaño de los objetos en la escena) pero para terrenos y objetos grandes es mejor bajar la resolución de la escala. Usted puede utilizar los Lightmap Parameters o la propiedad del Mesh Renderer Scale In Lightmap para reducir la resolución. Tenga en cuenta que esta propiedad también configura la Indirect Resolution si ambos Realtime y Baked GI están habilitados - ver las propiedades Baked GI abajo. |
CPU Usage | Esto le permite a usted configurar la cantidad aproximada de tiempo CPU gastada evaluando realtime GI en tiempo de ejecución. Un uso de CPU mayor resulta en reacciones más rápidas de la iluminación pero puede afectar el framerate, etc. Esto no afecta el uso del CPU para el proceso de pre-computación realizado en el editor. Tenga en cuenta que un uso mayor de CPU se logra al aumentar el número de hilos asignados al GI; los procesadores con muchos núcleos por lo tanto sufren un menor golpe de rendimiento. |
Baked GI | |
Baked Resolution | Esto configura la cantidad de texels (ie, “texture pixels” (pixeles de textura)) que será utilizado por unidad de longitud para objetos que esté siendo prendidos por baked GI. Esto típicamente es configurado diez veces más que la Realtime Resolution (resolución en tiempo real) (ver PreComputed Realtime GI arriba). |
Baked Padding | La separación (en unidades texel) entre las formas seperadas en el baked lightmap. |
Compressed | Debería la textura baked lightmap ser comprimida? Un lightmap comprimido requiere menos espacio de almacenamiento pero el proceso de compresión puede introducir problemas no deseados a la textura. |
Indirect Resolution | (Solamente disponible cuando Precomputed Realtime GI esté des-activado) Resolución de los cálculos de iluminación indirectos. Equivalente al Realtime Resolution (resolución en tiempo real) cuando utilice Precomputed Realtime GI. |
Ambient Occlusion | El brillo relativo de superficies en occlusion de ambiente (ie, un bloqueo de luz ambiental en las esquinas del interior). Unos valores mayores indican un contraste mayor entre áreas completamente prendidas y occluded. Esto solamente se aplica a la iluminación indirecta que es calculada por el sistema GI. |
Final Gather | Cuando la opción final gather esté habilitada, el rebote final de luz en los cálculos de GI serán calculados a la misma resolución que el lightmap baked. Esto mejora la calidad visual del lightmap pero al precio de un tiempo de baking adicional en el editor. |
General GI | |
Directional Mode | El lightmap puede ser configurado para almacenar información acerca de alguna iluminación entrante dominante en cada punto de las superficies del objeto. En el modo Directional, un lightmap secundario es generado para almacenar una dirección dominantes de una luz entrante. Esto le permite a materiales diffuse normal mapped en funcionar con GI. En el modo Directional Specular, unos datos adicionales son almacenados para permitir una incorporación completa de shading (sombreado) de specular reflection y normal maps. El modo Non-directional cambia entre estas opciones (apagado/prendido). El modo Directional requiere cerca del doble de espacio de almacenamiento para datos adicionales lightmap; Directional Specular requiere cuatro veces más de almacenamiento y también el doble que memoria de texturas. Ver la página acerca de Directional Lightmapping para detalles adicionales. |
Indirect Intensity | Un valor que escala el brillo de luz indirecta como se ve en el lightmap final (ie, la ambient light o luz que rebota y es emita de objetos). Configurar esto a 1.0 utiliza la escala predeterminado; los valores menores que 1.0 reducen la intensidad mientras que los valores mayores que 1.0 la aumentan. |
Bounce Boost | Un valor de escala para aumentar la cantidad de luz que rebota de unas superficies a otras. El valor predeterminado es 1.0 que indica que no hay aumento. |
Default Parameters | Unity utiliza un conjunto de parámetros generales para el lightmapping adicionalmente a las propiedades de la ventana de Lighting. Unos pocos predeterminados están disponibles del menú para esta propiedad pero usted puede también crear su propio archivo de parámetros lightmap utilizando la opción Create New. Ver la página de Lightmap Parameters para detalles adicionales. |
Atlas Size | El tamaño en pixels de la textura completa lightmap que incorpora regiones separadas para las texturas individuales del objeto. |
Fog | |
Fog Color | El color utilizado para dibujar fog (niebla) en la escena. Tenga en cuenta que fog (niebla) no está disponible con Deferred rendering path. |
Fog Mode | La manera en que la niebla se acumula con distancia desde la cámara. Las opciones son Linear, Exponential y Exponential Squared (estas están en un orden ascendiente de acumulación de niebla con distancia). |
Start | (Solamente disponible para el modo Linear fog) La distancia desde la cámara donde inicia la niebla. |
End | (Solamente disponible para modo Linear fog) La distancia desde la cámara en la cual la niebla completamente oscurece los objetos de escena. |
Otros Ajustes | |
Halo Texture | La textura utilizada para dibujar un Halos alrededor de luces. |
Halo Strength | La visibilidad de halos alrededor de luces. |
Flare Fade Speed | El tiempo en el que los lens flares van a desvanecerse de la vista después de aparecer inicialmente. |
Flare Strength | La visibilidad de los lens flares (destellos de luz) de luces. |
Spot Cookie | La textura Cookie utilizada para spot lights. |
El botón Build va a comenzar el proceso de construcción de iluminación. El botón puede expandirse a un desplegable dónde usted puede limpiar los datos baked. Esto no es lo mismo que limpiar el GICache.
La última pestaña proporciona una manera fácil de configurar y ubicar el archivo asset lightmap utilizado para la escena.
Si usted oprime el nombre del archivo en la casilla Lightmap Snapshot, el Project view le va a mostrar el archivo asset. Si usted oprime el siguiente pip pequeño a la caja, una ventana de selección de objeto aparecerá para permitirle a usted seleccionar un lightmap diferente. Si usted re-nombra la carpeta dónde el asset actual del lightmap está ubicado y luego configure la propiedad de Lightmap Snapshot a None, un nuevo archivo será creado la siguiente vez que usted construya el lightmap. Utilizando varios archivos como este es una manera buena de probar los ajustes GI y compare los diferentes conjuntos de parámetros.
La imagen de abajo de la casilla del Lightmap Snapshot muestra una pre-visualización del lightmap. Esto es solamente disponible cuando las luces Baked son utilizados; la pre-visualización estará en blanco para las luces en Tiempo real.