Doc:ES/Manual/Lighting/Lamps/Spot/Buffered Shadows

From BlenderWiki

Jump to: navigation, search

[edit] Sombras con el buffer

Los esquemas de iluminación analizados hasta ahora producen en los objetos solo áreas que son más o menos luminosas, pero no proyectan sombras, y una escena sin las sombras apropiadas pierde profundidad y realismo. Por otro lado, un cálculo apropiado de sombras requiere un trazado de rayos completo (y lento). En un renderizador por lineas como Blender, las sombras son calculadas usando el shadow buffer en el caso de sombras producidas por las luces. Esto implica que una 'imagen', es vista desde la misma la luz Spot y renderizada y se almacena la distancia de cada punto al foco. Cualquier punto de la imagen renderizada que este mas lejos que cualquiera de estos puntos es entonces considerado como sombra. El shadow buffer almacena estos datos. Para mantener el algoritmo compacto, eficiente y rápido el shadow buffer tiene un tamaño que es fijado desde el comienzo y que en en Blender puede ser desde 512x512 hasta 5120x5120. El valor mayor es el mas preciso. El usuario puede controlar el algoritmo a traves de los botones inferiores en el panel Spot (Botones de sombra de la luz Spot.).

Botones de sombra de la luz Spot.

ShadowBuffSize - Botones Numericos, desde 512 hasta 5120, definen el tamaño del buffer de sombras. ClipSta, ClipEnd - Para aumentar la eficiencia del cómputo de sombras, las mismas funcionan en realidad solo en un rango predefinido de distancias desde la posicion del foco. Este rango va desde ClipSta, cercano a la luz Spot, hasta ClipEnd, mas lejos (BSG.LIG.F.S68.112). Los objetos mas cercanos al ClipSta desde la luz Spot nunca son considerados para las sombras, y estan siempre iluminados. Los objetos mas lejanos al ClipEnd nunca son considerados para iluminarlos y estan siempre en la sombra. Para conseguir una sombra realista ClipSta debe estar mas cerca que la menor distancia entre cualquier objeto relevante de la escena y el foco, y ClipEnd mas grande que la mayor distancia. Para el mejor uso de la memoria asignada y una mejor calidad de sombras, ClipSta debe ser lo mas grande posible y ClipEnd lo menor posible. Esto minimiza el volumen donde las sombras deben ser calculadas. Samples - Para obtener sombras suaves el shadow buffer, una ves calculado, es renderizado por medio de su propio algoritmo de anti-aliasing que trabaja por promedio de valores de sombra sobre un cuadrado de un lado de un numero dado de pixeles. Samples es el numero de pixeles. Este es 3 por defecto, o sea un cuadrado de 3X3. Valores mayores dan un mejor anti-aliasing y un mayor tiempo de calculo. Bias - El bias es usado en el cálculo de las sombras, de nuevo mientras mayor es, mejor el resultado, y más lento. Soft - Controla la suavidad del limite de la sombra. A mayor valor, más suave y extendida es el borde. Comunmente este debe tener asignado un valor en el rango entre el valor del botón numérico Sample y el doble de este valor. Halo step - Activa el paso del muestreo de halo para sombras volumetricas. Esto será explicado en lighting_volumetric_light.

Ejemplos de luz Spot con sombra.
Note
Para que las sombras sean renderizadas, deben ser

habilitadas a nivel global . Esto significa que el boton Shadow en el Panel Render en el Contexto de botones de escena debe activarse.


[edit] Luz Volumétrica

La luz volumétrica es el efecto que se puede ver en el aire brumoso, cuando los rayos de luz se hacen visibles debido a la dispersión que ocurre debido a niebla, bruma, partículas de polvo etc. Si se usa cuidadosamente puede añadir mucho realismo a una escena... o echarla a perder. En Blender la luz volumétrica sólo puede ser generada para lámparas tipo Spot, una vez que el botón Halo en el panel Spot es presionado (Botón halo de la lámpara tipo Spot.).

Botón halo de la lámpara tipo Spot.

