Como ya comentase en mi anterior entrada, hace unas semanas pasé tres días en Eksjö, Suecia, impartiendo un workshop sobre Look-Development en el Campus i12 de la Universidad de Jönköping.

Fue un workshop personalizado en función de las necesidades docentes de los alumnos y del centro, y basado siempre en mi experiencia como VFX Artist y en función de los conocimientos previos del grupo estudiantil y sus experiencias anteriores, ya que muchos de los alumnos ya han tenido contactos profesionales con algunos estudios importantes del país mentado.

Aquí y a modo de resumen, explico brevemente los conceptos y prácticas impartidos.

El tema principal para el que me contrataron, era para hablar sobre Look-Development. Aunque desde el primer momento les dejé claro que no podía hablar sobre Look-Development sin asegurarme que los alumnos comprendían el contexto anterior y posterior a la fase de Look-Development. Por ello, dediqué unas cuantas horas a hablar sobre Texturing, sobre Lighting enfocado a Look-Development y sobre Image Aquisition para Look-Development. También pudimos dedicar un par de horas a hablar sobre cinematografía virtual e iluminación, aunque este sea un tema que daría para otro workshop completo.

Hablando de Texturing, tuvimos la oportunidad de analizar varios ejemplos de producciones reales y concluir que en general, en cada proyecto existen unos tres tipos de texturizado muy reconocibles.

  • Assets filmados en set que necesitan ser generados de forma virtual para reemplazar los reales.
  • Assets filmados en set que necesitan ser extendidos de forma virtual.
  • Assets que no existen en set y necesitan ser generados de forma virtual por completo.

Analizamos y mostramos ejemplos de producción para ilustrar como abordar las tareas de texturizado en cada uno de los anteriores escenarios. También explicamos de donde provienen las referencias, como se capturan dichas referencias o como trabajamos cuando no tenemos referencia alguna. Hablamos sobre fotografía polarizada, spherical illumination, photogrammetry, 3D scan y todo tipo de técnicas y herramientas que utilizamos en los estudios de VFX a la hora de trabajar nuestras texturas.

Posteriormente repasamos los texture channels mas comunes utilizamos en las producciones modernas, dejando atrás falsos mitos y viejas prácticas que ya no vienen a cuento. Cubrimos todo lo relacionado a espacios de color de texturizado, resolución de mapas, profundidad de datos, etc. Al mismo tiempo hablamos de diferentes soluciones de UV Mapping que nos podemos encontrar, así como el software de texturizado valido para entornos de VFX.

Tras una cuantas horas hablando sobre texturizado, pasamos a hablar sobre métodos de adquisición de imágenes para Look-Development. Esto incluye escaneo de materiales, separación de componentes lumínicos de superficie, como specular, diffuse, normal maps, etc. Vimos algunos ejemplos de setups lumínicos que nos permiten analizar e interpretar materiales en la naturaleza para posteriormente poder replicarlos de forma virtual.

Hablamos de metodologias, técnicas y herramientas profesionales para capturar HDRIs que posteriormente utilizamos en la fase de Look-Development, y dejamos muy claro porque los HDRI son mucho mas importantes para Look-Dev que para Lighting.
Analizamos algunos ejemplos de producción donde pudimos ver en detalle como utilizamos setups de Image Based Lighting en producciones VFX. Pusimos de manifiesto cuales son las carencias de este tipo de técnicas y las posibles soluciones para crear assets y planos combinando setups de IBL y cinematografía virtual.

Analizamos diferentes tipos de trabajos de cinematografía, repasando esquemas de iluminación de algunos de los planos mas emblemáticos de la historia moderna del cine de la mano de cinematógrafos del renombre de Roger Deakins o Emmanuel Lubezki, para posteriormente reproducirlos de forma virtual. Hicimos hincapié en la enorme diferencia entre iluminación funcional e iluminación cinemática.

Planificamos las mejores estrategias para afrontar tareas de adquisición de imágenes en la industria de los VFX destinadas a tareas de Look-Development. Finalmente trabajamos todo el material recogido para crear setups complejos de IBL.

