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

  • Crea un nuevo proyecto en Mari.
  • Crea un nuevo canal (channel) llamado "base" y ajusta el tamaño, y espacio de color.
  • Click derecho encima del "base channel" para importar un mapa de bits como textura base.
  • El cubo debería de aparecer con la textura azul aplicada.
  • Crea un nuevo shader llamado "blueCube" y elige como texture el "baseChannel" que hemos creado anteriormente.
  • Crea un nuevo canal llamado "underPaint".
  • Ajusta tamaño y color space
  • Botón derecho en el canal "underPaint" e importa una textura de bits para utilizarla como base debajo de la pintura.
  • Puedes ir moviéndote entre canales para ver una textura u otra.
  • Crea otro canal llamado "underPaintMask" que será la máscara que revele la textura bajo la pintura.
  • Ajusta el tamaño y el color space
  • En este momento puedes pintar tu máscara en el canal "underPaintMask" o importar una que hayas creado anteriormente.
  • Puedes chequear la textura en viewport seleccionando el canal.
  • Selecciona el shader "blueCube" y haz click en "add a new shader module".
  • Selecciona "masked diffuse" de la lista. 
  • Como base texture selecciona el canal "underPaint".
  • Como máscara selecciona el canal "underPaintMask". 
  • Invierte la máscara. 
  • Puedes añadir tantas capas como necesites, solo tienes que crear previamente los canales con la información de color y con la información de máscara.
  • Para este ejemplo, vamos a añadir otra capa con óxido. 
  • Crea un nuevo canal llamado "rust". 
  • Ajusta tamaño y espacio de color. 
  • Importa un mapa de textura bitmap de óxido.
  • Crea un nuevo canal llamado "rustMask".
  • Ajusta tamaño y espacio de color

 

  • Vuelve a la pestaña "shaders" y selecciona el shader "blueCube".
  • Añade un nuevo "shader module"  "masked diffuse" de la lista.
  • Selecciona el canal "rust" como "base texture" y "rustMask" como "mask texture".
  • Invierte la máscara. 
  • Selecciona el canal "rustMask" y pinta en las zonas donde quieras tener óxido.
Posted
AuthorXuan Prada

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.

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