Zbrush displacement en Clarisse

Esta es una guía rápida para configurar displacements extraídos desde Zbrush en Clarisse.
Normalmente, lo más importante es extraer de forma adecuada el displacement en Zbrush, si no sabes como hacerlo de forma correcta, échale un ojo a este post.

Una vez extraídos los mapas de desplazamiento, sigue este pequeño tutorial.

  • Para mantener todo bien organizado, voy a meter el material relacionado con este mini-tutorial en un nuevo context llamado "hand".
  • He importado la geometría base y creado un nuevo standard shader con un diffuse gris.
  • Estoy utilizando un set-up IBL básico.
  • Ahora he creado un map file y un displacement node. He renombrado todo para mantener el orden.
  • Selecciona la texture de desplazamiento para la mano y selecciona la opción raw/linear, ya que estamos utilizando mapas de 32 bits .exr
  • En el displacement node configura el bounding box. Empieza con un valor de 1 y a ver que tal responde. Ajústalo en consonancia.
  • Añade el displacement map al front value. Deja el valor como 1m (esta unidad es una unidad global, no es realmente 1 metro).
  • Deja el offset a 0 ya que estamos utilizando 32 bits.
  • Finalmente asocia el displacement node a la geometría.
  • Y ya está. Lanza un render y todo debería funcionar bien.

Render con desplazamiento.

  • Si aún utilizas 16 bits displacement maps, tendrás que utilizar un valor de 0.5 en el offset y jugar con el valor del desplazamiento hasta que consigas el resultado esperado.
Leer más

Espacios de color en Mari

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.
Leer más
tutoriales gratuitos Xuan Prada tutoriales gratuitos Xuan Prada

4 palabras sobre OpenEXR

¿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.

Leer más

"Rompiendo caras" en Modo

Hace unos años trabajé en Dark Shadows, de Tim Burton en MPC. Tuvimos que crear una cara full CG para Angelique, el personaje interpretado por Eva Green.
En una de las secuencias finales, Angelique se pelea con Barnabas Collins, el personaje interpretado por Johnny Depp, y su cara y parte de su cuerpo, se van destrozando poco a poco, como si fuera una muñeca de porcelana.

En aquella ocasión, todas las piezas rotas se pintaron a mano. Pintamos mapas que se utilizarían como máscaras guía por el departamento de FX para generar la geometría resultante.

No hace mucho tuve que crear un efecto similar en otro personaje, pero en este caso, no necesitaba pintarlo todo a mano, ya las partes rotas simplemente tenían que aparecer de forma aleatoria, sin importar demasiado donde ni como. Hice un poco de investigación, y llegue a la conclusión de que la forma mas rápida y sencilla era utilizando el shatter command de Modo.