Si la escena de prueba mostrada en la Ajustes de la lámpara tipo Spot es creada y el botón halo presionado, la imagen renderizada será como la Renderizado con halo..

Ajustes de la lámpara tipo Spot
Renderizado con halo.

El efecto de luz volumétrica es más bien fuerte. La intensidad del Halo puede ser ajustada con el deslizador HaloInt (Deslizador de intensidad de halo.). Valores bajos producen halos débiles.

Deslizador de intensidad de halo.

El resultado es interesante. Se obtiene luz volumétrica, pero carecemos de sombra volumétrica! El halo pasa a través de la esfera y, sin embargo, se proyecta sombra. Esto se debe a que el halo tiene lugar en la totalidad del cono de la lámpara Spot a menos que se le indique a Blender que haga otra cosa. El cono debe ser muestreado para obtener sombra volumétrica, y el muestreo ocurre con una medida definida por el botón numérico HaloStep (Botón numérico Halo Step.). El valor por defecto de 0 significa que no se hará muestreo alguno, por lo cual no hay sombra volumétrica. Un valor de 1 da un muestreo más detallado y por tanto mejores resultados, con el costo de hacer más lento el renderizado (Halo con sombra volumétrica, Halo Step = 1), aunque un valor mayor da resultados pobres con un renderizado más rápido (Halo con sombra volumétrica, Halo Step = 12).

Botón numérico Halo Step.
Halo con sombra volumétrica, Halo Step = 1
Halo con sombra volumétrica, Halo Step = 12
Valores de HaloStep

Un valor de 8 corresponde, usualmente, a un buen balance entre rapidez y precisión.


[edit] Ajustando las sombras con buffer

Ok, ahora que conoces lo básico, realmente podemos hablar de iluminación. Trabajaremos con un solo ejemplo, más complejo que una simple configuración 'esfera sobre plano', para ver lo que podemos conseguir en iluminación realista con Blender. Recurriremos a la configuración en la Ajustando la iluminación de Cornelius.. El simio de la figura es Cornelius, el hermanito de Suzanne. Tiene un material ligeramente pulido de color marrón. (R=0.8, G=0.704 B=0.584, Ref=0.7, Spec=0.444, Hard=10 - Sí, no muy mono, pero estamos hablando de luces, no de materiales!) y se apoya sobre un plano azul (R=0.275, G=0.5, B=1.0, Ref=0.8, Spec=0.5, Hard=50). Por ahora están iluminados por un simple Spot (Energy=1.0, R=G=B=1.0, SpotSi=45.0, SpotBl=0.15, ClipSta=0.1, ClipEnd=100, Samples=3, Soft=3, Bias=1.0, BufSize=512).

Ajustando la iluminación de Cornelius.

Un render de Cornelius con esta configuración, con OSA=8 y sombras activadas, da el resultado en Configuración de un simple spot.. El resultado es malo. Obtienes una sombra muy negra y poco realista de Cornelius, y la sombra que crea Cornelius sobre si mismo es inaceptable.

Configuración de un simple spot.

El primer ajuste es sobre ClipSta y ClipEnd, Si se ajustan para abarcar la escena lo más justo posible (ClipSta=5, ClipEnd=21) el resultado mejora, al menos para la sombra proyectada. La sombra de Cornelius sigue demasiado obscura (Configuración de un simple Spot con truncamiento apropiado.).

Configuración de un simple Spot con truncamiento apropiado.

Para poner buenos valores de truncamiento (límites), este es un buen truco: Cualquier objeto en Blender puede actuar como una cámara en la vista 3D. Por lo tanto puedes seleccionar la luz Spot y cambiar a una vista desde ella pulsando CTRL-NUM0. Lo que deberías ver en modo sombreado se muestra en Ajustes de truncamiento de la luz Spot. Izquierda: ClipSta demasiado alto; Centro: Bien; Derecha: ClipEnd demasiado bajo.. Todo lo que haya más cerca de la Spot que ClipSta y mas lejos de la Spot que ClipEnd no es visible. Por lo tanto puedes ajustar estos valores con precisión verificando que todos los objetos que arrojan sombras sean visibles.

