Multi UDIM en Maya (Mari to Maya)
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.
Falsear SSS en Softimage
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.
Normal maps en Softimage
Este post es una traducción del original escrito en Septiembre del 2011 en el blog de Xuan Prada.
Si, ya lo se, trabajar con normal maps en Softimage puede ser algo tedioso algunas veces, especialmente si has trabajado en 3D Max con la opcion normal map + bump map.
Os dejo aquí abajo el método que yo he ido utilizando en Softimage para mezclar normal maps con bump maps, y como norma general, me ha funcionado bien a lo largo de los años. Espero que os ayude con vuestros assets.
- Personalmente prefiero generar los normal maps dentro de Softimage, en lugar de en otros software externos como Zbrush o Mudbox. He realizado muchas pruebas y los resultados siempre son mejores cuando los mapas se generan y se renderizan dentro de Softimage.
- Para ello, importa en Softimage tu modelo high poly y low poly . No te preocupes, Softimage puede importar fácilmente modelos de Zbrush con mucho detalle.
- Con las dos geometrías en la escena, asegúrate de que ambas están perfectamente alineadas.
- Chequea el UV mapping de la geometría low poly.
- Con la geometría low poly seleccionada, abre la herramienta ultimapper.
Las opciones más importantes son:
- Source: Selecciona tu geometría high poly.
- Path: Este es el directorio donde se ubicarán tus normal maps.
- Prefix: Puedes escribir un prefijo para tus texturas.
- Type: Elige el formato de imagen.
- Normal in tangent space: El tipo de normal map mas común.
- Resolución: Tamaño de texturas.
- Quality: Medium es suficiente, si utilizas high los tiempos de bake serán muy altos.
- Distance to surface: Click en compute para generar este parámetro.
- Click en generate y Softimage se tomará un tiempo para generar los normal maps.
- El normal map está listo.
- Oculta la geometría high poly, ya no la necesitamos más.
- Aplica un shader de Mental Ray a la geometría.
- Utiliza un normal map conectado al bump map input de tu shader.
- Elige la textura de normal map generada previamente.
- Selecciona las UVs correctas.
- Selecciona tangents mode.
- Deselecciona unbiased tangents.
- Si en este momento hacer un render, obtendrás algo similar a esto.
- El siguiente paso es combinar este normal map con un bump map, para añadir detalle fino.
- Voy a utilizar esta textura como bump.
- Antes de nada, conviene testear el bump por si solo, sin la información de normal map.
- Para ello, utiliza un bump map generator conectado al bump map input.
- Este es el shader final combinando el normal map y el bump map. Más abajo explico todo.
- El primer bump map generator tiene dos inputs, color matte, el cual es un color blanco puro y el normal map, con las opciones comentadas anteriormente.
- Asegurate de seleccionar relative to input normal en las opciones de normal del bump map generator.
- El segundo bump map generator, es tu textura de bump donde puedes controlar la intensidad incrementando o disminuyendo el factor value.
- El nodo vector math vector, te permite combinar ambos bump map generators.
- Conecta el primer bump map generator al primer input y el segundo bump map generator, al segundo input.
- En operation selecciona vector input 1 + vector input 2.
- Y aquí el render final.
Ambient occlusion invertido en 3D Max
Este post es una traducción del original escrito en Enero del 2011 en el blog de Xuan Prada.
A raíz de mi post sobre la utilización del ambient occlusion invertido en Maya, mucha gente me ha escrito pidiéndome un tutorial paso a paso sobre como conseguir el mismo efecto en 3D Max.
Instalación
- Descarga los Binary Alchemy shaders para 3D Max.
- Copia los archivos ".dll" aquí “3ds Max 2010\mentalray\shaders_3rdparty\shaders”.
- Copia los archivos ".mi" aquí “3ds Max 2010\mentalray\shaders_3rdparty\include” .
- Edita el archivo “3rdparty.mi” localizado aquí "3ds Max 2010\mentalray\shaders_3rdparty".
- Tu archivo "3rdparty.mi" debería ser algo similar a esto.
3rdparty.mi modificado.
Utilización
- Crea un matte/shadow shader y desactiva "receive shadows" y "use ambient occlusion".
- En el slot “camera mapped background” conecta el shader “BA_color_raylength”.
- Juega con el spread y far output para controlar la apariencia del ambient occlusion.
- Una vez renderizado, deberías obtener un resultado similar a este.
- Mezcla el “BA_color_raylength” con otros mapas procedurales o mapas de bits para obtener un resultado más realista.
"Black holes" con contribución al FG
Este post es una traducción del original escrito en Enero del 2011 en el blog de Xuan Prada.
Los black holes son un elemento imprescindible en la iluminación y composición 3D, tanto en animación como en VFX, pero black holes, que contribuyen con informacion luminica de rebote, ya son lo más!
- Selecciona el asset que necesitas que se comporte como black hole.
- Aplícale un Mental Ray Production Shader llamado mip_raysitch_advanced.
- En el canal eye conectamos un Surface shader con el parámetro Out Matte Opacity completamente negro.
- En el slot para el Final Gather conecta el shader original que debería tener tu asset. En este caso, un simple Lambert rojo.
Alpha channel.
Render final.
Ambient occlusion invertido
Este post es una traducción del original escrito en Enero del 2011 en el blog de Xuan Prada.
En ocasiones, es muy útil generar ambient occlusion invertidos, para conseguir un interesante punto de partida a la hora de pintar nuestros mapas de suciedad.
El shader Vray dirt es perfecto para este propósito, pero, si no trabajas con Vray, es muy sencillo conseguir el mismo resultado utilizando Mental Ray y los shaders Binary Alchemy.
- Antes de todo, necesitamos instalar los shaders Binary Alchemy. Algunos paquetes son gratuitos y otros son de pago.
- Asigna un Surface shader a tu asset y conecta el shader BA_color_raylength al canal diffuse.
- Cambia el tipo de rayo a Inverted Normal.
Si renderizamos en este punto, obtendremos un ambient occlusion invertido.
- Podemos combinar este shader con cualquier otro shader procedural o mapa de bits, para crear una máscara más irregular, interesante y por lo tanto realista. Un blend to colors o layered shader sería más que suficiente.
- Cuando el resultado sea de nuestro agrado, podemos hacer un bake del shader resultante para llevarnos las texturas a Photoshop o cualquier otro software.