Materiales: mapeo de elementos, parte 2 (Ajustes y aplicaciones de 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):

Opciones de alineación de UVW Map

  • Alignment X, Y o Z: nos permite alinear la proyección en X, y o Z. Cada uno especifica qué eje del gizmo que seleccionamos está alineado con el eje Z local del objeto. No se debe confundir con la casilla Flip de UVW Tiles, ya que estas últimas cambian la orientación del mapa de textura, mientras que Alignment lo hace respecto al gizmo.

Mapeo de tipo Planar aplicado en el objeto, con Alignment en Z (por defecto).

Mapeo de tipo Planar aplicado en el objeto, con Alignment en Y.

Mapeo de tipo Planar aplicado en el objeto, con Alignment en X.

  • Manipulate: permite manejar la texturización del objeto de forma libre, de forma similar al comando Mapping de AutoCAD. Al activarlo, podremos tomar la caja superior para agrandar o achicar la textura en el eje Z mientras que las líneas laterales nos servirán para hacer lo mismo en X e Y respectivamente.

  • Fit (encajar): si lo activamos, la proyección encajará de forma precisa en el objeto, tomando sus dimensiones como base. En objetos más complejos se adaptará a las dimensiones mayores de este. Fit se desactiva si tenemos activado Real-World Map Size.

  • Center (centrar): centra la geometría de la textura de modo que coincida con el centro del objeto. En este caso, las dimensiones no son modificadas ya que la geometría solamente se centra.

  • Bitmap Fit (encajar mediante imagen): con este parámetro podremos encajar el mapa de la textura utilizando una imagen Bitmap, tomando sus dimensiones como base. En este caso, por defecto esta quedará centrada en la superficie del objeto.

  • Normal Align (alinear respecto a la normal): si seleccionamos esta opción podremos mover el mapa de la textura respecto a la normal de cada cara, es decir, se moverá respecto al plano UV de cada cara del objeto y por ello, cambiará la alineación y el movimiento al elegir otra cara del objeto.

  • View Align (alinear respecto a la vista): si seleccionamos esta opción, el mapa de la textura quedará alineado de forma paralela a la vista en la que veamos el objeto.

  • Region Fit (encajar mediante región): con este parámetro podremos encajar el mapa “dibujando” mediante el mouse la geometría de mapeo que representará la región del objeto.

  • Reset: mediante esta opción volveremos a la textura por defecto.
  • Acquire: esta opción copia eficazmente las coordenadas UVW de otros objetos. Para ello, debemos tener dos objetos con UVW Map aplicado y que sean independientes entre sí. Generaremos la copia seleccionando el objeto de destino y en su UVWMap elegimos Acquire, luego elegimos el objeto fuente donde se nos preguntará si la copia será absoluta o relativa:

Copia de coordenadas mediante Acquire, con la copia de tipo Relative seleccionada.

Si se elige Absolute, el gizmo de mapeo del objeto fuente se coloca exactamente encima del gizmo de mapeo del objeto de origen. Si se elige Relative, el gizmo de mapeo del objeto fuente se coloca sobre el objeto seleccionado.

Copia de coordenadas mediante Acquire, con la copia de tipo Absolute seleccionada.

  • Display: muestra o no en la viewport la costura o Seam. La costura se representa mediante una línea verde y sólo aparece cuando activamos el gizmo de UVW Map.

Por defecto está activa la opción Show No Seams (no mostrar costura), pero también tenemos la posibilidad de mostrar la costura mediante una línea delgada (Thin Seam Display) o gruesa (Thick Seam Display).

Aplicaciones de UVW Map

Como ya sabemos, en el modificador UVWMAP encontraremos los valores para U, V y W. Si los modificamos, le indicaremos al programa cuánto repetiremos la textura en alguno de los lados. Esto es útil para definir, por ejemplo, paredes de ladrillo. Para ejemplificar esto, realizaremos un sencillo ejercicio donde aprenderemos a aplicar texturas con UVW Map y también veremos cómo aplicar más de una textura en un objeto. Para esto, en el programa definiremos una caja de 80 x 60 x 20 cms:

Una vez definida, crearemos un material Standard en el editor de materiales y insertaremos en Diffuse la textura llamada textura_mvblog que se encuentra en las texturas base. También haremos lo mismo con las dos texturas restantes ya que la idea es que las ocupemos después para texturizar los lados de la caja. El resultado de la configuración de los materiales debe ser el siguiente:

Asignamos la textura principal a la caja, y luego le aplicamos a esta el modificador UVW Map para ver el resultado. Sin embargo, si se lo aplicamos nos quedará como la imagen siguiente:

Esto se debe a que el modificador por defecto aplica la proyección de tipo Planar y por ende, se texturiza de forma correcta sólo la cara superior e inferior de la caja. Podemos resolver esto cambiando el tipo de proyección a Box y con esto, ya podremos visualizar la textura en la cara mayor de la caja:

Como por defecto está activada la opción Real-World Map Size, no se nos verá la textura completa ya que como sabemos, esta opción depende del tamaño de imagen establecido previamente en Coordinates de la textura. Desactivamos la casilla y con esto ya podremos ver la textura completa en el lado mayor de nuestra Box:

Por defecto, los valores de U, V y W Tiles es 1, lo que implica que la textura se ajusta a lo largo y ancho de cada cara de la caja no importando el tamaño inicial de esta y por ello, la imagen se ajusta a las proporciones de la cara. Podemos ejercitar lo aprendido cambiando el número de repeticiones de U y V tiles, ya que como sabemos, estas coordenadas equivalen a las clásicas coordenadas cartesianas (X,Y) pero que son referentes a la textura. Por ejemplo, en la imagen siguiente el valor de U tile es 4:

Y en la misma caja, esta vez, se ha modificado el valor de V a 4 y se ha mantenido el valor de U:

Tip: si una textura está desproporcionada respecto de una cara, podremos proporcionarla variando las repeticiones de U y V, ya que estas también pueden ser menores a 1.

Viendo los ejemplos anteriores notamos que en U la textura se repite 4 veces en torno al largo de la cara mayor (eje X), mientras que en V lo hace en torno a la altura de la cara mayor de la caja (eje Y). Por lógica, este proceso se repite en todas las caras del objeto con resultados muy dispares, ya que dependen de las dimensiones generales de este.

Efectos de la aplicación de UVW Map en los lados menores de la caja, con valores de U y V de 1 y 4 respectivamente.

Podemos utilizar estos valores para definir las dimensiones exactas o aproximadas de una textura en el objeto. Dejamos los valores en 1 ya que aplicaremos la opción Flip, el cual se encuentra en cada uno de los valores de U, V y W. Si la activamos, invertiremos la textura en forma Vertical (U) u Horizontal (V), como se aprecia en la secuencia siguiente:

Textura original de la caja.

Textura volteada en forma Horizontal, aplicando Flip en U.

Textura volteada en forma Vertical, aplicando Flip en V.

Textura volteada en forma Horizontal y Vertical, aplicando Flip en U y V respectivamente.

Como ya sabemos, otra propiedad interesante de UVW Map es que podemos transformar la textura ya sea moviéndola, rotándola y/o escalándola mediante el subobjeto Gizmo. Al seleccionarlo, podremos elegir las herramientas de transformación base (Move, Rotate y Scale) que podremos aplicar sin problema en la textura, sin transformar el objeto 3D en el que esta se aplica.

Podemos practicar los diferentes parámetros de UVW Map en nuestra caja para lograr diversos efectos en la textura y en el mapeado total, según el que ocupemos, y también podemos modificar sus parámetros en Lenght, Width y Height o combinarlos con el resto. Recordemos también que mediante el botón Reset siempre volveremos a la textura por defecto. Incluso, podemos insertar la textura en otras geometrías 3D y aplicar otros tipos de mapeados para apreciar los efectos de cada uno de estos tipos:

Texturizado en un cilindro, aplicando el tipo de mapeado Cylindrical.

Texturizado en una esfera, aplicando el tipo de mapeado Spherical.

Texturizado en una esfera, aplicando el tipo de mapeado Shrink Wrap.

Texturizado en una esfera, aplicando el tipo de mapeado Face.

Mapeado de varias caras de un objeto mediante UVW Map

En caso que quisiéramos definir una textura diferente en cada cara de un objeto 3D, necesitaremos cumplir con dos condiciones:

  1. Debemos crear un material por cada cara que texturicemos, y luego asociaremos estos al material Multi/Sub-Object, el cual será el material que se aplicará al objeto.
  2. Cada cara que texturicemos deberá tener in ID asignado, el cual se corresponderá con el ID del material Multi/Sub-Object.

En el caso de las primitivas base como una caja o un cilindro, estos ya vienen con ID de base. Por ejemplo, en una Box tendremos un total de 6 ID que se corresponden con cada cara de esta, mientras que en un cilindro tendremos 3, que corresponden a las bases y la envolvente respectivamente. En caso que tengamos elementos orgánicos, podremos asignar estos mediante las herramientas de modelado como Editable Poly o Editable Mesh ya que mediante estos se pueden asignar o seleccionar los ID. Si queremos seleccionar los ID para asignar materiales, podemos ayudarnos con un modificador llamado Mesh selectMesh select nos permite seleccionar uno o más polígonos y asignarles un ID, luego de esto podemos aplicar un UVW Map a esa cara para mapearla con el material respectivo. En el caso de nuestra caja, lo que haremos será aplicar el modificador Edit Poly encima de la Box y elegir el Subobjeto Polygon:

Seleccionamos las caras menores de los lados de esta y en la persiana Material ID, cambiamos el valor a 2 y presionamos enter:

Repetimos el mismo proceso pero ahora seleccionamos las bases de la caja, y cambiamos el ID a 3. Finalmente, volvemos a hacer lo mismo para elegir las caras mayores y asignar el valor de ID=1 a ambas. Con esto, ya terminamos la asignación de todos los ID en la caja.

Volvemos al modificador UVW Map y aplicamos encima de este el modificador Mesh Select. La idea es elegir el subobjeto Polygon de este modificador y seleccionar el ID 2 mediante Select by Material ID. Asignamos el valor 2 y presionamos el botón Select para seleccionar los lados menores de la caja.

Lo que haremos ahora será volver a aplicar el modificador UVW Map. Este lo dejamos en el mapeo Box, quitamos Real-World Map Size y encajamos mediante Fit. Finalmente, volvemos aplicar Mesh Select pero esta vez seleccionaremos el ID 3 en Mesh Select, para así seleccionar las bases de la caja:

Para terminar la asignación volvemos a aplicar el modificador UVW Map y lo configuramos de igual manera que lo hicimos antes. Ahora todo es cuestión de crear un material Multi/Sub-Object y asignar los tres materiales creados a este, para finalmente asignar el material base al objeto.

El renderizado final de nuestro ejercicio es el siguiente:

Debemos tomar en cuenta que si queremos realizar el mapeado en las seis caras de una caja usando texturas distintas, debemos realizar el proceso de insertar los modificadores Mesh Select y UVW Map seis veces (uno por cada cara) y además, todas las caras deben tener asignado distinto ID. Otra cosa importante es trabajar con el material de tipo Multi/Sub-Object y definir seis materiales (para las 6 caras) y asignarles la textura a cada uno en el canal Diffuse, y posteriormente asignar todos los materiales creados al material base Multi/Sub-Object. Podemos repetir el proceso para asignar más ID y así texturizar elementos más complejos, o que tengan mayor cantidad de texturas.

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/

Deje un comentario en este artículo