El siguiente tema relacionado con el workshop era Look-Development per se. Donde hablamos largo y tendido de las principales fases de esta estapa de la producción VFX. Pusimos varios ejemplo de todo tipo de assets diferentes, vehículos, entornos, props, criaturas, robots, actores digitales, etc. Analizamos cada una de las fases, como el blocking, el pase primario, el pase secundario, el balanceo final, etc.

Vimos encajar todo lo mencionado en el apartado de texturizado e adquisición de imágenes y como ponerlo todo en práctica en su conjunto dentro del contexto de Look-Development.

Tras dejar de lado el apartado de Look-Development, pasamos a hablar de forma menos densa sobre cinematografía virtual y 3D lighting. Mencionamos los estados de iluminación más comunes y como se trabaja en cada uno de ellos. Pusimos varios ejemplos de cinematografía en set y analizamos diferentes formulas creativas que han configurado el lenguaje audiovisual y la narrativa durante las ultimas décadas.

Finalmente, analizamos las demo reels de algunos alumnos y hablamos sobre el proceso de recruting y entrevistas de trabajo.

Más o menos, de forma muy resumida, este ha sido el contenido de mi workshop.
Si estás interesado en impartir este workshop u otro similar en tu universidad, escuela de arte o centro de formación, ponte en contacto conmigo.

Esta es una explicación rápida de como se maneja el footage de entrada y salida en un estudio de VFX, especialmentne hablando en relación a la gestión de color.

Shooting camera -> Lab
El material RAW grabado en set se envía al laboratorio. Allí es convertido a .dpx que es el formato estandard en cine. En ocasiones también se utiliza .exr aunque no es muy común.
Aún hay muchos proyectos rodados en película, no en digital. En este caso el laboratorio escanea los negativos para crear archivos .dpx digitales que se utilizarán a lo largo del proceso.

Shooting camera -> Dailies
El material RAW grabado en set se envía a dailies. El cinematógrafo, director de fotografía o DI aplican un LUT primario o color grading que se utilizará a lo largo del proyecto.
Los scans originales con el LUT aplicado se convierten en scans de baja calidad o Quicktimes para su distribución a las empresas que participan en la película.

Dailies -> Editorial
El departamento de editorial recibe los scans en baja calidad con el LUT aplicado. Este departamento utiliza estos scans para hacer los cuts iniciales y presupuestar.

Editorial -> VFX
Los estudios de VFX reciben los scans en baja calidad (Quicktimes) con LUTs aplicados. Utilizan este material basado en los cuts de editorial para presupuestar su trabajo.
Más adelante, utilizarán este mismo material como referencia para color grading.

Lab -> VFX
El laboratorio proporciona a los estudios de VFX los scans de alta calidad para trabajar sus efectos sobre ellos. Este material necesita que le apliquen el LUT.
Los estudios de VFX también deberán aplicar el mismo LUT a su trabajo creado desde cero en el estudio. Una vez terminado el trabajo, el estudio de VFX proporciona salida en .exr

VFX -> DI
DI realizará el color grading necesario para que el trabajo producido por VFX empate con los Quicktimes proporcionados por editorial.

VFX/DI -> Editorial
El material de alta resolución producido por el estudio de VFX vuelve a editorial para ser introducido en los cuts.


Un workflow práctico sería algo así.

  • Leer el RAW scan.
  • Leer el low scan Quicktime.
  • .dpx normalmente están en un espacio de color LOG.
  • .exr normalmente están en un espacio de color LIN.
  • Aplicar LUT o color grading al material RAW para que empate con el material LOW.
  • Renderizan para editorial utilizando el mismo color space utilizado que cuando se trajo el footage.
  • Renderizar para Quicktime utilizando el mismo espacio de color que se utiliza en el visor. Si se va a ver en un espacio de color sRGB es necesario bakear el LUT.
  • Buenos settings para Quicktime: Colorspace sRGB, Codec Avid Dnx HD, 23.98 frames, depth million of colors, RGB levels, no alpha, 1080p/23.976 Dnx HD 36 8bit
