Materiales: mapeo de elementos, parte 1 (Mapas procedurales y UVW Map)

Un material es la suma de un conjunto de parámetros y mapas (que pueden ser imágenes o vídeos) que pueden ser asignados a la superficie de un modelo 3D para describir como este refleja y/o absorbe a luz. La mezcla de todas estas propiedades nos permitirá emular los materiales del mundo real tales como mármol, ladrillo, plásticos, metales, etc. En 3DSMAX podemos definir como un “mapa” a cualquier archivo de imagen que el programa soporte como jpg, gif, bmp, etc. o también puede ser un archivo de video como avi, mov, etc. Un mapa también puede ser una secuencia de imágenes o también pueden ser mapas de procedimiento (también llamados procedurales) generados por el programa. Los mapas se asignan a las propiedades de los materiales con el fin de aumentar el nivel de realismo de los mismos. Los materiales que contienen uno o más mapas se llaman materiales mapeados. La diferencia entre un material y un mapa es que el primero es un conjunto de propiedades de la superficie del objeto, mientras que los mapas se utilizan para caracterizar estas propiedades. Esto implica que por definición, estos siempre están subordinados a los materiales.

En este apunte veremos el concepto de mapa, los tipos de estos, los procedimientos de mapeo en objetos simples y además conoceremos los parámetros del modificador llamado UVW Map, el cual nos permitirá solucionar mapeos complejos además de realizar un pequeño ejercicio práctico usando este modificador. Para la correcta realización del tutorial, debemos descargar las texturas base de este:

Este apunte utiliza un archivo de base, el cual puede ser descargado desde el siguiente vínculo (en formato MAX 2021):

Coordenadas de mapeo y mapas procedurales

Cuando creamos un objeto en 3D y le asignamos un mapa mediante una textura de imagen, se nos presenta el problema de las “coordenadas de mapeo” ya que nos puede suceder lo siguiente:

  • La imagen se distorsiona en el objeto.
  • La textura no se aplica en la dirección que se espera.
  • La textura no se ve correctamente en el objeto.

Pero… ¿qué son exactamente las coordenadas de mapeo?. Una coordenada de mapeo se define como una coordenada que funciona de manera similar a las coordenadas (X,Y,Z) pero que nos especifica la forma en que se proyecta una textura 2D en una geometría 3D. Por ello, al igual que los objetos 3D que poseen coordenadas del espacio en (X,Y,Z), las texturas también tienen sus propias coordenadas que se definen según (U,V,W), que son equivalentes a las coordenadas de los objetos 3D en (X,Y,Z). Si bien las texturas por definición son planos 2D y por ello siempre poseerán coordenadas (U,V), notamos que también existe la coordenada W que sería el equivalente del eje Z. Ahora ¿para qué sirve una coordenada W en una textura 2D? Este tipo de coordenada indica la profundidad y por ello, sólo la poseen los llamados mapas procedurales 3D, los cuales son también llamados Solid Textures o 3D textures.

Ejemplos de mapas procedurales 3D de 3DSMAX son:

  • Cellular.
  • Dent.
  • Falloff.
  • Marble.
  • Noise.
  • Particle Age.
  • Particle MBlur.
  • Perlin Marble.
  • Smoke.
  • Speckle.
  • Splat.
  • Stucco.
  • Waves.
  • Wood (Advanced Wood en las versiones nuevas de 3DSMAX).

Estos mapas pueden invocarse en el editor de materiales y agregarse como Maps a este, tal como se aprecia en la imagen siguiente:

Si creamos cualquier tipo de objeto 3D y le aplicamos cualquier mapa procedural en el canal Diffuse, al realizar un render podremos ver cómo el mapa se distribuye uniformemente a través de la geometría del objeto sin generar ningún tipo de “costura” o Seam:

Renderizado con el mapa procedural Dent aplicado.

Renderizado con el mapa procedural Marble aplicado.

Renderizado con el mapa procedural Speckle aplicado.

Renderizado con el mapa procedural Splat aplicado.

Por esto mismo, si queremos modificar los parámetros de escala de estos mapas solamente lo podremos hacer mediante la edición de estos de forma directa en el editor de materiales seleccionando previamente el mapa en este:

Además de los parámetros propios de edición de los mapas procedurales 3D, todos comparten un parámetro común llamado precisamente Coordinates:

En este podremos definir la escala de la textura mediante la opción Tiling o podremos girarla variando el ángulo en Angle. Mediante Offset podremos definir el inicio de la textura respecto al plano que la contiene. Como curiosidad, nos aparecen los ejes X, Y y Z en lugar de U, V y W. Los cambios que realicemos afectarán a toda la geometría por igual, ya que como sabemos estos son mapas 3D.

