Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. 3D & Motion Graphics
  2. Unity 3D
Cgi

Iluminación en Unity 5

Difficulty:BeginnerLength:LongLanguages:

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Final product image
What You'll Be Creating

Unity se ha vuelto más y más popular entre aspirantes a programadores de juegos. Esto es debido al hecho de que Unity soporta de manera directa una multitud de entornos de plataformas como móvil, escritorio y consola. Además, es gratuito para usar para desarrolladores o estudios con ingresos más bajos.

Unity soporta varias tecnologías y componentes. Algunos de los componentes clave son la iluminación y técnicas de iluminación. En Unity puedes iluminar una escena simulando el comportamiento complejo de las luces o aplicando un modelo de iluminación simple.

Este tutorial se enfocará en explicar cómo funciona la iluminación en Unity 5, los tipos de iluminación y propiedades, y cómo usarlos para crear efectos ricos de iluminación.

Prerrequisitos

Primero, asegura que tienes la última versión de Unity. En este tutorial estamos usando la versión 5.5.0f3. Asegúrate de que estás usando la última versión de Unity; de otro modo podrías tener problemas siguiendo el tutorial y usando las uniones de físicas.

Después, descarga el archivo LightingInUnity5-Starter. Descomprímelo y abre el proyecto en Unity. La escena Demo debería abrirse automáticamente, pero si no, puedes abrirla desde la carpeta Assets.

Iluminación Directa e Indirecta

En un escenario del mundo real, tienes dos tipos de efectos de iluminación: directa e indirecta. La iluminación directa, como el nombre sugiere, es luz que viene directamente de una fuente de luz (una lámpara, el solo u otro). Por el otro lado, la iluminación indirecta es luz que viene de otro objeto.

Probemos e implementemos ambos tipos.

La luz directa ya puede ser vista en acción en tu Escena. Como probablemente notaste, tienes una luz direccional en la escena llamada Luz Direccional.

Las luces direccionales son mayormente usadas en escenas de exterior para luz solar y lunar. Estas afectan todas las superficies de los objetos en la escena. También son menos costosas para el procesador de gráficos.

Puedes seleccionar la Luz Direccional y ver sus propiedades en el panel Inspector. Notarás varias propiedades interesantes como Tipo, Color e Intensidad. Puedes jugar con las propiedades Color y Rotación y ver el resultado en tiempo real. Al cambia estos valores, estás jugando directamente con luz direccional.

Directional Light Inspector Rotation

En este momento, tu escena 3D no tienen ninguna luz direccional. Puedes revisar eso moviendo la Esfera más cerca a la pared verde o roja. El color de la Esfera no cambiará.

Global Illumination - Sphere surface

Una manera de usar iluminación indirecta es usar GameObjects estáticos. Ten en mente que el uso de objetos de juego estáticos puede mejorar el rendimiento de la generación de tu juego, pero también reduce la calidad, así que debes encontrar el balance adecuado para tu juego.

Agrega una caja a tu escena (GameObject > Objeto 3D > Cubo), y colócalo junto a la esfera. Nómbralo Cubo.

Global Illumination - Box mesh

Selecciona el Cubo, y dentro del Inspector habilita la propiedad Static.

Global Illumination - Cube Inspector Properties

Cuando habilitas la propiedad Static, Unity automáticamente crea un mapa de luz para ese objeto y aplica el modelo de iluminación correcto. Ahora puedes mover la cámara hacia el Cubo y ver la iluminación indirecta trabajando. El color verde (en la imagen) o el rojo ahora se esparce en el Cubo.

Global Illumination - Light map with shadows

Si cambias la dirección de la Luz Direccional, notarás que Unity automáticamente actualiza los mapas de luz también.

La iluminación indirecta que está siendo aplicada al Cubo no es aplicada a la Esfera porque la Esfera no es estática. Puedes solucionar esto haciendo estática la Esfera (Inspector > Estático).

En este momento, puedes agregar y configurar iluminación directa e indirecta a objetos estáticos. Sin embargo, las escenas 3D están compuestas de objetos dinámicos. De ahí, ¿cómo podemos aplicar tales efectos a esos objetos? Esa pregunta nos lleva a la siguiente sección.

Sondas de Luz

Cuando tu escena contiene objetos no-estáticos, necesitas usar técnicas específicas de iluminación para iluminarlas correctamente para que no se vean desconectadas de la escena.

A través del uso de sondas de luz y sus posiciones, puedes muestrear una región específica y después calcular la iluminación en esa región específica. Estos cálculos son lo suficientemente rápidos para ser usados durante el juego. El uso de sondas de luz evita desconectar entre la iluminación de objetos en movimiento y objetos mapeados de luz estáticos en la escena.

La Esfera es un objeto dinámico, de ahí, y contrario a lo que pudiera parecer, no está correctamente iluminada. Si apagas la Luz Direccional, notarás la única iluminación afectando a la Esfera es la luz de ambiente. Para iluminar la Esfera correctamente, necesitas usar sondas de luz.

