Issuu on Google+

Modelado 3D

Autor: Pedro Juan Sรกnchez Bermejo

[MUDBOX. EXTRACCIร“N DE MAPAS DE DESPLAZAMIENTO]


MUDBOX: Extraer Displacement Map Para conservar los detalles modelados y tener un modelo correcto para gestionar o animar, lo recomendable es extraer los Normal Maps o Displacement Map del modelo en alta resolución, para aplicarlo después a un modelo en baja resolución en el programa 3D usando Shaders. De esta forma, se consigue un modelo de baja poligonización con una resolución muy alta en render.

El mapeo de UVs (o UV mapping) se utiliza principalmente para pintar texturas y para extraer los distintos mapas posibles. Los modelos básicos que trae Mudbox ya vienen mapeados. Pero los modelos importados, no. Para chequear un mapa de UVs se puede utilizar una trama de damero. Deberá ser lo más homogénea posible. Cada uno de esos cuadrados debería tener aproximadamente el mismo tamaño. De esta forma se mejora la resolución de la textura.

Los Normal Maps:   

 

Son similares a los Bumps Simulan protuberancias y profundidad en el render. Los Bumps utilizan datos de escala en grises y los Normal Maps en RGB. Con lo que pueden simular profundidad en los ejes X, Y y Z (no sólo arriba y abajo como los Bumps). Su efecto de profundidad es más real. Ninguno de los dos cambia la geometría del modelo, sólo son visibles en el render, por lo que debe aplicarse sobre un modelo acabado. Consumen muy pocos recursos y se calculan rápidamente.

Los Displacement Maps:     

Cambian la geometría del modelo. Su deslazamiento es modulado por los datos de su escala de grises. Blanco, tiene volumen; Negro, sin volumen. Necesitan más recursos para ser procesados. Si una parte de la geometría protuberante está muy próxima a otra, Mudbox puede cruzar ambas superficies, produciendo lo que se conoce como “artefactos”. La única opción, es modelar el área problemática de forma diferente.

Mudbox_Extración_Displacemen_Map

1


Cómo extraer un Mapa de desplazamiento en Mudbox

En primer lugar, bajamos el nivel de nuestro modelo a 0 (con tecla AvPg.) y exportamos nuestro modelo de baja resolución como “OBJ”. Este archivo será la base low-resolution que abriremos en 3D Max y sobre el que aplicaremos el Displacement Map cuando esté generado. Para generar el Displacement Map: 1. Menu “UVs & maps/Extract texture Maps/New Operation…” 2. Seleccionamos “Displacement map” en la ventana que aparece. 3. La ventana se despliega. Configuramos: a. Target models: sólo nuestro modelo base (level 0). b. Smooth target models: On. c. Smooth target UVs: On. d. Source models: nuestro nivel más alto (o el que queramos extraer). e. Smooth source models: On. f. Method: Subdivision. g. Image properties: Generate one… h. Image size: 1024, 2K, 4K, etc. (depende del modelo y la máquina). i. Antialiasing: 8K. j. Output options: Maptype: Texture. k. Base file name: EXR y tamaño “x” de bits (ideal: 16 o 32bits). l. Pulsar EXTRAER (). 4. Según la resolución escogida y los recursos de nuestra máquina, tardará más o menos tiempo en procesar. Un problema muy habitual que causa errores durante este proceso de extracción es elegir un tamaño muy grande o mucha profundidad de bits para la máquina que tenemos. Como todos los modelos que podemos generar serán diferentes, puede que el resultado obtenido no sea el correcto. Una opción para solucionarlo -cuando nuestro modelo en level 0 es muy diferente al modelo a máxima resolución- es exportar en OBJ el modelo en level 1, ya que este nivel se parecerá más al modelo final.

La imagen generada puede verse desde la pestaña “Image Browser” o un programa de edición de imágenes como Photoshop.

Mudbox_Extración_Displacemen_Map

2


Cómo extraer las capas de pintura del modelo

Para generar el Paint layers Map: 1. Sobre la capa de pintura pulsamos “Btn derch. + Export Channel Merged” 2. La guardamos como TIFF de 16 o 32bits. 3. Ya tenemos la textura pintada de nuestro modelo.

Cómo montar el modelo en 3D MAX En 3D Max importamos como OBJ (level 0) el archivo inicial que exportamos desde Mudbox. 1. Escogemos “Import as Editable Poly”, marcamos todas las opciones de la sección “Geometry” y en “Presets”, seleccionamos “Mudbox”.