Antes de empezar, déjame que te muestre unos fotogramas de Angelique, el personaje que hicimos para Dark Shadow, interpretado por Eva Green.

  • Una vez en Modo, importa la geometría. El único requisito para utilizar esta herramienta, es que la geometría esté completamente cerrada. Puedes cerrarla de forma rápida, sin prestar demasiada atención, ya que una vez generadas las piezas, puedes borrar la geometría que no necesites muy fácilmente.
  • Ya he pintado texturas para este personaje. Las nuevas piezas que se van a generar, tendrán un nuevo UV Mapping, pero las UVs existentes se mantendrán perfectas, así que no tengas miedo de utilizar esta herramienta si tu asset ya tienen UVs y texturas.
  • En el tab setup, encontraras la herramienta shatter command.
  • Aplica en este caso el type uniform.
  • Hay varias opciones para configurar las piezas resultantes.
  • Fíjate como también hay una opción para generar un material para las caras interiores de forma automática.
  • Aquí puedes ver todas las piezas generadas en muy poco tiempo.
  • Voy a seleccionar todas las piezas y escalarlas en negativo un poquito, así puedo crear un pequeño hueco entre ellas y verlas mejor.
  • En este caso en particular, no necesito para nada las caras internas, como tampoco las necesitamos en el caso de Angelique.
  • Simplemente utiliza el material generado automáticamente para seleccionar las caras y borrarlas.
  • Si chequeamos las UVs, comprobarás que están perfectamente. Quizás haya algunas imperfecciones creadas en el proceso de cerrar la geometría, pero simplemente podemos eliminarlas u omitirlas, ya que no vamos a verlas nunca de cara a la cámara.
  • Voy a empezar de nuevo.
  • El uniform type está muy bien porque es muy rápido, pero todas las piezas son muy similares en tamaño.
  • En esta ocasión voy a utilizar el cluster type, que crea piezas mucho mas variadas e uniformes.
  • Ahora tiene mejor aspecto :)
  • Ahora me gustaría crear fragmentos localizados en un area concreta. Digamos que una parte recibe un golpe, o un disparo.
  • Simplemente selecciona el fragmento y aplica otro shatter command.
  • Selecciona todos los fragmentos, y en la pestaña dynamics, desactiva la fuerza de la gravedad.
  • Selecciona el collision set to mesh.
  • He posicionado una esfera justo encima de los fragmentos, y después la he activado como rigid body.
  • Por defecto, le afecta la fuerza de la gravedad, así que cuando empiece la simulación, golpeará los fragmentos creando una animación, o simplemente, reposicionando los fragmento de forma dinámica.
  • Juego con las opciones de collision de los fragmentos para obtener diferentes resultados.
  • En este video se puede ver la sencilla pero efectiva simulación.

  • Este es un clay render donde puede verse la cara terminada. Puedes de forma muy sencilla incrementar al complejidad de este efecto, generando muchas mas piezas con muy poco coste.
  • Finalmente he importado la geometría resultante en Mari como una nueva versión del modelo original. Como puedes comprobar, las texturas originales funcionan a la perfección con la nueva geometría.
Leer más

HDRI shooting para VFX (guía rápida)

Esta es una pequeña introducción a la fotografía HDRI para VFX, si quieres profundizar más en este tema, échale un ojo a mi curso Image Based Lighting 101.

Equipo

  • Mochila Lowepro Vertex 100 AW
  • Mochila Lowepro Flipside Sport 15L AW
  • Full frame digital DSLR (Nikon D800)
  • Fish-eye lente (Nikkor 10.5mm)
  • Lente multi propósito (Nikkor 28-300mm)
  • Mando a distancia
  • Trípode
  • Cabeza panorámica (360 precision Atome or MK2)
  • akromatic kit (grey ball, chrome ball, tripod plates)
  • Mochila Lowepro Nova Sport 35L AW shoulder bag (para el aromatic kit)
  • Macbeth chart
  • Muestras de materiales (plastico, metal, tela, etc)
  • Cinta métrica
  • Cinta aislante
  • Trípode adicional para el akromatic kit
  • Material de limpieza
  • Cuchillo/Tijeras
  • Guantes
  • iPad o laptop
  • Disco duro externo para backups on-set
  • Memory cards
  • Baterías
  • Cables de datos
  • Cámara testigo y/o cámara secundaria para stills (texturas, backplates, etc)

Equipo empaquetado. Trata de mantener volúmenes indivisibles, ordenado y compacto.

Todo tu equipo debería ser accesible de forma rápida.

El equipo más importante es: Reflex digital, fish eye lens, lente multi propósito, trípode, lighting checker, cabeza panorámica.

Shooting checklist

  • Captura 360 de la escena (fish-eye shots)
  • Backplates para look-development (incluido textures para suelo)
  • Macbeth chart para balance de blancos
  • Grey ball para calibrar la iluminación 
  • Chrome ball para orientar la iluminación
  • Medidas de la escena
  • Materiales de ejemplo
  • HDRI individuales de las fuentes de luz artificiales

Lighting checkers, extremadamente importantes para calibrar la iluminación.

