reel Xuan Prada reel Xuan Prada

Lego

Sigo con mi transición a Modo. Ya asumidos los conceptos básicos del software, y ya asimiladas las técnicas más básicas que utilizo en Softimage o Maya, era hora de realizar una pequeña imagen para poner todo eso en práctica.

Elegí un tema sencillo, que me permitiese acabar la imagen en una tarde. Después de ver The Lego Movie, donde trabajaron unos cuantos ex-compañeros de mi etapa en Happy Feet, decidí realizar la imagen basada en las premisas de la película.

El modelo es muy sencillo, perfecto para probar las herramientas de modelado poligonal de Modo.
Solo he utilizado extrusiones, bevel y poco más. Trabajar con el work plane de Modo es muy cómodo.

Model checker.

Las herramientas de Modo para UV Mapping son muy buenas y rápidas. La atlas projection y unwrap son probablemente las que más voy a utilizar. En este caso, como el modelo es muy sencillo, solo he utilizado unwrap.
Debido a la sencillez del modelo, con un UDIM tengo más que suficiente.

UV Mapping.

Para texturizar el personaje utilicé Mari. Podría haber utilizado el modulo de pintura de Modo, ya que tanto el modelo como las texturas son muy sencillos. Pero lo cierto es que siempre utilizo Mari, así que no había razón de peso para hacer lo contrario.

Tres texture channels son suficientes para este personaje. Un mapa de color, un mapa de specular y dos mapas de bump, uno con ruido para el plástico y otro con pequeñas imperfecciones. Todos los mapas son de resolucion 8k 16bits formato .tiff sRGB y scalar respectivamente.

Mari screenshot.

Para trabajar el look del personaje simplemente utilicé un light-rig basado en Image Based Lighting, con un HDRI neutro, sin mucha luz directa, solo la suficiente para crear contraste y sombras. Trabajando siempre mediante Linear Workflow.

En cuanto al look en si mismo, solo utilicé un shader, sin capas ni nada. Con un poco de reflexión derivada del mapa specular, y aunque este tipo de personaje hubiese requerido sub surface scattering, no lo utilicé. Seguramente en la imagen final que tenía en mente no se hubiese apreciado y los tiempos de render hubiesen sido mas lentos.

Look-development.

Look-development close up.

Para el suelo, utilicé un simple plano esculpido en Zbrush creando la sensación de desierto. Con algunas dunas y ruido procedural para simular la arena.

Screenshot en Zbrush.

Mapa de desplazamiento.

Hice unas cuantas pruebas en Modo para ajustar el mapa de Zbrush. Finalmente creo que ya he dado con la tecla para hacer funcionar este tipo de mapas a la perfección. En cuanto tenga tiempo publicare un post con el proceso.

Render test del mapa de desplazamiento en Modo.

Para crear el tiro de cámara, utilicé un focal de 50mm y proxys de personajes y suelo para hacer un blocking de lensing y lighting.

BLocking de lensing y lighting.

Finalmente sustituí los proxys por los assets finales.
Para iluminar, utilice un HDRI fotografiado por mi mismo, el cual me generaba la iluminación atmosférica y reflexiones que necesitaba, pero no conseguía la sombra que buscaba.
Buscaba una sombra dura, muy marcada, ya que quería simular una luz directa de una lampara de mesa. (a fin de cuentas, estoy iluminando una maqueta).

Así que borré el sol del HDRI y situé una luz 3D justo detrás de los personajes.

En cuanto a render passes o aov's, no los utilicé. Debido a la simpleza de la imagen no me hacía falta. Solo rendericé un matte id para poder controlar a los personajes y al suelo por separado.

Matte id.

Render final.

Finalmente, procesé la imagen para presentarla en blanco y negro, que es como la concebí desde un principio.

Imagen final.

Leer más

Multi UDIM workflow en Modo

Segunda entrada con tips sobre mi método de trabajo en Modo (el cual estoy aprendiendo a marchas forzadas).
Trabajar con multi UDIM es algo básico, del día a día. Me ha resultado un tanto tedioso hacer el setup en Modo, por aquello del shader tree, que no me gusta demasiado (muy lento).

