Este post es una traducción del original escrito en Mayo del 2012 en el blog de Xuan Prada.

Estoy empezando un nuevo trabajo con Vray, y lo cierto es que nunca he trabajado de forma profesional con este motor de render. Así que empecemos por el principio.

Siempre que empiezo un trabajo de texturizado y look-development lo primero que hago es preparar una escena para tal fin. Un light-rig neutro, con información lumínica tomada en el set mediante HDRI o si estamos hablando de animación, un set up similar pero creado desde cero en 3D.

Todo eso, por supuesto, en linear workflow, así que vamos a ver como configurarlo para funcionar correctamente con Vray.

  • Empieza por poner el gamma a 2.2
  • Activa don't affect colors si quieres hacer un bake del gamma correction en el render final. Si no, simplemente tendrás que corregirlo en post. No es algo grave.
  • La opción linear workflow déjala desactivada, es una opción creada por Chaos Group para arreglar escenas antiguas de Vray. No nos interesa.
  • Activa affect swatches para ver los campos de selección de color con el gamma aplicado.
  • Una vez tienes configuradas las opciones de render, lo siguiente es corregir el gamma de las texturas. Tienes dos opciones para hacer esto.
  • Añadir un gamma correction a cada textura de color. En este caso la inversa de 2.2 es 0.455
  • La segunda opción es en lugar de corregir cada textura de color, añadir un vray attribute texture input gamma a cada nodo de textura para controlar esto.
  • En el V-ray frame buffer activa el visor sRGB, si no tus renders se verán en un espacio de color equivocado.

Este post es una traducción del original escrito en Abril del 2012 en el blog de Xuan Prada.

Probablemente te hayas topado con resultados inesperados cuando has tratado de renderizar utilizando Physical Sun/Sky en Maya o cualquier otro software 3D con Mental Ray y combinarlo con un Linear Workflow.

Aquí abajo te dejo un tutorial paso a paso sobre como debes configurarlo todo para que tanto la iluminación, como shaders y texturas, se rendericen de forma adecuada.

  • Antes de nada, activa Mental Ray como motor de render para tu escena.
  • En la pestaña indirect ilumination, bajo las opciones de environment, crea un sistema physical sun and sky.
  • Activa final gather.
  • Por el momento debería de ser suficiente con seleccionar el preset preview final gather. Para hacer pruebas es suficientemente bueno y rápido.
  • Al crear el sistema physical sun and sky, automáticamente se ha añadido a la cámara un lens shader llamado mia_exposure_simple.
  • Comprueba que el gamma es 2.2
  • Si en este momento lanzas un render, todo parecerá estar sobre expuesto, o lavado.
  • Necesitamos añadir un nodo gamma correction después de cada nodo de textura, incluso con texturas procedurales con información de color o colores planos.
  • Para ello, simplemente conecta tu textura al input value del gamma correction. Y después el gamma correction al canal de diffuse de tu shader.
  • Como valor del gamma correction utiliza 0.455
  • Este valor sale de dividir 1/2.2=0.455 donde 2.2 es el gamma correction para dispositivos sRGB.
  • Lo que hemos hecho sirve para hacer una corrección inversa del gamma y que las texturas se vean como deben de verse.
  • Si renderizamos en este momento, todo debería de verse bien.
  • Para hacer un render final, no olvides de poner el gamma del mia_exposure_simple a 1 ya que si no estaríamos haciendo una doble corrección de gamma.
  • Puedes ajustar tus opciones de final gather para el render final.
  • En las opciones de framebuffer, comprueba que el gamma sea 1, el data type RGBA y el colorclip RAW.
  • Renderiza utilizando openEXR y tus archivos estarán listos para ser compuestos en cualquier software que trabaje con archivos lineales de alto rango dinámico, como Nuke.
  • Dos configuraciones distintas de physical sky and sun.

Este post es una traducción del original escrito en Febrero del 2012 en el blog de Xuan Prada.

Si, ya se que hacer funcionar las texturas exportadas de Mari en Maya puede ser un poco lioso, especialmente si nunca has trabajado antes con múltiples UDIMs.