Posted
AuthorXuan Prada

Mari es la herramienta estándar para texturizado en producciones de VFX, por muchas razones, pero sobre todo, porque creo que es la única herramienta de texturizado que ofrece gestión de espacios de color. Y en entornos de producción de VFX donde los LUTs marcados por el cinematógrafo juegan un papel crucial, trabajar sin gestión de espacios de color es como trabajar a ciegas. Por eso, Mari y Nuke son prácticamente las únicas herramientas que utilizamos para texturizado. (salvo Zbrush para displacement maps, pero ahi la gestión de color no influye).

De momento la gestión de color en Mari no es completa, es decir, no es como Nuke donde puede controlarse el espacio de color para la entrada y salida de imágenes. Así que podríamos decir que Mari es un software con espacio de color agnóstico.
Pero Mari ofrece un control del espacio de color de post-proceso, a través de dos variantes, Mari Colour Profiles y OpenColorIO (OCIO)En versiones anteriores Mari no ofrecía OCIO y los Mari Colour Profiles eran la única forma de gestionar el color. Ahora, con OCIO implementado, solo puedo recomendar utilizar esta última forma de gestión de color.

Como texture artists, generalmente trabajaremos con imágenes Float-Linear y 8-bit Gamma 2.2 Siempre que podamos trabajaremos con Float-Linear aunque en ocasiones sea inevitable trabajar con 8-bits.

  • He cargado en Mari dos imágenes, una es Linear .exr 32-bits y otra es Gamma 2.2 .tif
  • Con el espacio de color desactivado, podemos checkear ambas imágenes en viewport y comprobar la evidente diferencia entre ambas.
  • Del mismo modo que si lo hiciésemos en Nuke.
  • Una forma de gestionar espacios de color, es a través de LUTsUtilizando el Color Space podemos seleccionar el LUT del proyecto, y después cambiar el Display Device para nuestro monitor calibrado (o dejarlo default si no tenemos perfil de calibración para nuestro monitor). Podemos también cambiar el Input Color Space en función de si 
    estamos utilizando imágenes Linear o sRGB y finalmente cambiar el View 
    Transform a la salida que necesitemos, generalmente Gamma2.2, Film, etc.
  • Como alternativa final, y recomendada, podemos utilizar un archivo OCIO, que debemos cargar en el inicio de Mari, y generalmente será proporcionado por la productora, de mano del cinematógrafo o equipo de DI.
    Después 
    simplemente cambiar el Display Device a nuestro monitor calibrado, el 
    Input Color Space a Linear o Gamma 2.2 en función del material de entrada que tengamos y finalmente el View Transform a Gamma 2.2, Film o lo que necesitemos.
  • De este modo, nuestras texturas siempre estarán en consonancia con el render y con la composición, ya que tanto Maya/Katana/Clarisse y Nuke podrán cargar los mismos ficheros OCIO y podremos visualizar el espacio de color deseado en todos esos software.

¿Qué es OpenEXR?

OpenEXR es un formato de imagen, como bien pueden ser .tif .jpg, Cineon u otros. Es utilizado para guardar imagenes en disco, no más que eso.
EXR fue desarrollado por Industrial Light and Magic y hace unos años lo publicaron como software  libre. Ha ganado un Oscar tecnológico por su contribución a la creación de imágenes para cine.

EXR tiene unas notorias ventajas respecto a otros formatos de imagen que nos permiten realizar un uso muy inteligente del mismo.
Como por ejemplo:

  • Puede almacenar un rango de color mucho más alto que archivos Cineon (estandard previamente utilizado en cine).
  • No hace clamping en el rango 0 a 1 como ocurre con archivos .tiff de 8/16 bits, permitiendo almacenar información que no se ve en pantalla, pero a la que se pude acceder en cualquier momento.
  • Estos tipo de archivos permite almacenar diferentes tipos de información. Por ejemplo 16 bits floating point para información de color, 32 bits floating point para información de profundidad e integer numbers (números enteros) para identificadores de objetos, máscaras, etc.
  • Las imágenes pueden ser comprimidas utilizando diferentes métodos sin perder calidad.
  • Pueden almacenar metadata, como información de lente, exposición, film stock, etc.
  • Imágenes de 16 bits floating point pueden ser movidas sin perder calidad a la tarjeta gráfica y ser manipuladas después de ser mostradas. Esto permite real time grading en la tarjeta gráfica.

