Taller 3d iluminación hdri y gi en YafRay
HDRI y GI en Yafray.
por zsolt stephan.
Introducción hay muchas maneras de iluminar una escena, desde un par de simples spotlight, pasando por complejas e irreales light rigs hasta diferentes formas de iluminación global (GI). Aquí, discutiremos sobre dichas opciones después, mediante el uso de Yafray como render interno en Blender. Primero, quisiera aclarar un error de concepto, como la creencia de que GI es una especie de botón mágico que crea renders realistas. Y es simplemente un tipo de iluminación especial, más avanzada que las siempre fieles spot lamps y físicamente más preciso. Ésta, por sí sola, no hará una buena imagen por ti, simplemente te dará un impulso, al ser una sustitución para una técnica más compleja de iluminación que requeriría una docena de lámparas ubicadas a mano. Además, ahorra mucho tiempo (y tiempo=dinero). Básicamente, te da una base iluminada, con una buena distribución lumínica y de aspecto natural. Ésta puede (y debería) ser complementada con luces tradicionales.
Además, de la iluminación, el algoritmo GI es también responsable del sangrado de colores entre los objetos (efecto difícil de lograr sin GI), y de los caústicos (casi imposibles de lograr). Sin embargo, GI es más lento que el Raytracing y mucho más lento aún que el render Scanline, y por lo tanto, su uso es sólo para renders estáticos finales. Realmente no puede usarse para animación (aún), no sólo por el tiempo que toma, sino porque los spots luz/oscuridad (light/Dark spots) son renderizados aleatoriamente (sampled) y pueden variar de un frame a otro.
Primero veremos la configuración GI para Yafray, y después describiré unos ajustes de iluminación típicos que uso para visualización de productos.
La iluminación global es diferente del Raytracing. En el último un rayo es dirigido desde la cámara a un objeto, puede ser reflejado/refractado, y dirigido a todas las luces que son visibles. Esto os da reflexión, refracción y sombras (duras). Gi, por otro lado, marca el camino de los propios fotones desde las lámparas a los objetos, rebotando entre objetos en la escena. Esto os da reflexión, refracción y sangrado de color, sombras suaves, caústicos (imposible con Raytracing) y generalmente un mejor aspecto. El origen de la luz en GI puede ser una lámpara, o cualquier objeto. Para escenas en el exterior, todo el ambiente (mundo) puede emitir luz. Puesto que Blender no soporta GI aún, uso Yafray.
Los paneles extendido de Yafray en las opciones de renderizado [f1 de Blender.

Preferencias GI.
Primero, asegúrate de tener Yafray instalado, y su ubicación agregada a tus variables de entorno (ver el readme de Yafray). En Blender, ve a los botones render, y en el menú desplegable bajo la opción render, selecciona Yafray. Esto debería abrir dos paneles más, Yafray y Yafray GI. En el panel Yafray, el botón xml debería estar deshabilitado, lo que te permite ver el progreso del render.
Los dos botones de abajo permiten especificar el nivel antialiasing. Los otros botones de más abajo no son importantes ahora, no necesitan ser cambiados. El otro panel, Yafray GI es más importante. El menú desplegable method permite escoger los métodos none sin GI, skydome para conseguir algo similar al Ambient Occlusion de Blender y full para el renderizado de iluminación global propia. Al seleccionar full se habilitaran nuevos botones abajo.
Las preferencias de calidad determinaran (adivina qué.) la calidad, así como la velocidad del render, un valor medium/high (medio/alto), debería ser suficiente para la mayoría de los casos. Si hay caras pequeñas, modelos detallados o si hay superficies muy cercanas entre sí, tal vez debas poner la calidad mayor para evitar artefactos de renderizado.
Una solución GI completa puede ser insoportablemente lenta al renderizar (horas), de modo que algunos trucos pueden usarse para acelerarla. Activa los botones caché y Photons en el panel Yafray GI. El Photon caché acelerara el render en unas diez veces. Sin embargo, tendremos algunos spots brillantes/oscuros (bright/Dark spots) en el render final. Aumenta la calidad para evitar eso o cambia el valor de ref. Si pones referencia (Refinement/refinamiento) a cualquier valor que no sea 1 (yo uso 0.1), calculara el mapa de fotones 2 veces antes del render final. El segundo paso hace más cálculos en las partes de la imagen que tienen más detalle, y el resultado final será mejor.
Otras preferencias también importantes son: emitpwr y GI pwr. El emitpower determina cuan brillantes son los objetos emisores, las luces de área y el fondo. Gi power determina cuanta energía (luz) irradiaran estos emisores. Suele ser suficiente cambiar el GI power para hacer tu escena más oscura o brillante.
Emitters (emisores).
Para usar GI, necesitas tener algunos emisores de luz en tu escena. Los emisores luminosos en Blender/Yafray pueden ser los siguientes: arealights, objetos con un valor emit del material superior a 0, y el fondo (background). Lo más simple a hacer es asignar al fondo cualquier color que no sea negro. El fondo será emisor en todas las direcciones de manera uniforme, similar a un día nublado. Puedes también cargar una HDR light probé como prueba, que determinara que luces coloreadas vienen de que dirección.
Ahora, hagamos unas pruebas de iluminación. Usaré una escena que creé no hace mucho, es un diseño para una despensa de vinos. Puedes ver la imagen final aquí, es para la visualización del producto. La parte más importante de la imagen es el producto mismo, y nada más debería estar presente que pueda distraer la atención de los observadores, ni siquiera una escena de fondo.
Visualización del producto I - White space (espacio blanco)

ésta es una de mis configuraciones favoritas, para darle un mejor nombre, la llamo white space, el producto está en una superficie completamente blanca, con un fondo blanco, aún sin flotar en el espacio, tiene sombras. Luce bien impresa en un papel, al igual que en cualquier documento u otro fondo blanco (una página web, por ejemplo), dando la impresión de que el objeto mismo esta sentado en el papel.
Si miras más cerca, puedes ver que hay dos tipos de sombra, la sombra dura (hard shadow) viene de una Sun light, pero puedes usar cualquier otro tipo de luz que produzcan sombras. Nota: excepto arealights. Las arealights actúan como emisores de fotones, y no como luces normales cuando GI se renderiza en Yafray. Las sombras suaves son el resultado de GI.
La escena

La escena, además del producto, es simplemente un plano blanco, y una lámpara Sun, nada más, muy simple.
La superficie

El plano blanco no se extiende demasiado lejos, tan sólo suficiente como para captar todas las sombras de los objetos. Es completamente blanco, y la reflectivity es 1.0. Notar que la opción only shadow no funciona con Yafray. Esto significa que los bordes del plano serán visibles en el render final, lo que no está bien. Esto se puede arreglar en las preferencias de render, ver más abajo.
La luz.

Hay sólo una luz en la escena, una lámpara Sun con la opción Raytraced shadows (ray shadow) activada. Se le asignó color ligeramente amarillento, con una intensidad de 0.6.
El mundo

Otra vez muy simple, el mundo tiene un sólo color, un muy ligeramente toque blanco azulado.
Preferencias de render

Importante.
Es muy poco apropiado, y lo he visto muchas veces, cuando un producto es puesto en un plano gris, flotando en el espacio, o al menos, en una especie de fondo. Este plano gris arruina nuestra CGI. Es importante que tú no puedas ver este plano base, debería mezclarse con el fondo. En este ejemplo usé un plano blanco, pero incluso éste, a veces, es renderizado con un gris en sus bordes. El fondo mismo es ligeramente azul y no blanco. De modo que el truco para obtener este efecto de espacio blanco consiste en poner el emitpwr, en panel Yafray GI, a un valor superior a 1.
Es necesario experimentar un poco para lograr tener una configuración adecuada, así no puedes ver los bordes del plano base, pero no brillara de una forma no natural. Un valor de 1.20 parece funcionar bien. Gi power está en 0.80. Si aumentas el brillo de la Sun Lamp, entonces disminuye estos valores, y si la oscureces entonces auméntalos.
Realiza algunos render de pruebas a baja resolución. Haz clic en botón izquierdo del ratón sobre el render y mantenlo presionado, esto te mostrara el color de un píxel dado en la esquina inferior izquierda. Con el botón presionado, arrastra el ratón, y asegúrate que ambos, el fondo y el plano base están en r:255, g:255, b:255. Luego estarás listo para ¡un render final de alta resolución. Pon la calidad entre medio o alta (medium/high), el valor referencia a un número distinto de 1, y activa el antialiasing, en este ejemplo usé 2 passes con 4 samples cada una, estos son los valores que uso frecuentemente, es una buena relación entre calidad/velocidad. Notar cuanta calidad hemos logrado, con una configuración tan simple.
Visualización del producto I - Iluminación HDR en lugar de tener un world de color blanquecino, podrías hacer una prueba de iluminación high dynamic range para el fondo. Esto cambiara la intensidad y el color de la luz a través del cielo virtual, haciendo que tenga una aspecto más suavizado y natural. Para mayor comprensión, HDR significa alto rango dinámico, donde en lugar de valores RGB de 0 a 255, son usados números de punto flotante con una mayor precisión, y un mayor rango dinámico, para almacenar la luminosidad (emisión de luz) de cada píxel. Light probé, significa que la imagen es una panorámica del entorno en 360°. El proceso para la creación de light probes HDR no está en los objetivos de este tutorial, pero puedes descargar algunas de las probes HDR disponibles en la red (ver http://www.Debevec.org para algunos novatos), o haz una propia. Asegúrate de que esté en formato light probé (aka, angular map), al igual que los opuestos a: vertical cross, Latitude/longitude, o algún otro formato panorámico.

El próximo paso lo puedes saltar, pero es altamente recomendable. El problema de la iluminación GI con Yafray es que cuando se hacen renders rápidos, éste usa algunas muestras aleatorias del entorno. Una buena y clara imagen HDR puede diferir en valores de luz en un intervalo corto, por ejemplo: demasiado contraste.
Con unas pocas muestras, algunas de éstas pueden tener píxeles con mucho brillo, y otras con píxeles oscurecidos, y como resultado tendremos un render manchado. He resuelto este problema haciendo blurring del mapa HDR original. En el sitio http://www.hdrshop.org puedes descargar la versión 1 de HDRShop gratuitamente. Abre tu Light Probe, y en el menú de filtros, selecciona Gaussian Blur, y haz blur a la imagen, usando valores de 4-5 para mapas pequeños: 512*512, a 12-15 para resoluciones altas, como 1512*1512. Vuelve a guardarlo con un nombre diferente.
Cargando la HDR probé
Ve a los botones de textura, y selecciona el botón verde world. Pon el tipo de textura a imagen (image), y carga el archivo *, HDR como cualquier otra imagen. Ve al botón world, y en el panel map to, pon el mapeo en angular map, y en output todo a hori, zenup y zendown. Yafray automáticamente vera que tienes una textura HDR world, y cuando la opción GI esta habilitada, ésta automáticamente usa la imagen para iluminar.

Configuración de la escena
Similar al ejemplo anterior. El plano base no es suficiente, ya que veras sus bordes en el render. Para arreglar eso, toma el borde más alejado del plano y cúrvalo hacía arriba, lo suficiente como para bloquear el campo de visión de la cámara. Asegúrate que la curva empiece mucho más, allá de la sombra del objeto, de otro modo, verás cómo la sombra también se curva hacia arriba de un modo anormal en el aire. Ver imagen de arriba.
Luces
El método white space descrito antes tenía una luz blanca uniforme, lo qué significa que la Sun Lamp usada para la sombra dura adicional, puede ser ubicada en cualquier lugar. Sin embargo, la mayoría de las HDR probes tienen una, o más fuentes de luz concentradas. Primero haz un render, tan sólo con la iluminación GI y sin lámparas. Ve en que modo las sombras suaves son proyectadas, y luego posiciona la Sun Lamp de acuerdo al resultado. Quizás necesites hacer varias pruebas de render para tener sombras duras apuntando hacia el lado correcto. Frecuentemente uso luz o luces sutilmente débiles con mapas HDR, la energía debería ser de unos 0.2 - 0.4, no más.

Preferencias de render
Deberían ser similares a las del primer método, exceptuando la configuración GI power. Esto puede variar mucho con el mapa HDR dado que estés usando, de cuan brillante sea. Haz algunos renders rápidos de baja resolución para encontrar el brillo adecuando. Algunos mapas oscuros necesitan valores de 1 - 1.5 como mucho, mientras los más brillantes deberían sólo necesitar un GI power de 0.2. Y luego viene el render final. He aquí mi prueba de escena con un Sunset HDR probé hecho en Terragen. Esta misma calidad sin GI necesitaría unas pocas docenas de lámparas, ajustadas apropiadamente, de modo que claramente vemos las ventajas.
Los mapas HDR no sólo prueben la base para la iluminación de una escena, además nos ofrecen un entorno realista que los objetos pueden reflejar. También pueden servir de fondo, sin embargo, la mayoría de las HDR probes son de una resolución demasiado baja como para darnos una buena imagen de fondo. En lugar de eso, es mejor usar una fotografía del lugar original como fondo. Esta imagen de prueba muestra una de mis probes en acción, junto con una fotografía tomada en el mismo lugar puesta como fondo. Notar que en vez del plano gris, el cual arruina nuestra CGI, usé un pedestal de piedra, haciendo que se mezcle mejor con el entorno.

Esto fúe tan sólo una porción de lo que puedes hacer con la iluminación global, también puedes usarla para iluminación de interiores. Trata de poner algunos planos emisores o área lamps en tu escena. Para hacer cáusticas, agrega unas Photon lamps, que están disponibles en el panel Lamp buttons de Blender.
Experimenta y diviértete.

Vivo en Hungría, y estudio ingeniería de diseño industrial en la universidad de budapest de tecnología y economía. Algunos de mis hobbies son: los gráficos 3d por supuesto, el concepto del diseño/diseño de productos, además del buen cine, salir con amigos, merodear en elysiun y otros foros, y el dibujo. http://Yafray.org
Última edición por 3dpoder; 05-05-2009 a las 23:47
|Agradecer cuando alguien te ayuda es de ser agradecido|