He escrito aquí abajo un pequeño tutorial paso a paso, sobre como preparar tus shaders y texturas para leer los mapas de Mari.
Para este ejemplo, voy a utilizar el herrero que viene con Mari, creado por The Foundry, el cual tienen 40 UDIMs de 4k de resolución cada uno. Podría ser un buen ejemplo de producción.

  • Antes de nada, chequea el modelo, las UVs y las texturas.
  • Exporta todas tus texturas desde Mari.
  • Para ello, click derecho en el canal (channel) que desas exportar.
  • Utiliza el naming convention que se adapte a tu pipeline. En mi caso utilizo: "COMPONENT_UDIM.tif COL_1001.tif"
  • Chequea tu directorio de salida para comprobar que todos los UDIMs han sido exportados.
  • Importa tu asset en Maya y comprueba el UV mapping.
  • Es importante conocer como Maya llama a cada UDIM para poder hacer un offset de cada textura y que Maya sepa que textura debe renderizar para cada UDIM.
  • El UDIM por defecto, el que llevas utilizando toda tu vida, corresponde a las coordenadas 0-0. El siguiente a la derecha será 0-1, el siguiente 0-2 y así sucesivamente.
  • Importa la primera textura para el primer UDIM.
  • Renombra el nodo de textura a COL_1001 y el nodo de UV 2D placement a UDIM_1001.
  • Repite este proceso con todas las texturas y soportes UV de tu asset.
  • Selecciona todos los nodos de textura y abre el attribute spread sheet.
  • Pon el default color RGB a 0 (cero).
  • Selecciona todos los nodos 2D place texture y abre de nuevo el attribute spread sheet.
  • Desactiva wrap U y wrap V.
  • Utilizando los campos translate frame U y translate frame V escribe el offset necesario para todas tus texturas.
  • Utiliza la tabla de abajo como guía, las coordenadas son siempre las mismas.
  • Crea un nodo layered texture. Este nodo servirá para mezclar todos los mapas de textura.
  • Selecciona todos los nodos de textura en el Hypershade, desde un espacio vacío, pincha con el boton central del ratón y arrastra todos los nodos a la vez hacia el layered texture.
  • Esto creará una capa (layer) con cada mapa de textura.
  • Borra el default layer.
  • Establece el blend mode de cada capa a lightnen.
  • Conecta el layered texture al input deseado de tu shader.
  • Es buena idea chequear cada canal (channel) utilizando un surface shader, ya que no le afecta la iluminación y renderiza muy rápido. Es muy fácil encontrar errores utilizando este shader.
  • Una vez hayas terminado con el color, puedes seguir con el specular, bump y todos los demás canales necesarios.

Este post es una traducción del original escrito en Octubre del 2011 en el blog de Xuan Prada.

Sub Surface Scattering o SSS es un shader que funciona realmente bien, creando unos  resultados magníficos, cuando disponemos de un buen setup de iluminación. Pero en algunas ocasiones, puede ser un shader muy caro, especialmente si renderizamos con Mental Ray.

Dejo aquí abajo un par de técnicas que nos pueden ayudar a falsear el SSS para renderizar mucho mas rápido a costa de disminuir la calidad del shader.

  • Para este ejemplo estoy utilizando una escena muy sencilla. Solamente una luz principal (key light) en la izquierda, y una luz de relleno (fill light) en la derecha. También una luz de contorno (rim light) en la parte posterior.
  • Conecta un compound simpleSSS al input surface de tu material, y un SSS_lightmap al lightmap input del shader simpleSSS.
  • Puedes encontrar el SSS_lightmap en render tree -> user tools.
  • El SSS_lightmap va conectado al input lightmap de tu material.
  • Escribe la salida y la resolución de tu lightmap.
  • Lanza un render y chequea los tiempos.
  • Desconecta el nodo lightmap.
  • Renderiza de nuevo y comprueba los tiempos, estos deberían de haber mejorado.
  • Si realmente necesitas disminuir tus tiempos de render, y la calidad pasa a un segundo plano, puedes hacer un bake del SSS a textura, para utilizarla posteriormente en un shader constante.
  • Ahora puedes utilizar un shader más barato como blinn, phong o incluso constant e incluir tu textura bakeada.
  • Como podrás comprobar, los tiempos de render son muchísimo más rápidos.