Ajustes de truncamiento de la luz Spot. Izquierda: ClipSta demasiado alto; Centro: Bien; Derecha: ClipEnd demasiado bajo.

De lo que todavía carece, es del fenomeno fisico de la difusión. Un cuerpo iluminado emite luz (reflejada), por lo tanto las sombras no son totalmente negras, porque algo de luz escapa de las zonas cercanas iluminadas. Esta difusión de la luz es tenida en cuenta correctamente por un trazador de rayos (Ray Tracer), y también por Blender, Atraves del motor de radiosidad. Pero hay configuraciones que pueden simular este fenomeno de forma aceptable. Los analizaremos desde el más simple, hasta el más complejo.


[edit] Iluminación de tres puntos

La configuración de iluminación de tres puntos es un clásico y un modo muy simple de obtener una escena con iluminación suave. Nuestra luz Spot es la principal, o luzClave, de la escena, la que arroja sombras. Añadiremos dos luces más para simular la difusión. La siguiente luz que necesitamos se llama Luz trasera.está colocada detrás de Cornelius (Configuración de luz trasera.). Esta ilumina el lado oculto de nuestro personaje, y nos permite separar el primer plano de nuestra imagen, de el fondo, añadiendo en general una sensación de profundidad. Normalmente la luz trasera es igual de fuerte que la luz Clave, si no lo es más. Aquí hemos usado una Lamp con energia 1 (Solo luz clave (Izquierda), Solo luz trasera (centro), y ambas (derecha).).

Configuración de luz trasera.
Solo luz clave (Izquierda), Solo luz trasera (centro), y ambas (derecha).

El resultado es yá mucho mejor. Finalmente, la tercera luz es la de Relleno. La finalidad de la luz de relleno es iluminar las sombras en frente de Cornelius. Colocaremos la luz de relleno exactamente donde está la cámara, con una energía más baja que la más baja de las otras dos luces. (Configuración de la luz de relleno.). Para este ejemplo se eligio Energy=0.75 (Solo luz Clave y Trasera (izquierda), Solo luz de Relleno (centro), y las tres (derecha).).

Configuración de la luz de relleno.
Solo luz Clave y Trasera (izquierda), Solo luz de Relleno (centro), y las tres (derecha).

La luz de Relleno hace visibles partes del modelo que estaban completamente en la oscuridad con la luz Clave y Trasera unicamente.

Rebote de color

La configuracion "Tres puntos de luz" puede ser mejorada aún más con la incorporación de una cuarta luz, especialmente cuando hay un suelo de color brillante, como en este caso. Si hay un suelo de color brillante, nuestros ojos esperan que este reparta algo de la luz al rededor, y algo de esa luz incida en el modelo. Para simular este efecto, colocaremos una Spot de forma exactamente especular con respecto al suelo. Esto significa que - Si el suelo está horizontal en z=0, como en nuestro ejemplo, y la luz Clave está en el punto (x=-5, y=-5, z=10), entonces la luz difusa del suelo debe colocarse en (x=-5,y=-5,z=-10), apuntando hacia arriba (Configuración de la luz difusa del suelo.).

Configuración de la luz difusa del suelo.

La energía de esta luz debe ser más baja que la de la luz Clave (Aqui es de 0.8) y su color debe igualar el color del suelo (aquí R=0.25, G=0.5, B=1.0). El resultado se muestra en Configuración de cuatro puntos de luz..

Configuración de cuatro puntos de luz.

Por favor date cuenta de que usamos una luz Spot y no una Lamp, así que sería completamente bloqueada por el suelo (a causa de la sombra) si no la hicieramos Shadeless (sin sombra) pulsando el botón apropiado. De hecho podriamos haber usado una Lamp, pero si el suelo es pulido la luz que sale es más reflejada que difusa. La luz reflejada es físicamente un cono empezando en la fuente especular. Puedes mejorar el efecto haciendo que el Spot arroje sombras y ajustando el valor de ClipStart suficientemente alto como para que el suelo no cree sombras, o haciendo que afecte solo a su Capa (Layer) y poniendo el suelo en otra Capa.


