Animación 3D, Luces: Sombras [ Blogs experimentales ] [ Blender ]

Las luces y las sombras que producen sobre los objetos, son elementos fundamentales de una escena de animación. Su uso debe ajustarse con fineza ya que son fuente de un aumento importante en la complejidad del cálculo.

Algunos sistemas limitan el número de puntos de iluminación ya que pueden llegar a saturar la capacidad de proceso y memoria de los equipos que realizan el renderizado. Por cada nuevo punto de luz que se añade en una escena debemos calcular su influencia sobre cada uno de los objetos presentes, así como su proyección o sombra arrojada sobre los restantes.

Las sombras aportan una valiosa información a la escena, permiten matizar la forma de los volúmenes u objetos pero afectan además a otros aspectos perceptivos, la ordenación espacial y el tamaño aparente de los elementos. Todo esto incide en la sensación de realidad que nos transmiten.

Entre los aspectos destacados podemos citar:

  • Indican la posición de los puntos de iluminación respecto del objeto.
  • Dan sentido de la posición espacial del objeto en relación a otros objetos.
  • Aportan volumen a los objetos
  • Crean la atmósfera perceptiva de la escena

Un objeto sin sombra puede parecer que se encuentra flotando en el espacio.

La proyección de la sombra sobre el suelo nos permite intuir la distancia del objeto al mismo. Por ejemplo, una sombra unida a un objeto nos indica que se encuentra apoyado sobre el suelo; usamos por tanto la posición de la sombra respecto del objeto para calcular su proximidad al suelo, así como a otros elementos de la escena.

A veces objetos iguales con diferente tamaño pueden crear una falsa percepción de sus posiciones relativas, esto es, una ilusión óptica.

Un objeto que arroja su sombra por delante de la de otro elemento debe encontrarse más próximo a la fuente lumínica, aportando una importante referencia para determinar su tamaño y posición. Lógicamente debemos saber la dirección o posición de los elementos de iluminación, lo que no siempre es trivial sobre todo si existen múltiples puntos de iluminación.

En la figura que se acompaña como ejemplo, y que se ha renderizado sin calcular las sombras arrojadas, los objetos, al ser de la misma forma, los podemos suponer del mismo tamaño.

Las leyes de “Gestalt” nos inducen a presuponer tamaños y posiciones de los objetos, caracterizando los aspectos perceptivos de la visión humana y el correspondiente reconocimiento de formas.

No tenemos en esta simple escena otros elementos de juicio para discriminar mas allá en nuestro análisis basado en la forma, por lo que supondremos, apoyados en las leyes de la perspectiva, que los dos cubos son de igual forma y tamaño y por tanto el mas pequeño simplemente se encuentra más alejado que el más grande. Nada nos indica otra cosa, y este razonamiento lo aplicamos automáticamente en nuestro reconocimiento de imágenes


Al arrojar sombras sobre un tercer elemento, en este caso el suelo, disponemos de mayor información sobre los elementos de la escena.