¿Porqué utilizamos OpenEXR en VFX?

  • Estandarizar el espacio de color

El principal beneficio de utilizar EXR es para estandarizar el espacio de color a través de todos los departamentos de un estudio de VFX.
Ambos pipelines, 2D y 3D ya pueden utilizar exactamente el mismo espacio de color, y las conversiones Log/Lin se convierten en algo del pasado.

  • High Dynamic Range

EXR tienen un rango dinámico muho más alto, y una mayor precision en color que las soluciones existentes de 8 y 10 bits.
Cineon puede almacenar aproximadamente 11 f-stops de información, lo mismo que un negativo de película tradicional prácticamente.
EXR puede almacenar 30 stops sin pérdida de información, además de 10 f-stops en los niveles negros con muy poca pérdida de información.

Además de ser mayores en rango, también son mayores en precisión, ya que tienen 1024 steps por f-stop comparado con los 90 steps por f-stop de Cineon.

El siguiente ejemplo muestra la misma imagen EXR, pero la cantidad de detalle e información varía entre ellas. R2-D2 se ve perfectamente, y a medida que revelamos mas información podemos ver a Darth Vader al fondo.
La cantidad de esposición se puede ajustar al vuelo para revelar y ocultar detalles.
 

OpenEXR original

OpenEXR 3 stops por encima de la imagen original.

OpenEXR 5 stops por encima de la imagen original.

  • Compresion

Los archivos EXR utilizan aproximadamente 20-30% menos de espacio en disco que Cineon. Imagenes fotografiadas con grano comprimen mejor utilizando el metodo Piz. (default en Nuke o Shake)
3D renders comprimen mejor utilizando el metodo Zip. (default en RenderMan)

¿Cómo utilizamos OpenEXR?

En 2D los utilizamos en Nuke. También soporta AOVs embebidos en un solo fichero EXR.
También soporta stereo files SXR.
El visor de Nuke debería estar configurado para utilizar el LUT apropiado para el proyecto en el que se trabaje, para que así el EXR se muestre como debería.

Photoshop no es demasiado friendly para utilizar EXR, ya que la gestión de espacios de color en Photoshop es prácticamente inexistente.
Generalmente los estudios de VFX tienen soluciones internas para facilitar el trabajo de los Matte Painters.

En 3D todos los render finales que se envian a 2D para composición son renderizados en OpenEXR.
Existe la opcion de elegir el tipo de compresión como ya hemos visto y si queremos renderizar los diferentes AOVs por separado o embebidos en un mismo fichero.

En texturizado, siempre que partamos de imágenes de referencia RAW deberemos trabajar en OpenEXR, nunca .tiff u otros formatos.
Mari está perfectamente adaptado al trabajo lineal y fácilmente pueden cargarse LUTs para visualizar las texturas con el espacio de color del proyecto.
Si se empiezan las texturas pintando a mano (from scratch) hay que asegurarse de generar capas 16 bits y exportar canales siempre en OpenEXR. Tambien hay que ser cuidadoso con el tipo de channel que se pinta (color o scalar).

Las texturas EXR generalmente se tilean y se crean mip-maps para facilitar y agilizar su lectura.

Loos flipbooks de los estudios, bien sean herramientas internas propietarias o herramientas comerciales como Hiero, deben tener controles que permitan cambiar el LUT del proyecto en el visor, cambiar la exposición al vuelo, etc.

Posted
AuthorXuan Prada

Los scatterers en Clarisse son geniales. Fáciles de controlar, estables, renderizan super rápido, etc. Llevo un tiempo utilizándolos para crear matte paintings y la verdad es que son impresionantes. Basta con arrojar un par de modelos de árboles diferentes, crear varios mapas para distribuirlos a lo largo de un terreno y ya está, en un par de minutos tienes un bosque entero.