Para agregar sondas de luz a un área de tu escena, ve a Componente > Generar > Grupo de Sonda de Luz. Esto creará un grupo de sonda de luz en tu escena.

Light Probes - Light probe group

El siguiente paso es poner las sondas del grupo en la posición correcta. Ahora querrás colocarlas cerca de cada esquina de la Caja.

La mejor manera de hacer esto es cambiar a una vista ortográfica (dando clic al cubo en la esquina superior derecha de la escena). Después, selecciona cada nodo de sonda de luz y arrástralo a cada esquina de la Caja (similar a la siguiente imagen).

Light Probes - Side selection

Repite el proceso hasta que tengas todos los nodos posicionados.

Light Probes - Procedure

Hay escenas que requieren sondas adicionales para iluminar correctamente los objetos. Para poder agregar más sondas, puedes seleccionar una sonda y después bajo el Inspector, dar clic al botón Duplicar Seleccionado.

Light Probes - Light Probe Group

Después de la duplicación, necesitas colocar el nuevo nodo en el lugar adecuado (el duplicado aparecerá en la misma posición que el seleccionado).

Light Probes - Probes positioning

Si echas un vistazo más de cera a la interface en el Inspector, notarás que también puedes agregar sondas individuales (Agregar Sonda), borrar sondas (Borrar Seleccionado), o seleccionar todas las sondas del grupo (Seleccionar Todos).

Para ver las sondas de luz en acción, selecciona la Esfera y agrega un Rigidbody a este (Agregar Componente > Rigidbody). Después, asigna un material al colisionador. Puedes usar el material goma.

Light Probes - RigidBody

Ahora, coloca la Esfera cerca de la parte superior de la Caja y presiona Reproducir. Ahora puedes ver la iluminación adecuada de la Esfera. Para ver las diferencias, deshabilita las sondas de luz y Reproduce la escena de nuevo.

Light Probes - Testing the light probes

Luz de Punto

Las luces de punto son las luces más comunes en juegos. Son usadas regularmente para explosiones y bombillas. Ya que emiten luz en todas direcciones, tienen un costo promedio en el procesador de gráficos. Sin embargo, calcular las sombras cuando se usan luces de punto es más costoso.

Agrega una luz de punto seleccionando GameObject > Luz > Luz de Punto. Después, posiciona la Luz de punto dentro de la Caja cerca de la parte superior.

Point light - light positioning

Selecciona la Luz de Punto y echa un vistazo a los parámetros en el Inspector.

Point light - Inspector parameters

El primer parámetro es Tipo. Aquí puedes establecer el tipo de luz que quieres usar. Puedes seleccionar Spot, Direccional, Punto o Área. Cada una proporciona un efecto específico de luz. Puedes seleccionar cualquiera de las opciones y ver los resultados en tiempo real. Sin embargo, para este tutorial usarás la opción Punto. Esto creará un efecto de bombilla (la luz brilla en todas direcciones por igual).

El segundo parámetro es Hornear. Puedes establecerlo a Tiempo real, Horneado o Mezclado. Deja el valor por defecto. El parámetro Rango define qué tan lejos se emite la luz desde el centro de la Luz de punto. El parámetro  Color define el color de la luz emitida.

Intensidad define el brillo de la luz, e Intensidad de Rebote define el multiplicador de intensidad de luz indirecta. El Tipo de Sombra define las propiedades de sombra y tipos de sombra. Puedes establecerlo a Sin Sombras, Sombras Duras, o Sombras Suaves. Recuerda que las sombras de luz de punto son las más costosas para el motor, así que ten cuidado cuando selecciones esta opción.

Si seleccionas Sombras Duras o Sombras Suaves, verás la sombra producida por la Esfera y la Luz de Punto. Cuando cambias el valor Fuerza, la sombra también se atenuará o acentuará. La Resolución te permite definir el nivel de detalle de las sombras. Finalmente, Parcialidad y Parcialidad Normal te permite configurar la compensación usada cuando se compara la posición del pixel en un espacio liviano con el valor del mapa de sombra.

Cookie es un parámetro opcional que representa un canal alpha de una textura usada como una máscara que determina que tan brillante es una luz en diferentes posiciones. Ya que esta es una luz de punto, la textura usada debe ser un Cubemap.

La opción Dibujar Aureola solo genera una aureola alrededor de la fuente de luz. Bengala define una referencia a una bengala para ser generada en la posición de la luz. Bengala y Dibujar Aureola pueden ser útiles cuando depuramos la escena 3D y posibles cuellos de botella.

Modo de Generación define lo importante que es la iluminación cuando el generador está generando la escena. Entre más importante, más intensa será la generación. El Modo de Generación puede ser establecido a Auto, Importante o No Importante. Finalmente, Máscara de Sacrificio es usado para seleccionar o excluir grupos de objetos que son afectados por la luz de punto.

Ahora que has visto todas las propiedades de luz de punto, hablemos sobre iluminación directa e indirecta cuando se usan luces de punto. Cuando creas un juego, una de las características principales es el uso de iluminación y efectos de iluminación. Sin embargo, un escenario pesado de iluminación llevará a tiempos de carga más pesados, cuellos de botella FPS, y más trabajo para el CPU. Además se aconseja jugar con las propiedades Tipos de Sombra y Horneado para balancear el rendimiento de tu escena.

