Acabo de terminar la grabación de la primera parte del tutorial "Lighting a full cg shot in Houdini".

En este primer episodio te mostraré todo lo que necesitas para convertir Houdini en un poderoso scene assembler, especialmente en lo relacionado con look-development. En futuros episodios te mostraré lo propio en lo relacionado a lighting y render.

En este episodio aprenderás a:

- Como organizar y preparar assets en Maya para ser utilizados en Houdini como scene assembler
- Buenas metodologías de uv mapping para producciones de vfx y cine de animación
- Como utilizar assets de forma correcta en Houdini
- Vistazo rápido a "speed texturing" en Substance Painter
- Como crear "digital assets" y presets en Houdini para reutilizar en tus proyectos
- Look-dev workflow en Houdini y Arnold

Toda la información en my Patreon.

Muchas gracias por tu apoyo,

Xuan.

Desde hace unos años, utilizamos Cryptomatte para crear todo tipo de IDs, mattes, etc. Sin duda, la mejor y más eficaz forma de realizar este tipo de máscaras. Pero en ocasiones, debido a ciertas limitaciones que nos podemos encontrar en nuestra producción, no nos queda otra que recurrir a IDs de "toda la vida".

En este video te muestro como realizar un setup de IDs basado en custom AOVs.

En este post vamos a ver como crear variaciones de color y texturas de diferentes formas utilizando Arnold render. La idea principal, es dotar a varios assets, ya bien sean geometría, aiStandins, partículas, scatterers o cualquier otro tipo de multitudes, de variaciones de look, utilizando solamente un shader.

Vamos a mostrar cuatro formas diferentes de realizar esta tarea, cada una de ellas puede aplicarse en función de las necesidades particulares que cada uno pueda tener en su pipeline de producción.

Diferentes colores definidos para diferentes objetos

  • Esta es la escena que vamos a utilizar para todos los ejercicios. Ocho cabezas de una figura de Lego. El objetivo, es utilizar un solo shader y que cada cabeza tenga un color o una textura diferente.
  • Si lanzamos un render, este es el aspecto actual. Un shader sencillo con un color amarillo en el base color y en el sss color.
  • Crea un aiUserDataColor y conectalo tanto al base color como al sss color.
  • En sus parámetros escribe color en el campo attribute.
  • Selecciona el shape de cada objeto, y añade un attribute.
    • nombre: mota_constant_color
    • data type: vector
  • Si ahora vas a los extra attributes, puedes utilizar el color que quieras mediante valores RGB.
  • En este render sólamente he definido un color rojo para uno de los objetos.
  • En este render he definido colores RGB para cada uno de los objetos de la escena.
 

Colores completamente aleatorios y/o texturas definidas de forma aleatoria

  • Al igual que en el ejemplo anterior, tengo el mismo shader, con sss. Además, tengo un mapa de displacement conectado.
  • Lo que pretendemos es utilizar un color aleatorio para cada uno de los objetos, o en lugar de un color, una serie de texturas definidas asignadas de forma aleatoria.
  • En estos momentos este es el aspecto del render. Mismo shader con mismos parámetros para todos los objetos.
  • Crea un aiUtility y conéctalo al base color y al sss color.
  • Pon en shade mode como flat y el color mode como object id.
  • Estos settings nos proporcionarán un color aleatorio para cada objeto.
  • Si lanzamos un render este es el resultado.
  • Conecta un aiRandom después del aiUtility.
  • Pon el type como color.
  • Introduciendo diferentes valores en el seed, obtendremos diferentes colores.
  • Render utilizando un seed con valor 2
  • Conecta un aiColorToFloat después del aiRandom y pon el mode como sum.
  • Con este nodo convertiremos los valores de albedo en datos, de donde podremos extraer máscaras.
  • Crea un aiSwitch y conecta tantos inputs como texturas necesites.
  • Conecta el aiColorToFloat al index input del aiSwitch.
  • Este es el resultado del render.
  • Para obtener diferentes variaciones podemos conectar un aiColorCorrect después del aiRandom y tocando por ejemplo su exposición, alteraremos los valores de albedo y por lo tanto de las máscaras.
  • Tambien podemos utilizar un seed distinto para obtener mayor variación.
  • Otro render diferente aumentando la exposición del aiColorCorrect.
 

Una textura diferente definida para cada objeto utilizando un solo shader

  • Renombre todas las texturas utilizando el siguiente template.
  • Añade el siguiente attribute al texture file node
    • /Users/xuanprada/Desktop/arnold_variance/textures/<attr:head default:COL1_head_a>.tx
    • Añade un attribute al shape de cada objeto
      • nombre: mtoa_constant_head
      • data type: string
    • Si ahora vas a los extra attributes, puedes llamar a una textura diferente basándote en naming convention.
    • Render final.
     

    Lo mismo que en el caso anterior, pero basándonos en naming convention de shape

    • Renombra las texturas basandote en el siguiente template
      • COL1_head_a.tx
    • Añade el siguiente tag al nombre del file texture node
      • /Users/xuanprada/Desktop/arnold_variance/textures/COL1_<shapeName>.tx
    • Los shapes de cada objeto han de ser renombrados utilizando la siguiente nomenclatura.
    • Render final

    Si eres usuario de elephant vfx pro, puedes descargarte las escenas utilizadas en este tutorial.

    Aquí os dejo un video de alrededor de 1 hora, donde explico de forma breve y a modo de introducción como utilizar el node graph de Mari 4.
    Los texture artists generalmente combinan Mari y Nuke para trabajar sus texturas, gracias a la introducción del node graph dese Mari 3, cada vez dependemos menos de Nuke. Por otro lado, las líneas que separan a los texture artists de los look-dev TD's cada vez está más difuminada, y es cada día más común que un mismo profesional se pueda ocupar de ambas tareas, al menos, en assets no demasiado complejos.

    Además, estamos trabajando en un nuevo curso "Estrategias de texturizado y look-development para entornos" donde utilizaremos exclusivamente el node graph de Mari 4 combinado con Substance Painter y Maya, así que esta breve introducción pretende poneros en contexto para lo que vendrá en un futuro.

    Lo dicho, aquí os dejo con casi 1 hora de introducción al node graph de Mari.

    Imágenes pertenecientes al curso "Estrategias de texturizado y look-dev para entornos",