Me resulta extraño que no haya un automatismo para exportar desde Mari (para Maya si lo hay) ya que tanto Mari como Modo pertenecen a la misma compañia.

  • Chequeamos texturas e UDIMs en Mari.
  • Chequeamos el asset y UVs en Modo.
  • Cargamos las texturas en el image manager de Modo.
  • Creamos un nuevo material para el asset.
  • Añadimos cada una de las texturas correspondientes a cada UDIM como texture layers. Hay que añadirlas en orden descendente. Repetir para cada channel que se necesite.
  • En el texture locator de cada textura hay que cambiar el Horizontal Repeat y Vertical Repeat a Reset. (Esto es el equivalente a wrap texture de Softimage o Maya). También hay que hacer el offset de cada una de las texturas, que funciona en negativo hacia la derecha y arriba y positivo hacia la izquierda y abajo (al contrario que Softimage o Maya).
  • Y con esto ya está, multi UDIM funcionando a la perfección. Haz un test rápido para ver so todo esta en su sitio.
Leer más
texturing, shading, tutoriales gratuitos Xuan Prada texturing, shading, tutoriales gratuitos Xuan Prada

Linear Workflow: Ejemplo práctico

Si buscas a lo largo y ancho de los posts que he escrito en este blog, encontrarás varias entradas sobre trabajo "Linear Workflow" en las diferentes aplicaciones que utilizo en mi día a día.
A raíz de una pregunta que me han hecho en twitter, aprovecho para dejar un ejemplo muy sencillo y directo, que espero sirva como medida aclaratoria.

Pregunta: Hola @xuanprada , ¿Una textura PTEX 16bit float necesita corrección de gamma en un workflow linear? Muchísimas gracias!!

Respuesta: No. Si es float image 1.0 ya viene linearizada.

Una imagen vale mas que mil palabras, así que aquí dejo algunos ejemplos gráficos.
Si los inputs son imágenes floating point (hdr, exr, 16bit, 32bit, etc) no hace falta corregirles el gamma. Si los inputs son imagenes sRGB con corrección de gamma "bakeada" si hace falta corregirles el gamma en shading, para que no se le aplique la misma información dos veces.

  • Sirva este diagrama como ejemplo.
  • En este sencillo ejemplo, tengo en Nuke la misma imagen en dos nodos diferentes. La imagen original es un .hdr 32bit floating point. He hecho un crop y la he salvado a dos archivos diferentes, uno 32bit .exr (linear) y otro 8bit .tif (sRGB).
  • Ambas las visualizamos en un espacio de color sRGB gamma 2.2 y se ven exactamente igual.
  • Cargo las dos imágenes en Maya, utilizando dos shaders diferentes de VRay.
  • Si aplico cada uno de los shaders a dos planos diferentes y lanzo un render obtengo lo siguiente: La textura linear (1.0) funciona bien, y la textura sRGB (2.2) no. ¿Porqué? Pues porque la textura sRGB tiene una doble corrección de gamma, la propia "bakeada" mas la que le aplica tu monitor (sRGB 2.2)
  • Para que la textura sRGB se vea como debería verse, es necesario corregirle el gamma. Para ello hay que utilizar un nodo gamma correction con valor 4.55 (1/2.2)
  • Si renderizamos de nuevo, todo funciona correctamente.
Leer más

Migrando a Modo

Ya todos sabéis que Autodesk ha anunciado oficialmente que dejará de desarrollar Softimage, el que es hasta la fecha mi software 3D favorito.
Mirando al futuro, y pensando en utilizar otro software para mis trabajos personales, proyectos freelance o simplemente para probar cosas nuevas, he decidido instalarme una versión de prueba de Modo.

Las razones por las que he escogido Modo son simples y superficiales.

  • Es un software moderno, entre comillas, joven y con mucho margen de desarrollo.
  • Se adapta bien a mis tareas más comunes, modelado, pintado de texturas, look-dev y lighting.
  • Es desarrollado por The Foundry, una compañía que conozco a la perfección, en la que confío y de la que soy cliente desde hace tiempo.