Por supuesto, puedes renderizarlos con una luz interesante, a resoluciones muy altas y con todos los AOVs que necesites para tener control total en Nuke y crear matte paintings alucinantes.
Para este ejemplo, en lugar de hacerlo con árboles o piedras, vamos a hacerlo con piezas de Lego, que es más divertido :)

  • Crea un context llamado obj e importa grid.obj y toy_man.obj
  • Crea otro context llamado shaders y crea generic shaders para los objs.
  • Crea dos texturas y carga las imágenes correspondientes para el grid y para el toy_man.
  • Asigna las texturas al diffuse input de cada shader y después asigna cada shader a su correspondiente objeto.
  • Posiciona la cámara para ver el logo de Lego al completo.
  • Crea un nuevo context llamado crowd, y dentro crea un point cloud y un scatterer.
  • En el point cloud indica que el grid sea el parent.
  • En el scatterer indica también que el grid sea el parent.
  • En el scatterer indica que el point cloud sea el geometry support.
  • En la sección geometría del scatterer añade toy_man.
  • Vuelve al point cloud y en las opciones scattering geometry añade el grid.
  • Juega con el parámetro density. En este caso estoy utilizando un valor de 0.7

  • Como puedes ver el toy_men empieza a popular la imagen.

  • En la opción decimate texture añade el logo de Lego. Ahora el toy_men se distribuye en función del logo.
  • Añade un poco de variación en el  scatterer position y rotation.
  • Y con esto ya está, ¿Te has dado cuenta de que fácil resulta configurar el scatterer? ¿Y te has dado cuenta del polycount? 108.5 million :)
  • Para finalizar, y para hacerlo un poco más bonito, podemos eliminar la iluminación por defecto y añadir un setup rápido de IBL.

Render final.

Posted
AuthorXuan Prada

Self Portrait by Rembrandt van Rijn (circa 1640)

En contraste (literalmente y metafóricamente) character lighting se podría definir como la técnica de iluminación que intenta resaltar las características específicas de un sujeto, revelar detalles y expresar algunas de sus cualidades únicas a través de la iluminación.

Por ejemplo, un personaje falso o hipócrita, podría ser iluminado de tal modo que parte de su rostro esté siempre oculto en las sombras.
La cantidad de recursos simbólicos que pueden utilizarse en esta etapa, hace que sea un proceso mucho más creativo que simplemente la técnica beauty lighting de la que hablamos con anterioridad.
Es posible contar más cosas relacionadas con la historia del personaje que simplemente mostrarlo de forma bonita.

Si ponemos como ejemplo el retrato de Remrandt de arriba, y lo comparamos con el retrato de abajo, podemos observar muchas diferencias, y ambos retratos nos cuentas historias muy diferentes pese a ser ambas pinturas del mismo sujeto, Rembrandt.
Los cuadros tienen unos 20 años de diferencia, pero simplemente fijándonos en el estilo, la composición y la luz, podremos darnos cuenta de cuanto había cambiado la vida de Rembrandt.

En el retrato de abajo, Rembrandt estaba en bancarrota, forzado a vender su casa y pertenencias, había perdido a su mujer por culpa de la tuberculosis, etc.
En el retrato de arriba, era un artista de renombre, con éxito, alrededor de 1640.
La luz es suave, opulenta, define con detalle las vestiduras y tiene una pose intimidatoria, emulando el retrato de Tiziano de 1542.

En el retrato posterior, vemos a un Rembrandt indigente, desposeído, cuyas ropas apenas están definidas y se mantienen en penumbra, ya no son una representación de su estatus.
La pose y el encuadre son más introvertidos, es casi como que el marco domina al sujeto y la luz dura, de un solo foco lumínico, apunta directamente al rostro del artista, preocupado, abatido.

Podemos ver como la iluminación dicta lo que el autor quiere mostrar y lo que quiere ocultar, para guiar al espectador a través de la imagen. El estilo visual ayuda a la descripción narrativa.

Self Portrait by Rembrandt van Rijn (circa 1661)