Macbeth chart, importante para el balance de blancos.

Antes del shooting

  • Lleva  solo el equipo necesario. Deja cables y otros accesorios en la furgoneta.
  • Haz el setup de cámara, limpia las lentes, formatea las memory cards, etc, antes de empezar el shoot. Ajustes de cámara adicionales se necesitarán hacer en el momento de tomar las fotos, pero trata de hacer ajustes primarios antes de saltar al set. Conoce tu iluminación y ajusta la exposición en base a ello.
  • Ten siempre a mano más de una CF memory card.
  • Ten siempre a mano un kit de limpieza básico.
  • Planea siempre el shoot: Escribe un diagrama con la cantidad de fotos que necesitas, con las exposiciones neutras básicas para las condiciones lumínicas, escribe un checklist de tareas que necesitas hacer, etc.
  • Planta el trípode donde transcurre la acción o donde los assets 3D van a estar colocados.
  • Reduce el area que necesita ser limpiado. Es decir, no coloques nada a tus pies o alrededor del trípode, después tendrás que limpiarlo en Nuke.
  • Cuando hagas fotos para backplates utiliza una wide-lens de al menos 24mm o 28mm y siempre cubre mas espacio del necesario tanto hacia los lados como hacia arriba.
  • Cuando hagas fotos para texturas utiliza siempre una Macbeth chart al principio de cada sesión y tomas unas 3 exposiciones.

Metodología

  • Planta el trípode donde transcurre la acción, estabilízalo y nivélalo.
  • Utiliza siempre enfoque manual
  • Fija el balance de blancos o utiliza un preset, pero siempre el mismo (será corregido posteriormente con la Macbeth chart)
  • Utiliza siempre le mismo ISO
  • Como output utiliza raw+jpg
  • Establece la apertura deseada
  • Lee la iluminación y establece un shutter speed
  • Establece tu exposición neutra
  • Lee el histograma y ajusta la exposición neutra si es necesario
  • Fotografía el slate (nombre de operador, localización, fecha, hora, código del nombre de proyecto, etc) 
  • Activa auto bracketing
  • Realiza de 5 a 7 exposiciones con 3 stops de diferencia cubriendo todo el entorno
  • Coloca el kit de akromatic en la misma posición donde estaba tu trípode y toma al menos 3 exposiciones. Intenta que la mitad de la bola gris este iluminada por el sol y la otra mitad en sombra
  • Coloca la Macbeth chart aproximadamente a 1m del trípode y realiza al menos 3 exposiciones
  • Toma backplates y flat textures del suelo
  • Toma referencias de materiales comunes
  • Anota las medidas de la escena, especialmente importante si vas a recrear un interior
  • Si hay fuentes de iluminación artificial, haz HDRI de cada una de ellas por separado

Panorama HDRI equirectangular.

Punto de partida de exposiciones

  • Dia con sol visible ISO 100 F22
  • Dia con sol oculto ISO 100 F16
  • Nublado ISO 320 F16
  • Amaneces/atardecer ISO 100 F11
  • Interior bien iluminado ISO 320 F16
  • Interior luz ambiente ISO 320 F10
  • Interior poco iluminado ISO 640 F10
  • Interior luz ambiente oscura ISO 640 F8
  • Situación de escasa iluminación ISO 640 F5

Y esto debería ser todo :)

Leer más
tutoriales gratuitos, scatterer Xuan Prada tutoriales gratuitos, scatterer Xuan Prada

Cubos tutorial

Hace unos meses, mis compañeros de trabajo de Double Negative estaban realizando los efectos visuales de Transcendence, entonces les vi utilizando Houdini para crear los efectos de una secuencia en particular. El efecto en cuestión trataba de millones de piezas pequeñitas formando volumenes y formas.
Poco despues vi que otros intentaban algo similar utilizando Maya's XGen y otras herramientas similares. Lo probé y funcionaba perfectamente.

