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

Requerimientos:

  • 3D Max
  • Soulbourn scripts
  • Warp texture script
  • Good UV mapping

Antes de empezar, asegúrate de que todos tus assets tienen un UV mapping perfecto, sin distorsiones ni overlappings.

 

Para obtener mejores resultados, es necesario tener una buena resolución en cuanto a geometría se refiere, especialmente en los bordes y esquinas.

No es necesario subdividir el asset original, basta con duplicarlo de forma temporal y subdividirlo, posteriormente, podremos borrarlo. 
Antes de subdividirlo, es buena idea añadir un bevel en los bordes.

Todos los objetos deben ser editable poly para que el script funcione. 
Con el objeto seleccionado, ejecutamos el script corner edge to vertex map.

 

Para obtener unos buenos resultados, tenemos que jugar con los parámetros low and high angle, especialmente reduciendo la intensidad de low angle cuanta más geometría tenga el asset.

El siguiente paso, es distorsionar la máscara generada mediante vertex color, de esta forma crearemos una máscara un poco mas irregular y realista. 
Para ello, utilizaremos el script warp texture.

En un shader standard conectamos el warp texture al canal diffuse.
En el slot target conectamos un vertex color. 3D Max ponde por defecto el vertex color que hemos generado previamente utilizando el script corner edge to vertex
 

En el slot warp conectamos un noise procedural cuyos parámetros dependerán del tamaño de la escena y del asset

Si renderizamos en este momento, el resultado es decente, pero debemos definir mejor la apariencia de la máscara. 

Si ponemos un output en el vertex channel, podemos enfatizar el resultado de la máscara, tocando la curva.

También podemos jugar con el output del noise

Finalmente podemos jugar con el warp amount para que la máscara sea aún más irregular. 

En este punto, lo más inteligente es hacer un bake de la máscara, e utilizarla en Photoshop o cualquier otro software. 

Render final de la máscara y render de ejemplo. mezclando un par de shaders.

Posted
AuthorXuan Prada

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 Noviembre del 2010 en el blog de Xuan Prada.

Este shader es completamente procedural, muy fácil de configurar y rápido de renderizar.
Es muy básico, pero puede dotar a los props y escenarios de una mayor riqueza, para que no parezcan tan aburridos, metiéndoles una ligera capa de polvo en su superficie.
Muy útil para localizaciones donde hay muebles viejos, cosas almacenadas, etc.

Propongo dos métodos diferentes de conseguir el mismo efecto.

  1. La versión Dust_material_vray_v001 es más completa y más real, pero el tiempo de render es mayor.
  2. La versión Dust_material_vray_v002 tiene un tiempo de render menor, pero es menos real y menos atractiva visualmente.

De todas formas conviene conocer la construcción de las dos variantes, ya que en muchas ocasiones necesitamos hacer versiones de alta calidad y baja calidad de los shaders, en función de la distancia a cámara de los objetos que los utilicen, o por cualquier otro motivo de producción.

  • Dust_material_vray_v001

El material se compone de un blend que mezcla dos shaders a través de una máscara.

 

El primer shader es el del objeto que estemos texturizando. En este caso lo he llamado Teapot y es un simple shader con reflexión similar al plástico. Podría ser tan complejo como el objeto requiriese.

 

El segundo shader corresponde al polvo y lo he llamado Dust. Es un shader básico sin ningún tipo de reflexión ni brillo specular, ya que las zonas que están cubiertas de polvo deberían de tapar la superficie del objeto y ser prácticamente mates.

También podemos añadir un ligero noise como bump para simular la rugosidad creada por el polvo.

La máscara es un falloff del tipo towards/away y en dirección vertical (en el caso de 3D Max, en el eje Z).

Jugando con la Mix-curve controlamos la apariencia de la mezcla.

 

En el color blanco del falloff añadimos un noise para simular la variación granulada del polvo.

 

La mejor forma de ajustar el material, es ir probando cada shader y cada parámetro por separado.

 

Tetera con el shader original.

Tetera con el shader de polvo.

Máscara que controla la mezcla del shader original y el shader de polvo. 

Resultado final. 

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