[edit] Iluminación de tres puntos - Exteriores

Al usar una luz Spot como luz Clave, el metodo anterior está tristemente relegado a escenas de interior o, como mucho, escenas exteriores nocturnas. Esto se debe a que la luz clave tiene una distancia finita, sus rayos se degradan y el suelo no es iluminado uniformemente. Si estuvieramos al aire libre en un día soleado y despejado, todo el suelo estaría uniformemente iluminado y los objetos arrojarían sombras. Para obtener una iluminación uniforme, sobre todo el suelo, una luz de tipo Sun es lo mejor. Y si añadimos una luz tipo Hemi para simular la luz que viene desde todo el cielo (como en BSG.LIG.F.S68.111) podemos obtener una bonita iluminación exterior... pero no tendremos sombras! La configuracion de la luz Clave (el sol, R=1.0, G=0.95, B=0.9, Energy=1.0) y las luces Relleno/Trasera (ambas representadas por la Hemi, R=0.8, G=0.9,B=1.0, Energy=0.4) se muestran en Configuración de luces Sun y Hemi para exteriores. y el correspondiente render en Render de luces Sun y Hemi para exteriores.

Configuración de luces Sun y Hemi para exteriores.
Render de luces Sun y Hemi para exteriores.

La falta de sombras hace que Cornelius parezca flotar en el espacio. Para obtener sombra, colocar una Spot en el mismo lugar que que el sol y con la misma orientación. Haciendo que el Spot sea de solo sombra (Shadow Only Spot) con el botón apropiado. Si la energía es disminuida a 0.9 y mantenemos el resto de parametros del anterior ejemplo (BufSize=512, Samples=3 Soft=3 Bias=1 ClipSta=5, ClipEnd=21) el resultado es el de Render de exteriores. (centro).

Render de exteriores.

La sombra es un poco cuadriculada porque Cornelius tiene muchos detalles finos el BufSize es demasiado pequeño, y el valor de Sample es demasiado bajo para tenerlo en cuenta correctamente. Si BufSize es elevado a 2560, Samples a 6 y Bias a 3.0 el resultado es Render de exteriores. (derecha). Mucho más liso.

[edit] Seudo Luz de Area

El concepto de luz proviniente de un punto es una aproximación. ninguna luz en el mundo real está carente de dimensión. Toda luz proviene de superficies, no de puntos. Esto posee un par de implicaciones interesantes, principalmente sobre las sombras: <itemizedlist mark='opencircle'>

  • Las sombras nítidas no existen: tienen

bordes borrosos.

  • lo difuminado del borde de la sombra depende de la posición

y tamaño relativo de la luz, del objeto que produce las sombras y del objeto que las recibe. La primera de estas situaciones es aproximada con el ajuste 'Soft' de la luz Spot, pero la segunda no. Para entender claramente este punto imagina un poste fino y alto en el centro de un plano llano iluminado por el sol. El sol no es un punto, tiene una dimensión y, para nosotros los terrestres, esta es medio grado de ancho. Si miras la sombra, te darás cuenta de que es muy nítida en la base del poste y se va haciendo más difusa conforme vas hacia la sombra de la punta. Si el poste es suficientemente alto y delgado, la sombra se desvanecerá. Para entender mejor este concepto, echale un ojo a La luz de Area y su sombra.. El sol emite luz, en el medio el objeto obstruye completamente los rayos del sol solo en la zona azul oscuro. para cada punto en la zona azul claro el sol es parcialmente visible, por lo tanto cada una de estas zonas es parcialmente iluminada.

La luz de Area y su sombra.

La zona azul claro es una zona parcialmente sombreada, donde la iluminación va desde luz total hasta sombra total. Es además evidente, en La luz de Area y su sombra. que esta zona de transición es más pequeña cerca del objeto que produce la sombra y se hace más grande conforme se aleja de este. Además, si el objeto que produce la sombra es más pequeño que el objeto que emite la luz (y si el objeto que emite la luz es el sol como es el caso) hay una distancia más allá de la cual solamente permanece la sombra parcial La luz de Area y su sombra 2.