Fotograma de Transcendence.

Fotograma de Transcendence.

Fotograma de Transcendence.

Estaba intrigado por esta técnica así que decidí recrear algo parecido, con distinto objetivo, pero similar en ejecución. Lo único que pretendía era crear imagenes resultonas, así que necesitaba un método mucho más fácil y rápido, no quería meterme en berenjenales complicados dentro de Houdini.

Creo que Cinema 4D combinado con Maya es la opción más simple y rápida que he encontrado hasta el momento.

Si alguien puede indicarme como enfocar esta técnica en Modo o Softimage se lo agradecería.

  • En Cinema 4D crea un plano con muchas subdivisiones. Cada una de estas subdivisiones generará un cubo. En este caso estoy utilizando un plano de 1000cm x 1000cm con 500 subdivisiones.

  • Crea un nuevo material y asígnaselo al plano.
  • Selecciona el plano y vete a Simulate -> Hair objects -> Add hair.
  • Si haces zoom verás que un hair guide se generá por cada vertex del plano.
  • En las opciones del hair reduce los segments a 1 ya que no necesitamos subdivisiones, vamos a renderizar cubos completamente rectos.

  • Cambia el root a polygon center. Ahora los hair guides crecerán desde el centro de cada polygon en lugar desde cada vertex.

  • Desactiva la opcion render hair de la pestaña generate, ya que no vamos a renderizar hair si no geometría.

  • También cambia el type a square.

  • En este momento ya podemos ver cubos en lugar de hair guides, pero son demasiado finos.
  • Podemos controlar el grosor de los cubos utilizando el parámetro thickness del hair material. En este caso estoy utilizando 1.9cm
  • Lo siguiente sería darle variación a la altura. Para ilustrar esto, simplemente añade un procedural noise al parámetro length del hair material. Por supuesto, podemos animar este ruido para crear animaciones muy efectivas.

  • Elimina el ruido procedural por ahora. Queremos controlar la altura utilizando imágenes bitmap.

  • También puedes ocultar el hair system en viewport, para que sea más rapido ajustar las opciones.

  • En el material del plano vete a luminance y selecciona un bitmapAjusta el UV Mapping para posicionar el bitmap como necesites.

  • En el hair material, utiliza la misma imagen en el parámetro length.

  • Copia las mismas coordenadas UV que estas utilizando en el plano.

  • Añade un pixel effect a la textura y escribe el número de pixels basado en la resolución del plane. En este caso 500

  • Haz esto en ambos materiales, el plano y el hair. Ahora cada cubo estará mapeado con una porción de la imagen correspondiente a cada subdivisión del plano.

  • Muestra el hair system. Voilá, ya está.

  • Cuanto más contraste tenga tu imagen mucho mejor para obtener mejores resultados. Te recomiendo muy encarecidamente utilizar high dynamic range images, ya que el contrast ratio es muchísimo mayor que en low dynamic images, y por ende, tus resultados seran infinitamente mejores.
  • En este punto, puedes renderizar esto en Cinema 4D o simplemente exportarlo a tu software 3D favorito y renderizarlo allí.
  • Para exportarlo como .obj por ejemplo, debes hacer el hair system editable.
  • Importa el hair system ya convertido en .obj en Maya por ejemplo. Trabaja allí tus shaders, luces y cámaras. Puedes utilizar la misma imagen que utilizaste para crear el hair system como diffuse texture, o controlar el color mediante procedurales, como bien precises.
  • En mi caso, he animado de forma rápida la translación del hair system, después he añadido motion blur y depth of field a la cámara para conseguir una imagen más dinámica.
  • En mi caso he querido mantener este ejemplo muy sencillito y solo he creado un pass beauty y un pass occlusion, pero por supuesto puedes renderizar tantos aov's como necesites.
  • Este ejemplo es muy sencillo, pero puedes crear un montón de efectos interesantes utilizando esta técnica y combinándola con tu experiencia.

Leer más