En 3DSMAX existen otros tipos de mapas procedurales que no son texturas de imagen como por ejemplo Swirl, Tiles o Checker. Estos son:

  • Camera Per Pixel.
  • Checker.
  • Combustion.
  • Gradient.
  • Gradient Ramp.
  • Normal Bump.
  • Substance.
  • Swirl.
  • Tiles.
  • Vector Displacement.
  • Shape Map.
  • Vector Map.

Estos mapas pueden invocarse en el editor de materiales y agregarse como Maps a este, tal como se aprecia en la imagen siguiente:

Si creamos cualquier tipo de objeto 3D y le aplicamos cualquiera de estos mapas en el canal Diffuse, al realizar un render podremos ver cómo se aprecia la “costura” o Seam, ya que estos mapas procedurales se basan en una representación bidimensional (2D):

Renderizado con el mapa procedural Checker aplicado.

Renderizado con el mapa procedural Swirl aplicado.

Renderizado con el mapa procedural Tiles aplicado.

En este caso, si queremos modificar los parámetros de escala de estos mapas lo podremos hacer directamente mediante la edición de estos de forma directa en el editor de materiales seleccionando previamente el mapa en este:

Además de estos mapas procedurales 2D, existe el mapa que nos permitirá insertar nuestras texturas en formato de imagen o video el cual se llama precisamente Bitmap:

Por otro lado, además de los parámetros propios de edición de cada mapa, los mapas procedurales Bitmap, Checker, Combustion, Gradient, Gradient Ramp, Swirl, Tiles y Vector Map comparten el mismo parámetro común de edición llamado Coordinates:

En este podremos definir la escala del mapa o la textura mediante la opción Size o podremos girarla variando el ángulo en Angle. Mediante Offset podremos definir el inicio de la textura respecto al plano que la contiene. En este caso nos aparecen las coordenadas U, V e incluso W aunque esta última solamente se aplicará en Angle. Los cambios que realicemos en este configuración afectarán a cada cara del objeto en que apliquemos estos mapas.

Una desventaja importante de los mapas procedurales 2D es precisamente el problema de las “coordenadas de mapeo” antes mencionado ya que, al basarse en planos 2D, el mapa se repetirá a lo largo y a lo ancho de la superficie que lo contiene y por ello, si la textura no está bien diseñada se generará la costura o Seam en los límites de esta. Otro problema de estos mapas es la escala ya que al notarse la costura y aumentar el tamaño del mapa, este no se verá uniforme ni continuo en la superficie. Podemos resolver esto de forma básica asignando las coordenadas de mapeo mediante las llamadas “proyecciones de mapeo”. Estas son proyecciones que se basan principalmente en ciertos tipos de geometrías 2D y 3D primitivas, y tenemos los siguientes tipos:

  • Planar.
  • Cilindrical.
  • Spherical.
  • Box.
  • Face.

Todas estas proyecciones se encuentran disponibles dentro de las propiedades de un modificador llamado UVW Map. Además de estas, cada una de estas proyecciones posee un Gizmo (conjunto de ejes) propio, el cual puede ser movido, rotado, escalado y también animado. Si bien esta es una solución básica para definir coordenadas de mapeo, el problema principal de esta es que si no se configura bien la textura, esta igualmente dejará ver la costura o seam.

El modificador UVW Map

Cuando 3DSMAX aplica un mapa 2D sobre una superficie de carácter plana, cilíndrica, esférica o cúbica, este inmediatamente reconoce la forma del objeto ya que este tipo de geometría está definida como un parámetro base y por ende, no necesita de soluciones especiales para las coordenadas de mapeo.

Render de un mapa de textura en un cubo, cilindro, esfera y plano.

Sin embargo, no ocurre lo mismo cuando tenemos objetos de tipo orgánico o con mallas de tipo Editable Poly ya que, debido a la complejidad de las geometrías involucradas en el modelo, el programa asume que sólo es un conjunto de caras en el espacio 3D, por lo que 3DSMAX no sabe cómo “envolverlo”. Esto puede visualizarse en el ejemplo siguiente:

Render de un modelo orgánico, utilizando el mismo mapa de textura del ejemplo anterior.

Podemos resolver en parte este problema aplicando un modificador llamado UVW Map. Como todos los modificadores, UVW Map se puede aplicar cualquier tipo de objeto, tanto a una primitiva como a un objeto de tipo Editable Poly.

El mismo render anterior, pero en este caso se ha utilizado el modificador UVW Map.

Este modificador se suele colocar encima del modelo respectivo y al hacerlo, podemos visualizar sus parámetros al ir al panel modificar:

En este panel podremos seleccionar uno de los tipos de mapeado Standard que 3DSMAX reconoce como parámetros base, seleccionándolo previamente en la opción Mapping. Además, tenemos otros parámetros de edición relativos a alineación y posicionamiento de los mapas en el objeto.

Los parámetros o proyecciones base de los que disponemos en UVW Map son los siguientes:

Gizmo

  • Nivel de subobjeto de Gizmo: habilita las transformaciones del Gizmo en la geometría del mapa de texturas que seleccionemos. Mediante este nivel de subobjeto podremos mover, escalar y rotar el Gizmo en la viewport para ayudar a colocar mejor la textura en el objeto. Si el mapa no es visible en la viewport, podemos habilitar la opción Show Map in Viewport en el material respectivo.

Manipulación de la textura mediante el Gizmo.

Mapping

  • Mapeo Planar (plano): proyecta el mapa de textura desde un solo plano contra el objeto a través de un único eje ya sea este X, Y o Z. También es útil para mapear oblicuamente varios lados y también los dos lados de un objeto simétrico. Esta opción es bastante útil cuando deseamos mapear un objeto plano que no tiene profundidad como por ejemplo: la hoja de un libro, un póster, una diapositiva o un cuadro.

  • Mapeo Cylindrical (cilíndrico): proyecta el mapa en el objeto envolviéndolo como si este fuera un cilindro. Las uniones donde se unen los bordes de la textura (seam) son visibles en este mapeo a menos que se utilice un mapa de textura uniforme. Si activamos la casilla Cap, esta aplica coordenadas de mapeo de tipo planar plano a la base y tapa del cilindro. Este tipo de mapeo es útil en objetos con forma aproximadamente cilíndrica.

  • Mapeo Spherical (esférico): proyecta el mapa en el objeto desde una esfera. En este tipo de mapeo la imagen se estira desde un polo a otro envolviendo el objeto y por ello, los dos lados de la imagen se encuentran en una línea que es la costura del mapa. Sin embargo, esto generará una costura y algunas irregularidades de mapeo en la parte superior e inferior de la esfera, donde los bordes del mapa de textura se encuentran en los polos de esta. Este tipo de mapeo es útil en objetos con forma esférica.

  • Mapeo Shrink Wrap (envoltura retráctil): este utiliza el mapeo Spherical como base, pero en este caso se truncan las esquinas del mapa y las une a todas en un solo polo, creando una sola irregularidad en este mismo. Este tipo de mapeo es útil cuando desean ocultar las irregularidades propias del mapeo esférico.

  • Mapeo Box (caja): Proyecta el mapa desde una caja. En este tipo de proyección hay en realidad seis mapas de tipo planar (uno por cada cara de la caja) y el efecto en la superficie depende de la normal de la superficie. Este tipo de mapeo es útil en objetos con forma de caja, ya que si se utiliza en otros objetos se obtendrán resultados extraños. Sin embargo, es uno de los más utilizados pues este tipo de mapeo resuelve la mayoría de los problemas de texturizado de los objetos.

  • Mapeo Face (cara): Este tipo de mapeo proyecta el mapa de forma plana en cada uno de los polígonos del objeto y por ello, se aplica una copia del mapa a cada cara de este. Los pares de caras que comparten un borde oculto se asignan con el mapa rectangular completo. En el caso de las caras individuales sin borde oculto, se asignan con una parte triangular del mapa.

  • Mapeo XYZ to UVW (XYZ a UVW): mapea coordenadas procedurales 3D a coordenadas (U,V,W). Esto implica que literalmente la textura procedural se “pega” a la superficie del objeto. Si la superficie se estira, también lo hace el mapa procedural 3D. Esta opción es útil para mapas con texturas procedimentales como Cellular, o en objetos con topologías animadas. En este tipo de Mapeo es recomendable utilizar el mismo canal de mapa (Map Channel) en el material y en el modificador UVW Map.

Parámetros Length, Width y Height

  • Length: especifica el largo del gizmo de UVW Map.
  • Width: especifica el ancho del gizmo de UVW Map.
  • Height: especifica el alto del gizmo de UVW Map.

Las dimensiones se basan en un cuadro delimitador del gizmo el cual aparece al aplicar el modificador, y la escala predeterminada del icono de mapeo se define por la dimensión más grande del objeto cuando se aplica este. Las tres dimensiones se establecen según el tipo de mapa y las dimensiones, y se convierten esencialmente en factores de escala en lugar de medidas. Puede restablecer los valores a las dimensiones haciendo clic en los botones Fit o Reset, que perderán la escala original.

Aplicación de UVW Map con dimensiones de Gizmo por defecto (tamaño del objeto).

Aplicación de UVW Map con dimensiones de Gizmo modificadas, y su efecto en las caras del objeto.