Debemos diferenciar entre la sombra arrojada sobre el mismo objeto (sombras propias como la que produce un brazo sobre nuestro cuerpo, y las que se producen sobre otros objetos de la escena. El tratamiento informático para su cálculo es diferente, aunque por el momento eso se escapa de nuestro objetivo de análisis.

Si observamos por tanto que un objeto arroja su sombra sobre el otro, como en el caso de la figura en que el cubo pequeño se proyecta sobre el de mayor tamaño, empezaremos a ubicar correctamente tanto su posición como su tamaño. Esta nueva información añade criterios para determinar con una cierta precisión las posiciones relativas de los elementos aunque determinados “distractores” pueden llevarnos a engaño.

Por ejemplo, recortemos el plano del suelo hasta crear la sensación, debido a la perspectiva, que cada uno de los cubos se encuentra en un extremo del mismo.

De nuevo, basándonos en las leyes de la “Gestalt”, nos parecería de forma más acusada que es la posición alejada de uno de los objetos lo que nos hace verlo más pequeño. Nada nos indica que sus tamaños sean diferentes. Esto que puede parecer un juego intelectual con un volumen tan simple se ve reforzado con los objetos cotidianos.

Dos árboles deben tener alturas semejantes, lo mismo que dos personas. Una persona debe ser más baja que un árbol. Lo cotidiano nos dá unas reglas que inciden en la percepción y que no tienen por qué ser correctas en todos los casos.

Al incluir las sombras en la escena, ésta parece ordenarse y percibiremos , o lo que es lo mismo veremos, cómo el cubo pequeño “flota” por delante del más grande, ayudándonos a interpretar correctamente sus tamaños así como sus posiciones relativas.

Tenemos por tanto una clara justificación de la gran influencia del efecto de la iluminación en nuestro modelo cognitivo visual.

En Blender todos los objetos arrojan sombras, pero para poder visualizarlas en la escena se debe activar su cálculo. Para ello deberemos indicar que también “la reciben”, es decir, que los demás objetos la “proyectan” sobre su superfície.

Si no tenemos activada la recepción de sombras sobre un objeto, no se generaran, simplificando el proceso de cálculo.

La activación la podemos realizar en los menús de “Material” del objeto, en particular en la pestaña “Shaders” en la que se controlan los parámetros que afectan a los algoritmos de sombreado.

Vemos que se diferencia entre las sombras ordinarias y las que producen objetos semitransparentes. Estas últimas serán menos “duras”, creando un leve ensombrecimiento de las regiones a las que afectan.

Como ejemplo veamos la diferencia sobre un cubo al que se le ha aplicado una textura que afecta parcialmente a su opacidad, definiendo regiones totalmente transparentes en forma de bandas sobre su superficie.

Si sólo tenemos activada la opción “Shadown” la sombra se calcula suponiendo que las superfícies son totalmente opacas. Esto que puede parecer no tener sentido se muestra relevante a la hora de generar determinados efectos visuales.

Si activamos la opción de cálculo de sombras con superfícies transparentes “Tra Shado” veremos un efecto similar a las sombras que producen las celosias.

En el nuevo caso estudiado la transparencia en las zonas no opacas del objeto es total, caso diferente sería si fuera parcial ya que las sombras serian más suaves.

Para generar este efecto primero deberemos definir las propiedades del material del objeto. En este caso, como se ha comentado, se ha usado una textura para aportar transparencia al objeto. Deberemos modificar el valor del canal “alfa” de transparencia del mismo.

En el ejemplo se ha usado un valor nulo (cero) que indica que es totalmente transparente. Puede jugarse con este valor para observar su influencia sobre el objeto y la sombra que produce.

El lector puede experimentar también con el uso de diferentes texturas para completar el estudio.

En la pestaña “Map To” de “mapeado de las texturas” indicaremos que se usan tanto para el color del objeto (opción “Col”) como para su uso en la determinación de la opacidad (Opción “Alpha”)

El resultado aproximado lo podremos observar en tiempo real en la pestaña de previsualización, aunque el resultado final dependerá de la iluminación de la escena y de la influencia de los objetos circundantes.

El algoritmo de sombreado y cálculo de sombras puede basarse en dos técnicas completamente diferentes. Para modificar los nuevos parámetros deberemos activar la edición de materiales asociados a la iluminación.

De nuevo destacaremos que no es objeto del presente estudio el análisis de las técnicas de programación, aunque sí debe conocerse la posibilidad de elegir entre un cálculo “simple” basado en la proyección de la escena desde el punto de iluminación (shadow buffer) y un cálculo basado en el trazado de rayos o “raytracing” más complejo y de resultados más realistas.

En este último caso se pueden realizar diferentes grados de refinamiento de la sombra aumentando la complejidad del cálculo, que tienen como resultado el suavizado y difuminado de las mismas.

Para ello en la pestaña “Shadow and Spot” modificaremos en número de muestreos “samples”; mayor número aproximaran más fielmente el resultado aunque ralentizaran la obtención de las imágenes.

En esta misma ventana también podremos alterar determinados parámetros de la sombra, entre los que quiero destacar el color de la misma. Veanse unos ejemplos a continuación.

Por cierto, ¿Te has parado a pensar alguna vez de qué color es la sombra de un objeto? ¿Depende del color del objeto? ¿De la luz que lo ilumine? ¿De los objetos circundantes? ¿Del objeto sobre el que se proyecta?

Una pregunta interesante a analizar en otro momento.

Tutorial realizado para la versión 2.49b

Imagen de síntesis
Blender
Buffered Shadows (Manual Blender)

Tutorial Blender

Related Posts

Las faltas de ortografía...

Señora Android

Andy (Android) y su novia...

Dyna

Andy y Dyna en el quinto ...

Sistema de partículas

Simulación con sistemas ...

muneco_de_nieve_thumb

Muñeco de nieve. Gif ani...

tracking

Camera Tracking en Blende...

En Passant

En Passant : Un musical r...

Android_abstracto

Andy (Android) y su novia...

Animación 3D, interface ...

About joju

José Juan Aliaga Maraver
Profesor del Departamento de Vehículos Aeroespaciales (DVA) de la Universidad Politécnica de Madrid.
Ha sido Subdirector del Dpto. DVA durante 10 años(Director en funciones 9 meses)
Es Coordinador del grupo de innovación educativa Visual Graphics Group (VGG) desde su constitución.
Es coordinador de las pruebas de Dibujo Técnico de las PAUs (Selectividad) de Madrid.
Colaborador de la URJC y el centro de Biotecnología de la UPM
Coordinador de las asignaturas de Dibujo del Master de formación de profesorado de la UPM.