En esta sección estudiaremos los tipos de fuentes de luz disponibles en Blender y daremos algunos detalles sobre cómo utilizarlos adecuadamente en las escenas. Como vimos en la primera sesión del curso, las fuentes de luz se añaden desde el menú contextual accesible mediante Barra Espaciadora Add/ Lamp.


Blender define 5 tipos basicos de fuentes de luz, que comparten una serie de parametros comunes que estudiaremos a continuación. Ademas, cada tipo de fuente de luz tiene un comportamiento definidos y varios parametros propios. La representación final de la superficie vendra definida dependiendo del tipo de material y su comportamiento con la luz, por lo que los parametros del material deberan definirse conjuntamente con los de las fuentes de luz.
Parametros Generales

Los parametros de las fuentes de luz son accesibles desde el grupo de botónes de sombreado (Shading) , en los botónes de fuentes de luz . En la pestaña Preview (ver Figura 1) se muestra una apróximación al comportamiento de la fuente de luz y lo que es mas interesante, una columna de botónes Lamp ... Hemi que nos permite cambiar directamente el tipo de la fuente de luz. Esta funcionalidad de Blender es especialmente interesante para realizar pruebas con diferentes tipos de fuentes sin necesidad de añadir mas objetos en la escena.



Figura 01.
Opciones generales de las fuentes de luz.

A continuación, en la pestaña Lamp hay varios parametros que son generales a todas las fuentes de luz:

  • Dist: Este parametro define una distancia maxima (en unidades de Blender) a partir de la cual los objetos no reciben iluminación. Aunque esta visible, no tiene ningún significado si la fuente de luz es de tipo Sun o Hemi. Dependiendo del tipo de fuente de luz, Blender utiliza un indicador para indicar la distancia maxima de alcance de la fuente de luz (normalmente una línea punteada), excepto en la de tipo Lamp que no muestra nada.
  • Energy: Controla la intensidad de la fuente de luz.
  • RGB: Define el color de la fuente de luz. Es posible establecer el color pinchando con sobre el cuadrado situado debajo de estos tres selectores.

El siguiente grupo de botónes de la misma pestaña (Lamp) permiten realizar ajustes sobre las fuentes de luz que no son posibles en el mundo real pero sí en graficos por computador. Estas funciones ademas permiten ajustar los valores de iluminación de la escena que, de otra forma, serían muy difíciles de conseguir.

  • Layer: Si esta activo este botón hace que la fuente de luz sólo ilumine a los objetos que estan en la misma capa. Esta funcionalidad es muy útil si algunos objetos requieren iluminación extra (debido al tipo de material que tienen o su posición) y no queremos que esta iluminación afecte a otros objetos.
  • Negative: Si esta activo, la fuente se comporta como ¡una fuente de sombras!. Esta idea, imposible en el mundo real, permite oscurecer partes de una escena que reciban mucha iluminación de otras fuentes.
  • No Diffuse: Si esta activo, la fuente no arroja iluminación a la componente difusa de los materiales (ver sección 3.4 del curso). Esto es interesante si por ejemplo tenemos un buen nivel de iluminación pero queremos remarcar los brillos especulares de algunos objetos de la escena.
  • No Specular: Similar al anterior pero no arroja iluminación especular, sólo difusa. Veremos que esta propiedad es interesante cuando tratemos de configurar la iluminación de una escena con tres puntos en la siguiente sección.


En la pestaña de Shadow and Spot estan los controles relacionados con el tamaño de la fuente de luz y las opciones de calculo de sombras. Todos los tipos de fuentes (excepto la fuente de tipo Hemi) tienen la opción de arrojar sombras mediante Trazado de Rayos RayTracing, activando el botón RayShadow.

RayShadow: Para utilizar RayShadow es necesario que esté activo el botón Ray del grupo de botónes de render de las propiedades de la escena. De otra forma los objetos no arrojaran sombra.

Las sombras calculadas mediante RayTracing son típicamente de mayor calidad, con un consumo de memoria mínimo, pero hacen que aumente mucho el tiempo de cómputo. Si se activa este botón, aparecen nuevos controles en la pestaña (ver Figura 2):