En el caso del mapeo de tipo Planar, la dimensión Height no está disponible ya que no tiene profundidad. Del mismo modo, las dimensiones para el mapeo Cylindrical, Spherical y de Shrink Wrap muestran todas las dimensiones según su cuadro delimitador (plano 2D de la textura) y no se basa en los radios de su geometría. Las dimensiones no están disponibles para el mapeo de tipo Face, ya que cada cara de la geometría contiene el mapa de textura de forma completa.

Parámetros U Tile, V Tile, W Tile

Estos parámetros permiten especificar las dimensiones del mapa en las coordenadas U, V o W para colocar la imagen de la textura en forma de mosaico. Como estos valores son de punto flotante, pueden ser animados para desplazar el mosaico del mapa en la superficie del objeto. Si activamos la casilla Flip, la imagen se invertirá respecto al eje.

Aplicación de UVW Map con dimensiones de U, V y W tiles por defecto.

Aplicación de UVW Map con dimensiones de U, V y W tiles modificadas, y su efecto en las caras del objeto.

  • Real-World Map Size: cuando esta casilla está activada, los valores de la escala o tamaño de las texturas se controlan de forma directa desde la opción Size de la persiana Coordinates del mapa respectivo. Por esto mismo, cuando Real-World Map Sise está activado, los parámetros de Length, Height, Width y U, V, W Tiles no están disponibles.

Configuración de escala del mapa de textura y aplicación de UVW Map con Real-World Map Size aplicado, y su efecto en las caras del objeto.

Channel

  • Map Channel: esta interesante opción nos permite tener muchos conjuntos diferentes de coordenadas de mapeo en la misma cara simultáneamente. Es decir, podemos asignar a cada mapa un canal diferente aunque por defecto, todos los mapas que se apliquen siempre tienen el Channel Map 1. Estos canales nos permitirán ser controlados de manera independiente por UVW Map ya que, por ejemplo, podemos tener la textura en Diffuse con Channel Map en 1 mientras que la textura Bump la podemos dejar en el valor 2. Si aplicamos UVW Map en cada canal, podremos controlar los parámetros de edición de cada textura de forma independiente.
Nota: si aplicamos estos canales en los parámetros de edición de mapas y no aplicamos UVW Map al objeto, en el render solamente será visible Channel Map 1.

Configuración de Channel Map aplicada y render. En la textura Bump se ha aplicado Channel Map en valor 2 y al realizar el render, notamos que esta no es visible en este. En este último no se ha aplicado UVW Map.

La cantidad máxima de Channel Maps que podemos tener es de 99. Un aspecto importante a considerar es que el modificador UVW Map solamente funciona en un Channel Map a la vez y por ello, si queremos controlar varios a la vez, debemos aplicar varios modificadores de UVW Map y asignar a cada uno el canal respectivo según la textura asignada. En este caso, si aplicamos los UVW Map con los canales asignados, las texturas ya serán visibles en el render.

La misma configuración anterior pero en este caso se ha aplicado UVW Map dos veces (uno para cada canal), y se aprecia el render resultante donde ya podemos visualizar ambas texturas.

Como ya se dijo antes, la gran ventaja de asignar Channel Maps a las texturas es que podremos controlar los parámetros de edición de estas forma independiente manipulando cada modificador UVW Map del canal respectivo.

Configuración de UVW Map de Channel Map en valor 2 y render respectivo, donde notamos que la textura Bump se controla de manera independiente a la de Diffuse, la cual está en Channel Map 1. 

  • Vertex Color Channel: eligiendo esta opción se define el canal como canal de color de vértice. Para que esta opción funcione, hay que asegurarse de hacer coincidir cualquier mapeo de material en el despliegue de coordenadas para que sea también Color de vértice (Vertex Color), o podemos hacerlo mediante la utilidad Assign Vertex Colors.

En la siguiente parte de este apunte, estudiaremos las opciones de ajuste de UVW Map y veremos algunos ejemplos de aplicación de este modificador de texturizado. Ir a la segunda parte.

Bibliografía utilizada:

– Tutorial GI Standard y Mental Ray del profesor Sebastián Huenchual H., Carrera Animación Digital 3D, Instituto DGM.

– 3DSMAX User Guide reference.

– Manuales USERS 3DSMAX por Daniel Venditti. Ediciones MP, Buenos Aires, Argentina.

– Base de conocimientos 3DSMAX: https://knowledge.autodesk.com/

¿Qué tan útil fue este artículo? Haga click en una estrella para puntuarlo

Puntuación media 5 / 5. contador de votos: 1

No hay votos. Sea el primero en calificar esta publicación.

5
(1)

Deje un comentario en este artículo