Pablo Picasso by Irving Penn (1957)

El retrato de Picasso está iluminado siguiendo el típico método utilizado por Irving Penn, una fuente lumínica suave, generalmente una ventana cercana al sujeto.
El abrigo de Picasso es negro, y el sombrero de ala ancha contribuye a crear sombra en el lado derecho del sujeto, enmarcando el ojo izquierdo.

La utilización de objetos para crear zonas de penumbra, significa que incluso utilizando una fuente lumínica suave y dispersa, la imagen tendrá suficiente contraste, y por lo tanto, será atractiva visualmente.

Un rango amplio de tonos se puede apreciar en la imagen, y gracias al ángulo de la luz, detalles como arrugas en la piel, se pueden leer a la perfección.
Si comparamos esta imagen con la que vimos en el apartado de beauty lighting, podremos comprobar como la angulosidad de la luz es fundamental a la hora de capturar detalles de textura.

Marlon Brando in "The Godfather" by Gordon Willis (1972)

Marlon brando in "Apocalypse Now" by Vittorio Storaro (1979)

Esta dos imágenes de Marlon Brando, de sus dos películas más icónicas, demuestran como la iluminación puede describir el personaje y la narrativa.
En El Padrino, el cinematógrafo Gordon Willis iluminó a Brando desde arriba, con luz cenital. De este modo los ojos, y gran parte de su personalidad, están ocultos para los espectadores.

Su cara, se convierte casi en una calavera, o en una máscara, como corresponde al jefe de la mafia (estar tapado, oculto). Willis, quien siempre ha iluminado con predilección por la oscuridad, eligió en este caso resaltar de sobremanera la cabeza y la mano de Brando, dejando el fondo prácticamente negro, para centrarse únicamente en lo verdaderamente importante. Ningún detalle superfluo ha sido iluminado aquí.

El rol de Brando en Apocalypse Now es también un tanto misterioso. El Coronel Kurtz representa la falta de humanidad en la jungla, y el cinematógrafo Vittorio Storaro lo ilumina acorde con la situación.

La luz le viene de forma frontal, para irse difuminando a través de su rostro. Al final, su cabeza se mezcla con el fondo, hasta perderse en un solo componente.
En la técnica beauty lighting, se hubiese añadido una rim light, para separar el sujeto del fondo y definir su silueta, pero en este caso, la iluminación es un instrumento con más peso narrativo que estético.

Liv Ullmann and Bibi Andersson in "Persona" by Sven Nykvist (1966)

Hasta ahora, todos los ejemplos de character lighting que hemos visto, tienen mucho contraste, sombras muy marcadas, penumbra, etc.
El cinematógrafo Sven Nykvist iluminó la película Persona de Ingmar Bergman de una forma completamente diferente.
Utilizó un tipo de iluminación muy difuso y suave, permitiendo que el espectador lea las actuaciones faciales de las actrices Ullmann y Andersson.

Aquí la narrativa vuelve a ser protagonista, ya que que cuenta la idea de dos personas, ya sea reflejando dos mitades en una sola persona o mezclando personalidades. Esto obviamente requiere de un tipo de iluminación que ayude al espectador a leer las actuaciones de las actrices, por eso se eligió una luz global y difusa que permita ver las similitudes entre ambas.

Orson Welles and Charlton Heston in "Touch of Evil" by Russell Metty (1958)

Este fotograma de Touch of Evil, deja al espectador sin dudas de quien es el héroe y quien es el villano.
La iluminación en el Capitan Hank Quinlan (Orson Welles) deja la mitad de su cara en sombra, ocultando cosas. Por el contrario, el héroe de la película, Ramón Miguel Vargas (Charlton Heston) está iluminado de forma que su rostro se muestra por completo, tipo beauty lighting. Sus ojos son perfectamente visibles, al contrario que los de Welles.

Generalmente los villanos tienden a apartarse de la luz, a permanecer ocultos entre las sombras. Los héroes suelen estar más iluminados que los villanos, ya que por lo general, no necesitan ocultar nada.

Posted
AuthorXuan Prada