En este vídeo os explico como utilizar Z-depth AOVs en Arnold, Nuke y Fusion para modificar el punto de atención de tus renders en base a la distancia de los sujetos con respecto a la cámara.

Los suscriptores de elephant vfx pro, podéis descargaros el material que utilizo durante la demo.

He creado unas tarjetas o cheat sheets que me ayudan en mi proceso de creación de HDRIs para tareas de look-dev, lighting y matte painting. En el video que podéis encontrar más abajo os explico como las estoy utilizando.

Los suscriptores de elephant vfx pro, podéis descargaros el material que utilizo en la demostración, desde vuestra cuenta.

Nota: Este post contiene información exclusiva para los miembros de elephant vfx pro.

La ingestión y el output de footage es una labor que ha de realizarse de forma correcta para no perder ningún tipo de información de color e iluminación. Es muy importante que el footage que llega de editorial salga exactamente con las mismas características de latitud hacia la sala de DI (digital intermediate). En los grandes facilities de VFX y grandes producciones, esta tarea puede ser bastante compleja en ciertas ocasiones, debido a los complicados sistemas de gestión de color que podemos llegar a utilizar.

Paso a explicar como podemos realizar esta labor de forma adecuada en lo que llamaríamos un pipeline de color simple, o independiente. Es decir, la forma más común con la que generalmente trabajan boutiques de VFX, freelancers o simplemente, pipelines de color no demasiado complejos.

En la imagen de arriba, utilizada durante la explicación del vídeo, explico de forma rápida como funcionan los distintos modelos de cámaras RED. El footage generalmente oscila entre diferentes resoluciones, desde 4k hasta 8k.
Los sensores, CMOS que siempre trabajan de forma linear, si, como cualquier motor de render. Y del mismo modo, necesitamos una transformacion de color y su correspondiente gamma para visualizar el footage de forma adecuada en la mayoria de monitores y dispositivos.

Las camaras RED tienen su propio color management llamado RED color y su propia gamma llamada RED gamma. Tambien puedes optar por espacios de color comunes como sRGB o rec709 con sus gammas correspondientes a 2.2 o 1.8

  • Lo primero es converir el footage a un formato estandard. Generalmente vamos a trabajar con .dpx comun en cualquier facility y cualquier software.
  • REDCineXpro es el software (gratuito) con el que puedes realizar todo tipo de conversiones. Tambien puedes realizar trabajos de edicion, color grading, etc. Generalmente vamos a utilizarlo solo para epxortar el footage a .dpx
  • En las opciones de color, podras ver el espacio de color y gamma con el que ha sido rodado el footage. Conviene cambiar el gamma a redLogFilm, siendo log un estandard neutro, perfecto para color grading. Seria lo mismo que utilizar el nodo log2lin en Nuke.
  • Exporta como .dpx
  • La forma correcta de importar el footage en Nuke es como log, es decir, color space cineon en el nodo read.
  • Para visualizarlo correctamente, utilizamos un transformacion de color sRGB o rec709. O por supuesto, un LUT enviado desde la sala de DI (lo mas comun).
  • En Nuke realizamos el trabajo de VFX que necesitemos, bien sea composicion 3D, clean up, etc.
  • En este caso, he hecho un clean up de nieve de forma muy rapida.
  • Una vez terminado el trabajo, basta con escribir lin sRGB-log (cineon) como .dpx utilizando la misma profundidad que el footage original.
  • En este punto deberiamos de ser capaces de enviar el restultado de nuestro trabao de vuelta a editorial o DI, donde podran aplicar cualquier color grading en el que hayan estado trabajando, puesto que nuestro footage tendra exactamente las mismas cualidades que antes de salir de DI, excepto los aniadidos VFX claro.
  • Para ilustrar esto, voy a importar el nuevo footage en Adobe SpeedGrade, que bien no es una sala de DI con Baselight o Resolve. Donde el input sera Cineon/Log y la transformacion de color sRBG para ver el footage igual que en Nuke, que en este punto, todavia es neutro.
  • A partir de ahora podemos tomar cualquier decisión creativa en cuanto a color se refiere. En este ejemplo simplemente estoy aplicando un LUT previamente creado.
  • En cualquier momento podemos desactivar el color grading y enviar un nuevo edit al facility de VFX, y siempre estaremos trabajando de forma neutra. Tambien podemos enviarles nuestro color grading en forma de LUT para que ellos puedan aplicarlo en los respectivos software de 3D y 2D, siempre de forma no destructiva, claro.

Es importante tener en cuenta, que para generar un LUT de forma apropiada, desde VFX necesitamos enviar un CMS pattern a DI para que nos generar el archivo LUT.

  • En Nuke, basta con crear un nodo CMS pattern, que tiene unos valores conocidos. Ellos aplicarán su color grading a este pattern, y la diferencia en valores sera el LUT, que posteriormente podemos aplicar a nuestro footage.
  • Del mismo modo nosotros mismo podemos generar nuestros propios LUTs en Nuke, concatenando cuantos color gradings o color corrections necesitemos, y escribiendo el resultado en un nodo write generate LUT. Podemos expandir esto en un futuro.

