Clarisse, layers y passes
Sigo con mis posts sobre Clarisse. En esta ocasión voy a hablar de layers y passes, un tópico común en cualquier software 3D, y que además en el caso de Clarisse, es especialmente importante.
Clarisse permite crear sistemas de layers y passes muy complejos, para organizar las escenas prácticamente de la forma que mejor nos convenga. Además, podemos componer todas las diferentes layers y passes dentro del propio Clarisse.
Mezclar los "context" con "layers" y "passes" hace de Clarisse una herramienta perfecta para organizar escenas.
- Para este tutorial, voy a utilizar esta simple escena. El proposito es separar cada uno de los elementos en "foreground" "midground" y "background". También crearemos un passe con las sombras de todos los elementos.
- Ahora mismo en esta image solo hay una 3DLayer con el contenido de toda la escena.
- He creado 3 context diferentes, uno para el foreground, otro para el midground y otro para el background.
- En cada context he puesto la geometría correspondiente (esfera, cubo y cilindro. El suelo de momento esta junto a la esfera.)
- En cada context tambien he creado una image.
- Dentro de cada image, he creado una 3DLayer.
- En cada 3DLayer hay que indicar que cámara y renderer utilizar.
- También hay que indicar en cada 3DLayer que luces queremos utilizar.
- En este punto seguramente ya te has dado cuenta del potencial de los layers de Clarisse. Podemos fácilmente renderizar cada layer con diferentes settings, cámaras, luces, renderes, etc.
- En el context background estoy renderizando la esfera y el suelo.
- En el context scene, he creado un nuevo image, que servirá como recipiente de los images creados anteriormente.
- Como layers en este image no voy a crear 3DLayers si no Image Layers.
- En las opciones selecciona cada una de las layers creados anteriormente, colocando el background abajo y subiendo hasta el foreground.
- Nos encontramos con el problema de que las sombras del cilindro y el cubo no están presentes en el suelo. Esto es debido a que el suelo solo está en el context de la esfera.
- Para solucionar esto he creado otro context llamado shadow_catcher y he movido el suelo a ese context.
- He creado una 3DLayer donde he seleccionado la cámara y el renderer a utilizar.
- He creado un grupo en este context con el cubo, la esfera y el cilindro.
- En las opciones de visibility de la 3DLayer he puesto el grupo en la opción shadows.
- En el image que me sirve de recipiente, he puesto el shadow catcher abajo del todo y ya está, las sombras ya funcionan.
- Aunque no tan rápido. Para ilustrar otro problema, he puesto a conciencia el cubo atravesando el suelo. Si miras la primera imagen del post lo verás. Pero en esta composición, no parece estar atravesándolo. Esto es debido a que el suelo debería actuar como matte cortando al cubo, pero no lo esta haciendo, ya que el suelo no esta en el context del cubo.
- Para solucionarlo, he creado una instancia del suelo y la he puesto en el context del cubo.
- En las opciones de shading del suelo he hecho la opción matte object y matte alpha locales (botón derecho en el parámetro -> localize).
- He activado la opción matte y puesto el alpha al 0%
- Ya está, ahora funciona a la perfección.
- En este momento tenemos las sombras junto al suelo. Si queremos, podemos también sacar las sombras por separado, para tener aún más control.
- Para ello, he creado otro context solo con el suelo.
- Después, en el context shadow_catcher, he creado un material "decal" y lo he asignado al suelo.
- En el material "decal" he activado la opción receive illumination.
- Finalmente he añadido la nueva capa en el recipiente image.
- Puedes descargar las escenas de ejemplo aquí.
Dramatic Lighting & Comedy Lighting
Dramatic Lighting
"Dramatic Lighting" podría ser definido como un exagerado estilo de iluminación donde todo el frame se trata de la misma forma, con la misma importancia. Beauty lighting y Character lighting se enfocaban más en el personaje o en un elemento concreto del frame, Dramatic Lighting trata a todo el frame por igual, hace que todo lo que se muestra tenga el mismo nivel de interés hacia el espectador.
En la pintura de Caravaggio "Flagellation of Christ" todos los personajes y la columna donde Cristo está atado, tienen el mismo esquema de iluminación horizontal. Esto afecta a la percepción externa del cuadro, aplanando la imagen y consiguiendo que el espectador no dirija la mirada hacia un punto en concreto. Hay una sensación global de conflicto a través de toda la imagen. Tras una primera explosión visual, el espectador pasa a analizar el cuadro, explorando las diferentes partes y elementos del mismo.
El torso de Cristo, sin embargo, ha sido pintado con una pintura con propiedades más reflectantes que el resto de elementos del cuadro, así pues, cuando le da la luz real del entorno donde está situado el cuadro, la figura de Cristo resalta sobre las demás. Este es solo un ejemplo de una técnica que parece crear un tipo de iluminación completamente uniforme, pero qué mediante sutiles artimañas consigue realzar elegantemente algunos elementos del frame.
The Flagellation of Christ by Caravaggio (circa. 1607).
En este frame de "Bridge of Frankestein" la iluminación ha sido diseñada para desorientar y asustar al espectador. Estamos acostumbrados a ver los rostros de los personajes iluminados desde arriba. En exteriores, el cielo suele ser la mayor fuente lumínica, y en interiores, las luces suelen estar colocadas en el techo. Esto hace que nuestra percepción del rostro humano esté muy encasillada y asimilada en unas formas geométricas causadas por las luces y sombras cenitales.
Iluminando a los sujetos humanos desde abajo, o desde los laterales, John J. Mescall rompe las expectaciones y nos muestra una imagen impactante, rompedora y poco convencional. Sin duda, dudosamente placentera para el ojo humano, poco acostumbrado a este efecto lumínico.
Dwight Frye in "The Bride of Frankenstein" by John J. Mescall (1935).
Este es otro ejemplo más sutil de la misma idea. Trevor Howard está iluminado fuertemente de forma lateral mientras que Alida Valli está iluminada por encima de su hombro derecho. Este tipo de iluminación crea una superposición de sombras que ayuda a romper la composición del plano. Si Beauty Lighting se centra en crear un degradado de iluminación suave, sin bordes duros, Dramatic Lighting es simplemente lo opuesto. La iluminación es probablemente más creíble, no tan artificial como en "Bride of Frankestein" pero todavía hay una sensación de incomodidad palpable en la escena.
Trevor Howard and Alida Valli in "The Third Man" by Robert Krasker (1949).
Este plano de "Apocalypse Now" es un claro ejemplo de otro importante aspecto de Dramatic Lighting. Iluminación cinemática no consiste solo en aquello que está iluminado, si no en aquello que no lo está. La mujer en primer plano, también miembro del grupo del Coronel Kurtz, y considerada parte de la jungla, está iluminada tanto como lo estaba Marlon Brando en el anterior artículo. La diferencia en este caso, es la figura presente en el fondo, a quien apenas podemos ver. Hay suficiente luz como para poder apreciar que hay alguien ahí, y la iluminación es incluso más fuerte que la presente en la mujer del primer plano, pero gracias a la ausencia de luz de relleno, y al efecto de la profundidad de campo, apenas leemos al sujeto, lo que ayuda a crear un nivel de drama y tensión memorable.
"Apocalypse Now" by Vittorio Storaro (1979).
Darius Khondji utiliza la misma idea disruptiva de iluminación utilizada anteriormente en "Bride of Frankestein" para realzar al ya extravagante actor Daniel Emilfork. La iluminación dista mucho de ser natural y crea muchas áreas sobre-expuestas en contraste con negros casi puros.
Este rico contraste además se combina con la utilización de un gran angular para así distorsionar el rostro del actor. Por si no fuera poco, el cinematógrafo añade unas estridentes luces de relleno de color amarillo que ayudan a crear el ambiente buscado por el director. Todos los elementos visuales del plano, incluido por supuesto el vestuario del actor, han sido tratados con sumo cuidado para crear una visión poco placentera al espectador.
Comedy Lighting
Llamamos a este estilo "Comedy Lighting", aunque no se aplique exclusivamente a cintas cómicas. Básicamente este estilo de iluminación se caracteriza por iluminar por completo los rostros de los actores, sin crear ningún tipo de dramatismo o composición lumínica, simplemente iluminando en exceso.
Ya que gran parte de las actuaciones cómicas son transmitidas a través del rostro del actor y sus expresiones faciales, se cree que iluminando a estos en exceso, sin ningún tipo de zona obscura, ayudará a realzar la actuación del actor.
Todos estos ejemplos ocurren en cinematografía desde 1930 hasta nuestros días, y todos tienen los mismos principios en común: luz cenital ligeramente inclinada para iluminar el rostro de forma natural, sin bordes duros, sin sombras al lo largo del rostro y uniformidad en tono y rango a lo largo de la imagen.
Harold Lloyd.
The Marx Brothers in "A Night at the Opera" by Merritt B. Gerstad (1935).
Dick Powell and Bebe Daniels in "42nd Street" by Sol Polito (1933).
"Monsters Inc." by Sharon Calahan (2001).
Image Based Lighting en Clarisse
Isotropix Clarisse es una "nueva herramienta" (presentada en Siggraph 2012) que básicamente y para resumirlo mucho, actúa como scene assembler. Es decir, no es un software 3D al uso, si no que has de crear tus assets, cámaras, animaciones, etc, en cualquier software 3D, y después exportar todo a Clarisse (mediante alembic preferiblemente), para una vez allí, trabajar el Look-Dev, Lighting y Render de tus planos y secuencias.
Clarisse es un poderosísimo ray-tracer, donde todo funciona en tiempo real. Esto es muy importante para el artista, ya que no es necesario esperar para visualizar los cambios de shading y lighting. Además Clarisse es muy rápido y estable, incluso utilizando escenas muy complejas, tanto a nivel de geomteria, como a nivel de shading, lighting y efectos de post-proceso como motion blur, dof, etc.
El estudio donde trabajo, lleva utilizando Clarisse algún tiempo. Ya lo utilizamos de forma discreta en Godzilla, y ahora lo estamos utilizando de forma muy extensa en Exodus. No hace mucho Double Negative ha anunciado que Clarisse será su herramienta primaria para Look-Dev y Lighting, así que creo que es un buen momento para empezar a hablar de esta herramienta en el blog.
Mi experiencia con Clarisse es de unos 9 meses más o menos trabajando en Exodus, y aunque no soy un experto ni mucho menos, creo que ya me defiendo bastante bien.
Hoy, voy a contaros uno de los básicos de cualquier software 3D cuando trabajamos en proyectos de VFX, Image Based Lighting.
- Empezamos por crear un nuevo context dentro de la escena. En este caso lo he llamado ibl.
- El siguiente paso es crear un esfera que actuará como soporte para nuestro HDRI.
- La esfera la sitúo dentro del context ibl, para que todo esté bien organizado.
- He aumentado el radio de la esfera considerablemente, ya que éste será nuestro "mundo" donde meteremos todos los assets del plano.
- En la pestaña image view podemos ver el render en tiempo real. Ahora mismo simplemente tenemos la esfera iluminada por la luz que viene por defecto. Podemos eliminar esta luz.
- Creamos un nuevo material matte al que no le afecta la iluminación.
- Lo asignamos a la esfera.
- Una vez asignado el material, la esfera se ve completamente negra.
- Creamos una imagen para poder cargar la textura HDRI.
- Conectamos la textura al color input del matte shader.
- Seleccionamos la imagen HDRI en el path de la textura.
- Cambiamos el tipo de proyección a Parametric.
- Los mapas HDRI son texturas 32bits codificadas en un espacio de color linear, así que tenemos que indicar en las opciones de la textura que estamos utilizando ese espacio de color.
- He creado dos esferas que me servirán para chequear mi iluminación. Presionando la tecla "f" puedo centrarlas en pantalla.
- También he creado un plano para chequear las sombras y dos materiales standard, uno para cada esfera. Uno será gris matte y otro será un material cromado, para simular lighting checkers.
- De vuelta en la ventana de render, podemos ver como las esferas están afectadas por el entorno HDRI.
- De momento, solo los secondary rays, como las reflexiones, están siendo afectados.
- Para que la iluminación funcione como tal, tenemos que crear un tipo de luz llamada "gi_monte_carlo".
- Así de primeras tendremos mucho ruido en la escena, básicamente esto ocurre porque los mapas HDRI tienen demasiado detalle en forma de valores de color/exposición.
- Para solucionarlo, podemos cambiar el tipo de interpolación de la textura a Mipmapping.
- Para seguir limpiando el ruido de la escena, también podemos aumentar la calidad de sampling de la luz gi_monte_carlo".
- El ruido de la escena también depende de la cantidad de Anti Aliasing Samples del raytracer de la escena.
- Para limpiar el ruido, en general hay que combinar los samples de las luces con los samples del raytracer. Un sampling de 8 aproximadamente para el raytracer es un valor adecuado para producción, y las luces pueden ser de 12 smaples aproximadamente. Todo depende de las necesidades de la escena.
- Existe otra opción mas barata, alternativa a utilizar GI.
- Elimina la luz "gi_monte_carlo".
- Crea una luz "ambient_occlusion".
- En su color input, conecta la textura HDRI.
- Verás que el render en principio, sale negro, excepto los secondary rays.
- Selecciona la esfera que hace de entorno y desactiva la opción "cast shadows".
- Todo funcionará correctamente.
- En este caso para limpiar el ruido deberás aumentar los samples del ambient occlusion.
Colorway en VFX - capítulo 2
Hace apenas unos días realicé mis primeras pruebas en Colorway. Mi idea es utilizar este software como herramienta de texturizado y look-development para proyectos de efectos visuales.
Creo que puede ser una herramienta muy potente, y sobretodo, muy artist friendly para trabajar en diferentes tipos de assets.
También creo que puede ser una herramienta para hacer presentaciones rápidas de assets individuales, ya que no solo puedes crear diferentes versiones de un mismo asset, si no que también puedes crear looks, efectos de lente, etc.
Con este segundo test pretendo crear un asset complet, aunque sencillo, para VFX, crear diferentes variaciones y poner todo junto en una plantilla para dailies.
Al final de mis pruebas, estoy bastante contento con el resultado y la metodología de trabajo entre Modo, Mari y Colorway. He encontrado algunas limitaciones pero sinceramente creo que más pronto que tarde, Colorway será una herramienta que voy a utilizar en proyectos para texturizado y look-development.
Transfiriendo texturas
Una de las (graves) limitaciones que he encontrado en Colorway, es que de momento no soporta UDIMs. (me consta que ya están arreglando esto).
Texturicé este personaje hace tiempo, por supuesto siguiendo los estándares de texturizado para VFX, y por supuesto estoy utilizando UDIMs. Alrededor de unos 50 UDIMs de 4k de resolución.
Para poder llevarme este personaje a Colorway tuve que crear un UV mapping de baja resolución, utilizando para ello únicamente el espacio de UVs 1001
Para mantener una resolución mínima, dividí el personaje en diferentes partes: cabeza, brazos, piernas, torso y pelvis, y para cada una de estas partes creé un UV mapping diferente, para posteriormente aplicar texturas de 8k de resolución. Estoy utilizando solo 3 canales de textura, Color, Specular y Bump.
Para pasar las texturas basadas en UDIMs al nuevo UV mapping de baja resolución, utilice la herramienta "layer transfer" de Mari. Es la primera vez que la utilizaba (hasta entonces hacía esta tarea en Maya) y es realmente rápida, apenas pierdes tiempo en bakear texturas entre multiples resoluciones de UVs.
Layer transfer tool in Mari.
Todas las nuevas texturas una vez bakeadas en el nuevo UV mapping de baja resolución.
Mi setup de iluminación en Modo no podría ser más sencillo. Simplemente estoy utilizando un mapa equirectangular HDRI de Beverlly Hills. De hecho, es un mapa que viene con Modo.
Image Based Lighting funciona realmente bien en Modo. Además existe la posibilidad de combinar diferentes IBL de forma muy sencilla e intuitiva.
Simplemente funciona bien.
En cuanto a shading se refiere también es todo muy sencillo. Simplemente utilizo una capa de shading con Color, Specular y Bump. Utilizo el mismo shader para cada parte del asset, simplemente cambio las texturas.
El render solo tarda unos 3 minutos, que para estar trabajando con un MacBook Air no está nada mal :)
El render para Colorway tarda un poco más, pero obviamente después vas a ahorrar mucho tiempo haciendo cambios y variaciones.
He creado una variación de texturas de color en Mari, que posteriormente aplicaré para ver los cambios de shading en tiempo real.
Todas las partes del asset exportadas desde Modo se encuentran a la derecha, basta con seleccionar una de ellas para poder modificarla.
En la parte derecha se encuentran todas las luces exportadas desde Modo. Se puede cambiar la intensidad, el color o simplemente apagarlas. En este caso solo tengo un IBL.
En la parte derecha también encontramos todos los shaders disponibles en la escena. Se puede tocar la intensidad, el color y las texturas de diffuse. Esto te da la posibilidad de crear multitud de versiones del mismo asset en tiempo real.
También existe la posibilidad de crear simples efectos de post-processing como color correction, lens effects, etc. Esto esta bien para tener un feedback visual rápido de algunos de los efectos mas comunes utilizados en VFX.
Finalmente creé un par de variaciones para este asset.
Notas
Un par de cosas de las que me he dado cuenta trabajando en este asset.
- Tenía una de las partes con las normales invertidas. Sin darme cuenta de ello, cada vez que renderizaba para Colorway, Modo se cerraba automáticamente. Una vez invertidas las normales se arregló el problema.
- Estaría bien poder guardar looks dentro de Colorway para futuros proyectos. Digamos que trabajo solo en la cabeza de este personaje, creo varios looks y los presento a un cliente. Me gustaría que si mas tarde trabajo en todo el cuerpo, poder aplicar los mismos looks que anteriormente apliqué a la cabeza.
Nuevos lighting checkers en akromatic
Noticias desde akromatic.
"Teniendo en cuenta las sugerencias y necesidades de algunos estudios de Efectos Visuales, hemos decidido crear una nueva versión de nuestra pintura gris calibrada.
Algunos Look-Development Artists prefieren utilizar esferas grises con un componente specular mayor y otros artistas se sienten mas cómodos utilizando esferas menos reflectantes.
Es una cuestión de gustos personales, así que haznos saber cual prefieres tu.
Esferas originales: Gloss average alrededor del 30%
Esferas nuevas: Gloss average alrededor del 18%
Ambas esferas están pintadas utilizando pintura calibrada como Neutral Grey y pintadas a mano".
Nueva esfera gris, mitad iluminada por el sol y mitad en sombra.
Nueva esfera gris, close up.
La mitad espejo sigue siendo la misma, cuidadosamente pulida a mano.
Mitad espejo, close up.
Toda la información aquí.