2. Aplicamos un modificador “TurboSmooth”. Activamos “render iters”, su valor será la diferencia de niveles entre el modelo base y el nivel con el que habíamos generado el “Displacement Map”. Dejar “Iterations” en 1 (de momento). 3. Aplicamos un modificador “Displace”. Y activamos “Using Existing Mapping”. 4. En la sección “Image/Map/none” y agregamos un bitmap con el displacement map generado en Mudbox. 5. Subimos “Strength” y damos un poco de valor en “Decay”. 6. Probamos el render. Si no es correcto, probamos tocando los valores de “Strength”, “Decay”, “render iters” e “Iterations”. 7. Mudbox y 3D Max gestionan de diferente forma el Smooth y la alineación de UVs. Si el resultado no es óptimo, puede ser necesario aplicar un modificador “Unwrap UVW” antes del “TurboSmooth” o el “Displace”. Seleccionaríamos todas las UVs y aplicamos “menú tools/Break”. No es muy elegante, pero suele funcionar.

Mudbox_Extración_Displacemen_Map

3


Usando Vector Displacement Como hemos comentado, todos estos mapas aportan relieve. Los Bump y los Normal maps simulan ese relieve, los Displacement y Vector Displacement crean un relieve real modificando la malla de nuestro modelo. En los bordes del objeto es donde se hace más evidente la simulación de unos frente a los otros.

Bump Map

Displacement Map

Normal Map

Vector Displacement Map

Relieve simulado Relieve real

Relieve simulado

Relieve real

Sólo dirección Z

Direcciones XYZ

Direcciones XYZ

Sólo dirección Z

Los Displacement map y los bump map modifican la superficie del objeto siguiendo la dirección Normal (es decir, perpendicular a su superficie). Para ello se utiliza una escala de grises que contiene la información del relieve de cada punto. En los lugares más luminosos (blancos) es donde más relieve se produce y donde es más oscura (negra) el volumen será menor o nulo. Los Normal Maps y los Vector Displacement Maps modifican la superficie del objeto siguiendo la dirección de los tres ejes (X, Y, Z) utilizando los canales RGB de la imagen. Por un lado la dirección normal de cada punto (Z Blue), por otro las dos direcciones tangentes a la superficie y ortogonales entre sí (X Red e Y Green).

Actualmente se tiende a modelar todos los objetos y los entornos con una alta poligonización, utilizando mapas de desplazamiento para conseguir trasladar toda la información de volumen de una malla de millones de polígonos a otra low poly de esa misma geometría.

Usando un Vector Displacement Map podemos conseguir un relieve real en las 3 dimensiones. Con lo que podemos generar volúmenes en la superficie imposible obtener mediante un simple Mapa de Desplazamiento (p.e. una mesa, una oreja).

Mudbox_Extración_Displacemen_Map

4


Las últimas versiones de los principales programas de escultura digital ya incorporan esta tecnología. En Mudbox está presente desde la versión 2016.

Para generar desde Mudbox el Vector Displacement Map: 1. Menu “UVs & maps/Extract texture Maps/New Operation…” 2. Seleccionamos “Vector Displacement map” en la ventana que aparece. 3. La ventana se despliega. Configuramos: a. Target models: sólo nuestro modelo base (level 0). b. Smooth target models: On. c. Smooth target UVs: On. d. Source models: nuestro nivel más alto (o el que queramos extraer). e. Smooth source models: On. f. Image properties: Generate one… g. Image size: 1024, 2K, 4K, etc. (depende del modelo y la máquina). h. Antialiasing: Off. i. Vector Displacement Map Options: Vector space: Absolute Tangent. j. Output options: Map type: Texture. k. Base file name: EXR y tamaño “x” de bits (ideal: 16 o 32bits). l. Pulsar EXTRAER (). 4. Según la resolución escogida y los recursos de nuestra máquina, tardará más o menos tiempo en procesar. Para aplicar este mapa conseguido en 3D MAX no lo haremos con modificadores (como en el caso anterior) sino desde el editor materiales, creando un material estándar y conectando un mapa “General/Vector Displacement” al Displacement del material. En el nodo “vector” conectaremos un bitmap con el archivo vdm anterior. El método será Tangent.

Mudbox_Extración_Displacemen_Map

5


Mudbox extracción displacement map