Los miembros de elephant vfx pro podéis acceder a un vídeo de mas de 30 minutos donde explico todo esto de forma detallada.

Tendemos a generar movimientos de cámara ficticios para nuestros shots estáticos, bien sea utilizando camera shakes u otros nodos procedurales. Puede que no sea una mala idea para algunas situaciones, pero siempre conseguiremos resultados más realistas utilizando movimiento de cámara real, no procedural.

En Nuke, existe una forma muy sencilla de "robar" el movimiento de cámara de cualquier plano y añadirlo a un plano estático, para crear un movimiento de cámara fluido, orgánico y natural. En este video te explico como hacerlo.

Los suscriptores de elephant vfx pro, podéis descargaros el footage de ejemplo para practicar.

A estas alturas no creo que haya nadie que no esté familiarizado con mip-mapping, en cuanto a texturas se refiere, especialmente aquellos involucrados en los cursos de elephant vfx, donde siempre ponemos especial hincapié en tópicos como este. Aun así, siempre me encuentro con algunos estudiantes, que no conocen que es esto del mip-mapping, así que vamos a tratar de explicarlo de forma breve.

Para empezar, siempre, absolutamente siempre tus texturas tienen que pasar por un proceso de mip-mapping una vez están terminadas, si no, lo estas haciendo mal. Quizás te preguntes por que tus renders tardan mucho tiempo, especialmente mucho tiempo en arrancar, seguramente sea por culpa del mip-mapping, o mejor dicho, la ausencia del mismo.

Una escena mas o menos compleja, cuando hablamos de cine, contiene seguramente miles de texturas. Un hero asset puede contener por si solo miles de texturas agrupadas en decenas de channels. Como podéis imaginar, resulta imposible para el hardware y software que utilizamos, cargar semejante cantidad de información en memoria. Las texturas son generalmente de 8k 16 y 32 bits y como digo, se cuentan por centenares. Con el mip-mapping, conseguiremos agilizar la carga en memoria de toda esa información de una forma considerable, con lo que nuestros renders tardarán mucho menos en empezar, muchísimo.

El mip-mapping se originó para ayudar a mejorar el filtrado de las texturas, el antialiasing. Cuando los objetos se alejan de cámara, los detalles de superficie generalmente parpadean, flickean. El mip-mapping ayudará a solventar esta situación, ya que se crean resoluciones de textura acorde con la posición del objeto respecto a cámara.

Como decía antes, el mip-mapping nos ayudará a mejorar la carga en memoria de las texturas. Si un objeto tiene una textura de 4k pero en un determinado plano solamente ocupa 100 pixels en pantalla, no hay necesidad de cargar una textura de 4k, podemos cargar una versión de 128 pixels.

Esta generación de versiones de textura, puede hacerse al vuelo, o puede planificarse con anterioridad, antes de lanzar el render. Ahorrando mucho tiempo, tanto de carga en memoria, como de generación de versiones de texturas.

Todo esto relacionado con mip-mapping es render agnostic, no importa que motor de render utilices, debes de generar mip-mapped textures con todos. Generalmente los motores de render incluyen una utilidad para poder generar las texturas, mediante linea de comando o mediante interface gráfico.

En el caso de Arnold Render, en el menú Arnold -> utilities encontrarás una herramienta llamada TX manager, donde podrás fácilmente convertir tus texturas a .tx
El comando por defecto que lanza esta utilidad es "maketx -v -u --oiio" forzando las texturas a generar tiles optimizados para OpenImageIO 64x64 Si la textura fuera un color, la convertiría a un tamaño diminuto, de la misma forma que hace Mari cuando exportas colores planos.

Existen varios comandos que puedes utilizar durante la conversión, como el tipo de filtrado, el tamaño de tile, o la linearización de texturas. Yo personalmente lo dejo por defecto, ya que siempre trabajo de forma linear, es decir, las texturas no necesitan conversión cuando llegan al software 3D, ya salen linearizadas de Mari. Tienes mas información sobre maketx aquí.

En las opciones de render de Arnold, existe un apartado específico para las texturas, estas son las opciones mas importantes.

  • Auto-convert Textures to TX: Esta opción convertirá de forma automática las texturas que existan en tu escena y no estén en formato .tx Personalmente no lo recomiendo, por el simple hecho de acostumbrarse al proceso de terminar las texturas y convertirlas manualmente a .tx antes de meterlas en el software 3D.
  • Accept Unmipped: Con esta opción activada, podrás utilizar texturas que no hayan pasado por mip-mapping. Nunca lo utilices, tus renders tardarán una eternidad.
  • Tile size: Tamaño de los tiles cuando los calcules de forma automática. Cuanto mas grande, menos cargas, pero mayor tiempo de carga.
  • Max Cache Size (MB): Memoria destinada a la carga de texturas.
  • Mip-Mapping Bias: Controla el nivel de mip-mapping. De forma individualizada por textura. Cuanto mayor numero, menor calidad de carga. Valores negativos cargaran texturas mas grandes.
Posted
AuthorXuan Prada
2 CommentsPost a comment