La luz de Area y su sombra 2

En Blender, si colocamos un solo Spot a una distancia fija desde un primer plano, y miramos la sombra producida en un segundo plano, nos daremos cuenta de que la sombra se hace más grande conforme se aleja, pero no más difusa (La luz Spot y su sombra)

La luz Spot y su sombra

Para simular una luz de tipo area en Blender, podemos usar varios Spots, como si muestrearamos el area luminosa con un numero discreto de puntos de luz. Esto se puede conseguir colocando varios Spots a mano, o usando la función DupliVert de Blender (special_modelling_dupliverts), la cual es más eficiente. Añade una malla tipo rejilla (Grid) 4x4. donde está el Spot, asegurate de que las normales estén apuntando hacia abajo haciendo que Blender las muestre e invirtiéndolas (si fuese necesario), como se explica en mesh_modelling_editmode_basic (Configuracion de la rejilla). Emparenta el Spot a la rejilla, selecciona la rejilla y en el panel Anim Settings (F7) pulsa DupliVert y Rot. Rot no es estrictamente necesario pero te ayudará a colocar la luz de area más tarde. Tendrás un bloque de Spots como en Luces Spot y sus DupliVerts.

Configuracion de la rejilla
Luces Spot y sus DupliVerts

Entonces disminuye la energía del Spot. Si para un solo Spot usabas una cierta cantidad de energía, ahora debes dividir esa energía entre todos los duplicados. Aquí tenemos 16 Spots, así que a cada uno se le debe asignar 1/16 de esa energía (esto es Energy=0.0625). Los dos mismos renders de arriba, con esta nueva luz de area trucada dará este resultado Luz de Area trucada con multiples Spots.. El resultado está lejos de lo que se esperaba, porque el sampleo de las luces Spot para ese area es demasiado grueso. Por otro lado, un mejor sampleo implicaría un mayor número de Spots y por ello unos tiempos de render inaceptablemente altos.

Luz de Area trucada con multiples Spots.

Pueden obtenerse resultados mucho mejores, suavizando los Spots, con valores como estos SpotBl=0.45, Sample=12, Soft=24 y Bias=1.5 (Luz de Area trucada con multiples Spots suavizados.)

Luz de Area trucada con multiples Spots suavizados.

Finalmente, Cornelius bajo una luz de Area. muestra que ha pasado con Cornelius una vez la luz Clave ha sido sustituida con 65 Spots duplicados de Energía=0.0154 en un patrón circular. Fíjate como la sombra va suavemente desde nítida en el pie, hasta suave y difusa conforme se aleja de él. Este es el comportamiento físico correcto.

Cornelius bajo una luz de Area.

[edit] Seudo Iluminación Global

Las técnicas antedichas trabajan bien cuando hay una sola, o por lo menos un número finito de luces, arrojando sombras distintas. Las únicas excepciones son: la configuración para exteriores donde la luz Hemi simula la luz emitida por el cielo, y la luz de Area donde multiples Spots simulan una fuente de luz de dimensiones finitas. la primera de estas dos está muy cerca de una buena iluminacion exterior, excepto porque la luz Hemi no arroja sombras y por lo tanto no obtiene resultados realistas. Para obtener una configuración de exteriores realmente buena, especialmente para días nublados, necesitas que la luz provenga de todo el cielo y que cree sombras! Esto se puede obtener aplicando una técnica muy similar a la usada en la configuración de luz tipo Area, pero usando media esfera como malla padre. A esto se le llama normalmente "Iluminación Global". Puedes usar una UVsphere o una IcoSphere, la última tiene los vértices unifomemente distribuidos, mientras la primera tiene una gran concentración de vértices en los polos. Por lo tanto una IcoSphere consigue una iluminación más 'uniforme', todos los puntos del cielo irradian a la misma intensidad; en cambio, una UVsphere irradia mucha más luz desde su(s) polo(s). Personalmente recomiendo la IcoSphere. Preparemos una configuracion, compuesta de un plano y algunos solidos, como en Escena de Iluminación Global.. Usaremos figuras simples para apreciar mejor los resultados.