Figura 02. Opciones RayShadow.


  • Adaptative / Constant QMC: Método de calculo de muestras basado en técnicas de Quasi-MonteCarlo (QMC). El método adaptativo proporciona resultados mas rapidos. Veremos en detalle en qué consiste este método de muestreo en la sesión 5 del curso, pero básicamente consiste en guiar la dispersión de las muestras aleatorias hacia las fuentes de luz de forma que las partes mas difíciles de calcular en la sombra tenga mas muestras.
  • Soft Size: Define la zona de penumbra de la sombra. Es necesario que la fuente de luz tenga mas de una muestra (Sample mayor que uno) para que se perciba el suavizado de la sombra.
  • Samples: Indica el número de muestras que se calcularan para la fuente de luz. Valores mayores generan sombras de mejor calidad a costa de tiempos de render mayores (ver Figura 3).
  • Threshold: Disponible si se elige Adaptative QMC como método de muestreo y define el valor mínimo para tener en cuenta una muestra de sombra. Valores mayores reduce el tiempo de render (y la calidad de las sombras).

Al igual que en la pestaña Lamp, hay un grupo de botónes en esta pestaña que permite realizar operaciones con las fuentes de luz que no son posibles con fuentes de luz del mundo real:
  • Only Shadow: Activando esta opción, la fuente únicamente arroja sombras sin añadir iluminación extra a la escena.
  • Layer: Igual que el botón Layer de la pestaña Lamp, pero relacionado con las sombras: únicamente arrojan sombra los objetos que estén situados en la misma capa que la fuente de luz.




Figura 03. Muestras de Sombra.


Tipos de Fuentes de Luz


Como veremos en la siguiente sección, los tipos de fuentes de luz suelen tener asociada una funcionalidad según diferentes clases de escenas, y suelen añadir cierta clase de contribución a la componente de iluminación de los objetos. Blender utiliza diferentes representaciónes (ver Figura 4) para que puedan distinguirse mientras se construye la escena. A continuación estudiaremos las características, parametros y principales usos de cada una de estas fuentes.


Figura 04.
Representación grafica de los diferentes tipos de luz soportados en Blender.



Lamp



El tipo Lamp es una fuente de luz onmidireccional, situada en un punto y arroja luz en todas las direcciones. Es el tipo de fuente que añade Blender por defecto cuando se crea una nueva escena. En la pestaña Lamp tiene un botón Sphere que hace que, cuando se supera la distancia indicada en el campo Dist, la iluminación de la fuente se establece a 0 en lugar de ir atenuandose progresivamente. En la Figura 6 se observa la sutil diferencia entre tener Sphere activo o no.
La descripción de la función de atenuación que indica cómo va perdiendo intensidad la fuente de luz (llamada Falloff) se ha mejorado mucho en las últimas versiones de Blender. La lista desplegable situada encima del botón Sphere permite elegir entre varios es quemas e incluso establecer una curva personalizada:



  • Lin/Quad: Si se elige este es quema, apareceran dos nuevos controles Linear y Quad que permiten esepecificar si la función tendera a ser mas lineal o cuadratica (ambos valores estan definidos en el intervalo 0,1, ver Figura 5). En general, la función cuadratica representa con mas exactitud el comportamiento físico de las fuentes de luz, pero puede ser interesante un comportamiento lineal para facilitar la iluminación de la escena.
  • Inverse Square: La luz se atenua según el cuadrado de la distancia (campo Dist de la misma pestaña). Es una función realista que da buenos resultados con flexos, farolas, etc.
  • Inverse Linear: Función físicamente incorrecta pero cómoda para iluminar.
  • Constant: Si se establece como constante, se comporta de forma similar a las fuentes de tipo Sun o Hemi, que no sufren atenuación con la distancia.
  • Custom: Cuando se selecciona este tipo de función de atenuación, aparece una nueva pestaña (ver Figura 7) que permite establecer una función propia de atenuación. En el eje de ordenadas se indica la intensidad de la fuente de luz, y en el eje de abcisas la distancia. El punto de arriba a la izquierda de la curva implica maxima intensidad con mínima distancia. Según avanzamos en horizontal modelamos el comportamiento de la luz cuando aumenta la distancia. En la Figura 7 se muestran algunos ejemplos de resultados obtenidos con diferentes curvas.



Figura 05. Lamp.



Figura 06. Sphere Lamp.



Figura 07. Función atenuación personalizada.




Sun

La luz de tipo "Sol" representa una fuente de intensidad constante que emite en una única dirección, por lo que la posición de esta fuente de luz no es relevante para el resultado, únicamente su dirección. Esta es la única fuente de luz que tiene influencia sobre el aspecto del cielo y el horizonte de la escena. Normalmente se utiliza como fuente de luz principal en escenas de exterior.



