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

  • Selecciona el objeto que quieres bakear su información de shading.
  • Vete a lighting&shading -> bake (Render Man).
  • Selecciona los elementos que quieres bakear y las opciones de render.
  • Y ya está, tus bakes estarán ubicados aquí: project/renderman/sceneName/bakedMaps/

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.

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. 
6192878037_83ebcb79cf_o.jpg

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

Una de las prácticas mas útiles cuando hablamos de texturizado, es pasar la información de texturas de un UV set a otro mediante bakes

Este caso se puede dar por diferentes razones, una de ellas por ejemplo, puede ser porque necesitemos crear texturas de más resolución para un mismo asset.

Pongo un ejemplo:
Imagina un personaje cuyas UVs para su cabeza ocupan un cuadrante entero. Pero posteriormente en un plano de la película, la cámara hace un plano detalle de la nariz del personaje. Es muy probable que necesites rehacer las UVs sólo de la nariz, escalarlas y pintar una textura con mas detalle.
En este punto, puedes transferir las texturas originales del UV mapping original, a la nueva nariz con otro UV mapping distinto, y a partir de ahí seguir añadiendo detalle. 

Otro ejemplo:
Imagina que tienes un oso polar, el cual tiene un UV mapping formado por 20 UDIMs para sus texturas de piel.
Cuando hayas terminado las texturas de piel, es muy probable que necesites crear otro UV set con solo un UDIM para el pelo. Bien, puedes hacer un bake de las 20 texturas de piel para convertir toda esa información en una sola textura de 1 UDIM que servirá como información de color para el pelo.

  • Empieza chequeando el UV mapping original de tu asset.
    En este caso utilizo 6 UDIMS en el UV set 1.
  • En el UV set 2 sólo tengo 1 UDIM
  • Aplica tus texturas y shaders
  • En este ejemplo estoy utilizando 6 shaders diferentes con 6 texturas diferentes. 
  • Si utilizas la herramienta Batch Bake de Mental Ray, ta darás cuenta de que los mapas resultantes son completamente negros. No se realmente la causa de esto, quizá sea un bug? Si alguien sabe la causa que me lo diga por favor! 
  • De momento la única forma que he encontrado para solucionar esto, es utilizando la herramienta nativa de Maya. 
  • Puedes encontrarla en el menú Lighting/Shading -> Transfer maps. 
  • Duplica el asset y renómbralo. Llama source al original y target al duplicado. 
  • Seleccionar el target y su UV set
  • Selecciona el source
  • Selecciona el mapa que deseas hacer bake. (probablemente sea el diffuse). 
  • Selecciona la ruta de salida para tus imágenes. 
  • Selecciona la resolución de las texturas. 
  • Click en bake. 
  • Listo, tus texturas originales mapeadas en 6 UDIMS están ahora perfectamente bakeadas en 1 solo UDIM

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. 
Posted
AuthorXuan Prada

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

Cuando comenzamos la tarea de texturizado de cualquier asset, especialmente aquellos que forma parte de entornos, como bien pueden ser edificios, objetos o vehículos, uno de los primeros pasos que solemos hacer tras el UV mapping, es el bake de algunos shaders o texturas procedurales.

Estos bakes, no son otra cosa que pasar la información de un shader o textura procedural al espacio de UV del objeto que estamos texturizando.  De esta forma, podemos abrirlo en Photoshop o cualquier otro software y utilizarlo como punto de partida para crear nuestrar texturas.

Uno de los mapas mas comunes utilizados con esta técnica, es el mapa de suciedad o dirtmap. Para ello utilizamos un shader de ambient occlusion, que como sabéis ocluye las zonas de contacto entre geometrías, poniendo color negro donde hay contacto o cercanía y color blanco donde no la hay.

Esta es una forma lógica de crear suciedad, ya que por norma general, la suciedad tiende a acumularse en aquellas zonas donde hay contacto o cercanía entre objetos, como en los rincones, esquinas, en la zona de contacto entre un armario y una pared, etc. 

Con el paso del tiempo, me he dado cuenta de que los mapas de ambient occlusion pueden resultar un poco aburridos, o simplemente ficticios, ya que son demasiado perfectos, y en la vida real, la suciedad tiende a seguir diferentes patrones. Así que una sencilla forma de crear mapas de suciedad mas reales o creibles, puede ser mezclando el ambient occlusion con otros shaders procedurales o texturas de bitmap. De esta forma, conseguimos que la suciedad se distribuya de una forma un poco mas aleatoria, creando un efecto más natural y orgánico.

Estos son los pasos necesarios para crear dirtmaps mejorados.

  • Partiendo de un shader tipo constant o cualquier otro que no le afecte la iluminación mezclamos mediante un mix2colors, blendColors o Mixer.
  •  En en canal 1 de la mezcla utilizamos un mapa. Puede ser prodecural o bitmap. En este ejemplo estoy utilizando un bitmap previamente “tileado”.
  • En el canal 2 de la mezcla utilizamos un color blanco.
  • En el canal de máscara de la mezcla utilizamos un ambient occlusion previamente configurado.

 

Con esto conseguimos que el mapa de bits o procedural esté enmascarado por el ambient occlusion, creando suciedad en las zonas lógicas y menos expuestas, pero con la variación dada por el mapa.

Las claves para obtener buenos dirtmaps base, son la configuración del ambient occlusion y la trama del mapa de bits o procedural.

Por supuesto, esto es solo el punto de partida, después toca llevarse el mapa a Photoshop u otra herramienta y pintar a mano.

 

 

 

Esta es la escena de ejemplo.
Una simple estructura apoyada en un suelo.

Render del ambient occlusion.

Render del ambient occlusion mezclado con un mapa de bits.
El resultado es mas natural y realista.

Textura de mapa de bits utilizada para la mezcla del ambient occlusion. 

Hypershade en Maya mostrando como preparar el shader.

Render tree en Softimage mostrando como preparar el shader.

Editor de materiales en 3D Max mostrando como preparar el shader.
Parte 1 de 2

Editor de materiales en 3D Max mostrando como preparar el shader.
Parte 2 de 2