Escena de Iluminación Global.

Cambia a la vista superior y añade una IcoSphere, con un nivel 2 de subdivisión es suficiente normalmente, un nivel 3 consigue resultados aún más suaves. Escala la IcoSphere de modo que contenga la escena entera. Cambia a vista frontal y, en modo edición, borra la mitad inferior de la IcoSphere (Bóveda celeste.). Esta será nuestra "bóveda celeste" donde los spots serán emparentados y DupliVerteados.

Bóveda celeste.

De nuevo en la vista superior añade una luz Spot, emparentala a la media IcoSphere (CTRL-P) y pulsa los botones DupliVert y Rot exactamente como en el ejemplo anterior. El resultado, en la vista frontal, es el de Bóveda celeste con Spots duplicados..

Bóveda celeste con Spots duplicados.

Esto no es lo que queremos, ya que todos los Spots apuntan hacia afuera y la escena no es iluminada. Esto ocurre porque las normales de la IcoSphere apuntan hacia afuera. Es posible invertir la dirección seleccionando todos los vértices en modo edición y pulsando el botón Flip Normals en el panel Mesh Tools que esta en la ventana de edición (F9) (Invirtiendo las normales.).

Invirtiendo las normales.

Esto conduce a la nueva configuración en Bóveda celeste correcta y luces Spot DupliVerteadas..

Bóveda celeste correcta y luces Spot DupliVerteadas.

Para obtener buenos resultados selecciona la luz Spot original y cambia sus parametros a un ángulo ancho con contorno difuso (SpotSi=70.0; SpotBl=0.5); con los valores convenientes de ClipSta y ClipEnd

en este caso 5 y 30, respectivamente,

en cualquier caso usa los valores necesarios para envolver toda la escena; incrementa Samples a 6 y Softness a 12. Decrementa la energía a 0.1; recuerda que estás usando muchos spots, así que cada uno de ellos debe ser débil. (Configuración de luz Spot.).

Configuración de luz Spot.

Ahora puedes renderizar. Si se le dan algunos materiales y un entorno, el resultado debe ser algo como Configuración de luz Spot.. fijate en las sombras suaves y en la iluminación 'omnidireccional'. Todavía se pueden conseguir mejores resultados con una IcoSphere con nivel 3 de subdivisión.

Configuración de luz Spot.

Esta técnica de iluminación global sustituye efectivamente, a muy alto costo de computación, la Hemi de la anterior configuración para exteriores. Es posible añadir un componente de luz direccional simulando el sol mediante un solo Spot o una luz de Area. Una posible alternativa es hacer la IcoSphere menos uniforme subdividiendo una de sus caras un número de veces, como se aprecia en una de las caras posteriores en Haciendo más densos los Spots en un area.. Esto se hace seleccionando una cara y pulsando el botón Subdivide, de nuevo en el panel Mesh Tools de la ventana de Edición (F9). Entonces deseleccionamos todo re-seleccionamos únicamente la pequeña cara interior y subdividimos de nuevo, etc...

Haciendo más densos los Spots en un area.

El resultado es una luz direccional muy suave junto con una bóveda celeste de iluminación global o, más sencillo, una boveda celeste anisotrópica (Render de la bóveda celeste Anisotrópica.). Es muy bueno para condiciones nubladas, pero no tan bueno para días soleados y despejados. Para días realmente despejados, es mejor dejar la bóveda celeste separada de la luz del sol, permitiendonos usar diferentes colores para cada una.

Render de la bóveda celeste Anisotrópica.






Redirects to fix

  • Manual.es/PartV/Ray Shadows → Doc:ES/Manual/Lighting/Shadows/Raytraced Properties
  • Manual.es/PartVI → Doc:ES/Manual/World

Contents