Light troubleshooting and performance
Linear rendering overview

Temas relacionados

El sistema de iluminación de Unity está afectado por y puede afectar muchos de sus otros efectos y sistemas.

Quality settings (Configuraciones de calidad)

La ventana de Quality settings tiene muchos ajustes que afectan la iluminación y sombras.

Player settings (Configuraciones del reproductor)

La ventana de Unity Player settings le permite a usted escoger el rendering path y color space.

Camera inspector (Inspector de la cámara)

El Camera inspector le permite a usted anular los ajustes del Unity player para el rendering path por cámara. HDR también se puede activar aquí.

Rendering paths

Unity soporta un número de técnicas de renderizado, o ‘path’ (ruta). Una decisión temprana que necesitar hacerse cuando empiece un proyecto es qué path (ruta) utilizo. El predeterminado de Unity es ‘Forward Rendering’.

En Forward Rendering, cada objeto es renderizado en un ‘pass’ por cada luz que lo afecta. Por lo tanto, cada objeto puede ser renderizado varias veces dependiendo de qué tantas luces estén en rango.

Las ventajas de este acercamiento es que puede ser muy rápido - significando que los requerimientos de hardware son mucho menos que alternativas. Adicionalmente, Forward Rendering nos ofrece un rango amplio de ‘shading models’ personalizados y puede manejar transparencia rápidamente. También permite el uso de técnicas de hardware como ‘multi-sample anti-aliasing’ (MSAA) las cuales no están disponibles en otras alternativas, como lo son Deferred Rendering la cual puede tener un impacto grande en la calidad de imagen.

No obstante, una des-ventaja significante del forward path es que tenemos que pagar un precio de renderizado por luz. Essto es decir, entre más luces se afecten entre sí, menor será el rendimiento de renderizado. Para algunos tipos de juegos, con muchas luces, esto por lo tanto tiene que prohibirse. Sin embargo, si es posible manejar la cantidad de luces en su juego, Forward Rendering en realidad es una solución muy rápida.

Por otro lado, en ‘Deferred’ rendering, nosotros deferimos el shading y blending de la información de iluminación hasta después de un pass sobre la pantalla dónde las posiciones, normales, y materials para cada superficie son renderizadas a un ‘geometry buffer’ (G-buffer) como una serie de texturas del espacio de pantalla. Este acercamiento tiene la ventana principal que los costos de renderizado asociados a la iluminación es proporcional a la cantidad de pixeles que la luz ilumina, en vez de la cantidad de luces en sí mismas. Como resultado, usted ya no está limitado por la cantidad de luces que desee renderizar en la escena, y para algunos juegos está es la ventaja crítica.

Deferred Rendering ofrece características de rendimiento altamente predecible, pero generalmente requiere de un hardware más poderoso. También no está soportado por cierto hardware de móviles.

Para más información acerca de Deferred, Forward y los otros rendering path disponibles, por favor mirar la página principal de documentación.

High dynamic range

High dynamic range rendering le permite a usted simular una cantidad más amplia de colores de los que están tradicionalmente disponibles. Por su parte, esto usualmente significa que necesita escoger un rango de brillo para mostrar en la pantalla. De esta manera, es posible simular diferencias grandes de brillo entre, digamos, la iluminación externa en nuestras escenas y las áreas sombreadas. También podemos crear efectos como ‘blooms’ o destellos al aplicar efectos a estos colores brillantes en su escena. Unos efectos especiales como estos pueden agregar realismo a partículas u otras fuentes de luz visibles.

Para más información acerca de HDR, por favor mirar la página de manual relevante.

Tonemapping

Tonemapping is a post-processing effect that is required to describe how to map colours from HDR to what you can see on the screen. A variety of methods are included or you can write your own.

Por favor mirar el artículo de Tonemapping para más información.

Reflejos

Mientras que no son un efecto de iluminación explícita, los reflejos son importantes para mostrar materiales realistas que reflejan luz, como lo son metales brillantes o vidrio. Técnicas modernas de shading, incluyendo el Standard Shader de Unity, integran una reflexión a las propiedades de un material.

Para más información, por favor referirse a nuestra sección acerca de Reflejos.

Linear color space

Adicionalmente a seleccionar un rendering path, es importante escoger un ‘Color Space’ antes de iluminar su proyecto. El Color Space determina las matemáticas utilizadas por Unity cuando mezcle colores en cálculos de iluminación o cuando lea valores de texturas. Esto puede tener un efecto drástico al realismo de su juego, pero en muchos casos, la decisión sobre qué Color Space utilizar por lo general será determinada por las limitaciones de hardware de su plataforma destino.

El Color Space preferido para un rendering real es Linear.

Una ventaja significante de utilizar Linear Space es que el color proporcionado a los shaders dentro de su escena serán brillantes linealmente a medida que la intensidad de luz aumente. Con la alternativa, el Color Space ‘Gamma’, el brillo rápidamente se vuelve blanco a medida que los valores aumenten, lo cual es perjudicial para la calidad de la imagen.

Para información adicional por favor ver Linear rendering.

Light troubleshooting and performance
Linear rendering overview