Dicho esto, voy a empezar a escribir en este blog algunos trucos y diferentes formas de hacer las cosas en Modo. Serán simples entradas, cortas, con recordatorios de como hacer las cosas, especialmente destinado a usuarios de Softimage o Maya, que desarrollan su actividad en proyectos de VFX.

No mantendré un orden o estructura determinados, simplemente escribiré a medida que vaya necesitando utilizar las herramientas del software. Si eres usuario habitual de Modo y tienes alguna idea o sugerencias que añadir a mi workflow, por favor, no dudes en comentarlo.
Empiezo con un par de tips.

Herramientas para UV Mapping

Sin entrar a valorar todas y cada una de las herramientas y opciones que ofrece Modo para UV Mapping, voy a atreverme a decir que me gustan más que las de Softimage, Maya o 3D Max, que son los software 3D con los que he trabajado profesionalmente en el pasado.

Sólo voy a recalcar dos herramientas que sin duda, son las dos que yo particularmente voy a utilizar asiduamente.

  • UV Projection tool -> Projection Type Atlas: Esta proyección separa las caras de los polígonos en función de la mejor alineación posible, y además, mantiene la escala global de los mismos. No están conectadas entre si, pero en muchos casos esto no será un problema. Yo lo utilizaré muchísimo por ejemplo, para crear las UVs de entornos basados en LIDAR scanns para proyectar HDRIs.
  • Unwrap tool: Funciona como cualquier unwrap de cualquier software 3D. Si has trabajado con Unfold o UV Layout ya estarás acostumbrado a utilizar esta herramienta. A falta de probarla con assets complejos, diría que funciona muy bien.

Preparar el editor de UVs para multi UDIM

Por defecto Modo presenta solo un cuadrante en el editor de UVs. Cualquier asset en un pipeline de VFX será texturizado utilizando multi UDIMs. Cambiando un par de opciones puedes configurar el editor de UVs para este propósito.

  • Por defecto, este es el editor de UVs.
  • Haz click en el icono de opciones en el visor. Arriba a la derecha.
  • Utiliza las siguientes opciones.
  • Así se queda el editor, listo para multi UDIMs.

Corrección de gamma de texturas RGB

Como sabes en un pipeline Linear Workflow es necesario corregir las texturas RGB que utilices en tus shaders, por defecto se ven un tanto lavadas, y por lo tanto necesitas corregirlas para funcionar en gamma 2.2

  • Por defecto Modo funciona con gamma 1.0 lo que es correcto para texturas lineares o floating point. Pero no es correcto para texturas de tres canales como RGB. Si haces un render las texturas se ven lavadas.
  • Si necesitas corregirlas para trabajar en gamma 2.2 (divide 1/2.2=0.454545) simplemente en las propiedades de la textura cambia el valor en el Gamma input.
  • No he encontrado como decirle a Modo que corrija el gamma automáticamente en función del tipo de textura utilizada. Si sabes como hacerlo, por favor dímelo. Gracias :)

Render output lineal

Otro de los pasos necesarios para trabajar de forma lineal, es renderizar en formato .exr floating point sin ningún tipo de color profile "bakeado" en el render.
Por defecto Modo muestra los renders en gamma 2.2 que es correcto, pero escribe los renders también con gamma 2.2 que no sería correcto para trabajar de forma lineal.

Para cambiar el output a gamma 1.0 o lineal sigue los siguientes pasos.

  • En las preferencias de Modo puedes cambiar el gamma display y el output gamma.
  • También puedes cambiar el output gamma en el Final Color Output, en las propiedades de render.
  • Si chequeas ambos renders (gamma 2.2 y gama 1.0) comprobarás que el que no has lanzado como lineal tiene el gamma bakeado y por lo tanto es incorrecto. Siempre puedes leerlo en Nuke como sRGB y corregirlo con un gamma node.
Leer más