Por ejemplo, si estableces Horneado a Tiempo real y el Tipo de Sombra a Sombras Duras o Sombras Suaves, tendrás un efecto de sombra muy agradable y realista entre la Esfera y la Caja. Sin embargo, esta configuración puede ser pesada para el CPU si tu escena es compuesta por muchas luces.

¿Cómo solucionar ese problema? Puedes establecer inicialmente el parámetro Hornear a Hornear. Una vez que haves esto, Unity creará automáticamente mapas de luz para esta luz, dándote un aumento de rendimiento. Sin embargo, este aumento de rendimiento tiene su costo: ahora no tienes sombras siendo proyectadas por la luz de punto en objetos dinámicos, como la Esfera.

La mejor práctica es analizar cada luz de manera individual y después proceder de manera acorde. Por ejemplo, en esta escena tendría más sentido tener Horneado en Tiempo Real y Sombras Duras, porque solo una fuente de luz está presente dentro de la caja.

Sin embargo, si tu fuente de luz es una antorcha en la pared, sería mejor establecer Horneado a Hornear y dejar a Unity producir los mapas de luz.

Recuerda que depende del desarollador administrar la calidad y desempeño del juego. Así pues, ten en mente que tienes que ser cuidadoso en mantener el balance, especialmente si estás desarrollando para dispositivos móviles.

Luz Concentrada

Las luces concentradas emiten luz desde una fuente de luz apuntando a una región específica. Estas iluminan solo objetos dentro de una región específica, una región delimitada por un cono 3D. Básicamente, trabajan como los faros de un coche. Como puedes imaginar, son perfectas para linternas, faros de coche o postes de luz. También son el tipo de luz más costosa para el procesador de gráficos.

Cambiemos ahora la Luz de punto a una luz concentrada. Selecciona la Luz de punto que creaste anteriormente y cambia su Tipo a Concentrada. Después, Rota la luz de manera que pueda iluminar el suelo de la Caja. Renómbrala a Luz concentrada.

Spot light configuration

Como puedes haber notado, dentro del Inspector, los parámetros de Luz concentrada son similares a los de Punto. Sin embargo, tienes uno nuevo llamado Ángulo de Concentración.

Spot light Inspector properties

El Ángulo de Concentración determina el ángulo del cono de luz en grados.

En relación a iluminación directa e indirecta, las luces concentradas trabajan exactamente igual a las luces de punto. Tienes las mismas limitaciones y ventajas. Así pues, tienes que ser cuidadoso cuando configures el balance de las luces en tu juego.

Nota que siempre puedes jugar con las sombras y el horneado para balancear apariencias y desempeño.

Luz de Área

Una luz de area es emitida en todas direcciones sobre un lado de un área rectangular de un plano. Este rectángulo es definido tanto en propiedades de Ancho y Alto. Las luces de área solo están disponibles durante el horneado de mapa de luz, lo que significa que no tienen efecto sobre los objetos en tiempo de ejecución.

Selecciona la Luz Concentrada y cambia su Tipo a Área y su nombre a Luz de Área. Después, posiciona la luz dentro de tu caja, y en el Inspector, cambia el Ancho y la Altura, para cubrir el área completa dentro de la Caja.

Area light positioning

Viendo los parámetros de Luz de Área, notarás que la mayoría de los parámetros son similares a los anteriores, por ejemplo, Tipo, Dibujar Aureola, Bengala, Modo de Generación y Máscara de Sacrificio.

Los nuevos parámetros reales son Ancho y Alto. Ambos son usados para establecer el tamaño de un área rectangular.

Area light Inspector properties

Si presionas Play, verás que la luz de área está proyectando su luz en todos los objetos dentro de su rango. El tamaño del rectángulo es determinado por las propiedades Ancho y Altura. El lado sobre el cuál se está proyectando la luz es la normal del plano, que es el mismo que la dirección Z positiva de la luz. La luz es emitida desde toda la superficie del rectángulo. Debido a esto, el sombreado y las sombras del objeto afectado tienden a ser mucho más suaves que con fuentes de luz de punto o direccionales.

Los cálculos de iluminación para una luz de área son bastante intensivas de procesador, así que no están disponibles en tiempo de ejecución y solo pueden ser Horneadas en mapas de luz.

Conclusiones

Esto concluye el tutorial sobre iluminación en Unity 5. Aprendiste varios efectos de iluminación y configuraciones. Con este conocimiento, ahora puedes aplicar varios efectos de iluminación a tu juego o aplicación.

Unity tiene una economía activa. Hay muchos otros productos que te pueden ayudar a construir tu proyecto. La naturaleza de la plataforma también la hace una gran opción de la cuál puedes mejorar tus habilidades. Cual sea el caso, puedes ver todo lo que tenemos disponible en Envato Marketplace.

Si tienes más preguntas o comentarios, como siempre, siéntete libre de dejar unas líneas en la sección de comentarios.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.