Figura 08. Opciones Sky Atmosphere de fuente tipo Sun.



En la versión 2.48 se incorporaron nuevos controles en la pestaña de Sky/Atmosphere (ver Figura que permiten lograr interesantes efectos. En este caso, el uso de la pestaña de previsualización Preview resulta de especial utilidad para tener una realimentación visual sobre el resultado que conseguiremos en en render. Algunos parametros interesantes de esta pestaña:

  • Blend Type: La primera lista desplegable controla cómo se combinara el color del cielo con las propiedades del mundo. Veremos en la sesión 5 cómo definir los parametros globales del mundo.
  • Color Space: La segunda lista desplegable permite elegir diferentes espacios de color (CIE 1931, creado por la Comisión Internacional en Iluminación, REC709 el espacio de color para HDTV, etc).
  • Hor. Bright: Brillo del horizonte.
  • Hor. Spread: Extensión del horizonte. Valores mayores implican que el horizonte se extiende (restandole espacio) sobre el cielo.
  • Sun Bright / Size: Brillo y tamaño del sol. Puede ser necesario rotar el sol (dirección a la que apunte) para que aparezca en la vista de la camara. Recuerda que no importa la posición "física" en la escena, únicamente su dirección.
  • Bak que Light: Controla la cantidad de luz representada alrededor del sol. Tiene influencia sobre su color.
  • Sun Intensity: Valores altos implican que objetos lejanos reciben mas intensidad debido a la luz del sol.


Figura 09. Parametros Spot.



Spot

Es uno de los tipos de fuentes de luz mas potentes en Blender, porque permite configurar multitud de parametros e incluso decidir sobre la técnica de calculo de sombras a utilizar: Trazado de Rayos o mediante Mapas de Sombras (Buffered Shadows). Independientemente de la técnica de calculo de sombras a utilizar, hay una serie de parametros variables en este tipo de fuentes:

  • Spot Si: Spot Size Tamaño de la fuente en grados; un tamaño de 180 implica una apertura total del foco. Valores de 60-90 suelen ser adecuados para la mayoría de las situaciones (ver Figura 9).
  • Sopt Bl: Spot Blur Desenfoque de los bordes del foco. Valores pequeños implican poco desenfoque en las aristas de la fuente de luz (poco difuso). Se representa con dos conos; el interior indica el punto donde empieza el desenfoque, y el exterior donde el valor del desenfoque es maximo (ver Figura 9).
  • HaloInt: Si el botón Halo (situado en la parte inferior izquierda de la pestaña) esta activo, controla la intensidad de la luz volumétrica (ver Figura 10). Es similar al efecto de la luz cuando pasa sobre aire con partículas de polvo o humo.
  • Square: Activando el botón Square (situado encima de Halo), la fuente de luz se define con forma cuadrada. Por defecto (desactivado) la fuente es circular.


Figura 10. Uso de Halo y HaloInt.



Al inicio de esta sección vimos que todos los tipos de fuentes de luz permiten el calculo de sombras mediante trazado de rayos RayShadow. Las fuentes de luz Spot permiten utilizar mapas de sombras que, por lo general, es una técnica mas rapida que el trazado de rayos y en muchas ocasiones puede generar resultados satisfactorios. La idea básica es calcular una imagen situando una camara virtual en la posición de cada fuente de luz que utilice esta técnica, donde se representen mediante píxeles los puntos que estan en sombra. Así, la "calidad" de las sombras representadas depende, entre otros factores, de la resolución de esta imagen (mapa de sombra, shadow map o buffer shadow en la terminología de Blender). Una vez activado el botón Buffer Shadow, Blender permite definir diversos parametros:

  • ShadowBufferSize: Resolución en píxeles de la imagen cuadrada usada para almacenar los puntos que estan en sombra. A menor tamaño, menor tiempo de cómputo pero sombras de peor calidad (aliasing). Esta directamente relacionado con el tamaño de la fuente SpotSi; si el area del foco es muy grande, tendra que repartir cada píxel del buffer en mas espacio siendo el efecto del aliasing mas notable (ver Figura 11).



Figura 11. Relación entre ShadowBufferSize y SpotSi.


  • Box / Tend / Gauss: Indica el método de Antialiasing que se emplea con el mapa de sombra. Box y Tend se emplean con sombras que tengan bordes afilados y Gauss ofrece los mejores resultados con sombras que tengan una zona ancha de penumbra.
  • Samples: Controla el número de muestras por píxel que se emplean al calcular el mapa de sombras (valor entre 1 y 16). A mayor valor, mejor calidad del mapa pero mayor cantidad de memoria y tiempo de cómputo (ver Figura 12).


Figura 12. Calidad de la sombra y tiempo de render según el número de muestras.


  • Halo Step: Este parametro únicamente tiene sentido si se activó el botón Halo. El parametro de intensidad del halo Halo Int fue explicado anteriormente. Por su parte, Halo Step mide la intensidad de la sombra volumétrica. Si vale 0 no se calcula la sombra volumétrica (ver Figura 13), si vale 1 calcula la sombra con la mayor calidad (pero empleando mayor tiempo de cómputo). El maximo valor 12, calcula la sombra volumétrica mas rapido pero con menor calidad.
  • Bias: Este parametro es importante si detectamos algún error de precisión en la sombra calculada. Si el valor de este parametro es menor, la distancia entre el objeto y la sombra sera menor. Establecer valores muy pequeños también puede dar lugar a errores. En la figura 14 se muestran diferentes resultados variando el valor de Bias; con valor 5 la sombra se distancia del objeto, ofreciendo resultados claramente incorrectos. Con valor 2.5, es casi correcta salvo por el "hueco" que deja en el centro (el objeto es totalmente sólido), un posible valor correcto para esta escena es 0.5. Si disminuimos demasiado el valor de Bias, el objeto se hace sombra a sí mismo (valor 0.05).
  • Soft: Suavizado de la sombra. Valores mayores hacen que la zona de penumbra se suavice. Para que funcione correctamente hay que incrementar el valor de las muestras Samples.


Figura 13. Comportamiento de HaloStep.


Figura 14. Bias.


Figura 15. ClipSta y ClipEnd.


  • ClipSta y ClipEnd: Definen el area en la que se calcularan las sombras. Cuando estamos trabajando con mapas de sombras, aparece una línea en el dibujo del foco foco, correspondiente a estos límites (ver figura 15). Hay que ajustar estos valores para que sean lo mas próximos posibles y obtener así sombras de buena calidad. Blender puede calcular automaticamente un valor valido para esos límites si pulsamos el icono del coche situado a la izquierda de cada valor (ver Figura 9 o Figura 10).
  • SampleBuffer: Se añadió recientemente para mejorar la calidad del render de Pelo o mallas con detalles muy finos. Salvo que tengas esos requisitos es mejor dejar este valor en 1 (debido a que aumenta proporcionalmente el uso de memoria).


Hemi

Este tipo de luz se emplea en iluminación de exteriores. No arrojan sombra y, al igual que las de tipo Sun, no importa su localización, únicamente su dirección. Definen una semiesfera que engloba a la escena, añadiendo una componente de luz global. En la Figura 16 se muestra la configuración de una escena sencilla empleando esta fuente de luz y el resultado del render a la derecha. La dirección del brillo en el material del mono es debido a la orientación de la fuente Hemi.



Figura 16. Uso de fuente Hemi.



Area

Las luces de area son, en cierto modo, parecidas a los Spot pero sólo pueden generar sombras mediante RayTracing. En realidad son mas correctas físicamente (en el mundo real, las fuentes de luz no son puntuales, sino que tienen cierto area). Internamente una luz de area se maneja como una matriz de fuentes de luz.



Como era de esperar, la mayor calidad en las sombras de las fuentes de luz de area viene acompañado de un mayor tiempo de render, por lo que habra que tenerlo en cuenta. El parametro de distancia es especialmente sensible en este tipo de fuentes de luz y si lo establecemos a un valor muy grande la imagen resultado saldra quemada. Es buena practica establecer el valor de forma que la línea de distancia llegue apróximadamente hasta el objeto a iluminar (ver Figura 17). Como se comentó anteriormente, a mayor número de muestras Samples, mayor calidad en la sombra y mayor tiempo de generación.



Figura 17. Diferentes resultados y tiempos de render obtenidos con fuentes de luz de Area.

Las luces de area permiten definir un parametro de tamaño Size en la pestaña de Lamp, y elegir entre fuentes de luz cuadradas o rectangulares. Definir fuentes rectangulares puede ser conveniente, por ejemplo si queremos colocar una fuente de este tipo ajustandose al modelo de una ventana en una escena de interior. Veremos ejemplos de iluminación en la practica de esta sesión.