Técnicas de mapeado UV, con modelos de pocos polígonos (Low-Poly)
Por Roja



Preparando un modelo para mapeado UV
El mapeado UV es una habilidad que requiere mucho tiempo, practica, y experiencia. Una vez que lo consigas, y lo entiendas, no es tan difícil. Sin embargo, puede a llegar a ser frustrante si no lo haces bien o si ello te produce bastante pereza.

Lo que voy a explicar aquí es cómo preparar, o configurar un modelo para el mapeado UV. Lo enfocaré a un modelo sencillo de pocos polígonos, simétrico, para videojuegos. Aunque haya muchas maneras de realizar esto, depende principalmente de lo que sea tu modelo.

La importancia de la planificación
Antes incluso de que empieces a modelar, deberías planificar y pensar en el mapeado UV y la texturización. La razón de esto es la de ahorrar tiempo en el momento que vayas a realizar el mapeado. La mejor manera de explicartelo es con algunos ejemplos.


Fig1. Una casa de pocos polígonos con y sin la vista en modo de alambre

Tanto el mapeado UV como la texturización de este modelo, se hizo antes de que éste se completara. Déjame que te explique.

Fíjate en las vigas de madera rojas de la Fig1, se repiten por todo el modelo. Incluso las ventanas también se repiten, así como los salientes afilados y puntiagudos pegados al tejado. Si tubiera que modelar la casa entera por el método normal, primero tendría que modelarla y luego aplicar 'UV unwrap' ¡a cada elemento que se repite individualmente!. En vez de hacer esto, yo modelé una viga de madera, luego le apliqué el mapeo UV, la texturicé (aunque puedes texturizar posteriormente), y luego la añadí al modelo, duplicandola tantas veces como necesitaba.

Y lo mismo para las ventanas y otros elementos repetitivos del modelo. Esto claramente, te ahorrara un buen montón de tiempo.

Un segundo ejemplo para elementos repetitivos más pequeños, en cualquier modelo. En este ejemplo el monstruo tiene una porra con pinchos, y también un casco con pinchos. Véase en la imagen los pinchos resaltados. Hay un montón de pinchos en el modelo y te llevara un tiempo el duplicarlos, rotarlos y colocarlos. Otra vez, la manera más óptima de hacer esto es modelar primero un pincho.


Fig2. Un modelo genérico

Luego aplícale el mapeado UV, duplícalo y colócalo para acabar el modelo. De nuevo, tú estas realizando el mapeado UV ¡antes! de que hayas acabado de modelar.


Fig3. Un modelo simétrico

El ejemplo 3 nos muestra un modelo totalmente simétrico, que yo modelé usando una copia de instancia*. Ya que sólo modelo la mitad, me planteo hacer la textura totalmente simétrica, y debería aplicar el mapeado UV ¡sólo a la mitad! Antes de juntar ambas mitades de la malla para acabar el modelo, es mejor que apliquemos el mapeado UV en este momento.

*Aunque esto no sea un tutorial de modelado, pensé que sería importante reseñar esto: Una copia de instancia es un objeto separado que se altera de la misma manera que el objeto original, cuando éste es editado. Puedes crear una instancia del modelo y, en modo de edición, borrar la mitad (partiéndolo por la mitad simétrica), luego en modo objeto seleccionamos la malla, y presionamos Atl+D para duplicar esta mitad. Esto crea un duplicado denominado Instancia. A continuación, en modo objeto, pinchamos en la opción Object->Mirror de la barra de la cabecera, y elegimos el eje sobre el que se va a realizar la copia espejo de la malla, y la alineamos junto a la otra. En las versiones recientes de Blender, puedes usar el modificador Mirror, para realizar lo mismo.



Fig4. Modelo asimétrico

Vamos a ver un cuarto ejemplo de cómo tratar con formas orgánicas parcial o totalmente asimétricas, tales como modelos de personajes con partes o la totalidad de la textura, o de la malla, asimétricas. La imagen de arriba muestra un ejemplo de malla simétrica (izquierda) y otro de malla asimétrica (derecha).

Como puedes ver la malla asimétrica tiene dos hombreras diferentes, una mano normal y otra con garfio, y una pierna normal con una bota y otra con una pata de palo. Para este tipo de modelos es mejor primero modelarlo por completo.

Empecemos
Para el resto de este tutorial, voy a usar como ejemplo un modelo completamente simétrico. En el mapeado UV de un modelo asimétrico, se usan la mismas técnicas, sólo que lleva algo más de tiempo. Aquí tienes un dibujo de mi modelo terminado, listo para ser aplicado el mapeado UV:


Fig5. Malla preparada para el mapeado UV

Su cuerpo es totalmente simétrico, así como su arma. A partir de ahora disponemos de 3 objetos, 2 son ambas mitades del cuerpo, y la otra es el arma. Es más fácil mantener el arma como un objeto separado, y luego unirlos (selecciona ambas mallas y luego pulsa [CTRL+J] cuando hayas terminado) si lo necesitas así en la malla final. Vamos a centrarnos en el cuerpo, por lo que borra una mitad y, por ahora, coloca el arma en otra capa, o escóndela. Esto es lo que nos queda:


Fig6. La mitad de la malla

Costuras
Para un modelo orgánico como éste, casi siempre uso sólo dos técnicas diferentes de 'UV unwrapping': 'LSCM Unwrap', que la encuentras en el panel 'UV Calculations', y 'Planar Mapping', que la encuentras en Window.

La función del LSCM Unwrap esta muy bien, pues realiza una especie de desenvolvimiento (unwrap) automático, una vez que hayas definido las costuras en el modelo. Yo uso el LSCM junto con el Plannar mapping, pues con algunas partes del modelo se trabaja mejor con una técnica, y otras partes es mejor con la otra.

Las costuras son necesarias para que LSCM trabaje adecuadamente, aunque tienen una opción realmente interesante, que te permite seleccionar trozos de la malla, presionando la tecla [L] en el modo UV Face Select, mientras mantienes el cursor del ratón cerca o sobre una cara. Esto te resultara imprescindible cuando pases a la fase de la edición UV.

Ok, ¡empecemos definiendo las costuras! Vamos a empezar con una parte fácil, la base del pie. Empezamos en el modo objeto, pulsamos la tecla [TAB] para pasar al modo edición y nos aseguramos que estamos en el modo de selección de aristas, ya que vamos a seleccionar aristas para crear las costuras.

Seleccionamos todas las aristas que circundan la base del pie. Mantenemos pulsada la tecla [SHIFT], para ir añadiendo aristas a la selección. A continuación presionamos [CTRL+E], y nos aparecerá una ventana de diálogo.

Pinchamos sobre la opción 'Marque Seam'. Ahora podemos deseleccionar las aristas, y veremos la línea de la costura. ¡Y eso es todo lo que hay que hacer para obtener las costuras! Podemos también eliminar costuras si nos hemos hecho un lío, o queremos cambiarlas, eligiendo la opción 'Clear Seams' del diálogo ([CTRL+E]). Moviéndonos a lo largo del modelo, podremos ir marcando más costuras. En la imagen siguiente se ven costuras en la parte interior e inferior de la pierna y en la cintura.


Fig7. Marcando la costura

Recuerda que deberías hacer costuras en zonas que no estén directamente visibles en la escena, en el caso de que sea una costura texturizada. Deberías ponerlas en lugares que hicieran más fácil romper la textura, sin provocar costuras visibles (como un cinturón alrededor de la cintura).



Fig8. Costuras de la pierna

La siguiente es la costura que definí en el brazo alrededor de la articulación con el hombro, por debajo y por el interior del brazo, y en la parte inferior de la mano, tal y como se muestra en la Fig9. Date cuenta que oculté partes de la malla (selecciona las áreas que quieras esconder y pulsa la tecla [H]), para seleccionar mejor las aristas. Para mostrar de nuevo las partes ocultadas, presiona [ALT+H].


Fig9. Costuras para un brazo

Y por último, la cabeza. Para ello recorrí la base del cuello, por donde la barba se junta con la cara, y como quería que tubiera una calva en la cabeza, con algo de pelo por detrás, puse la costura en la parte trasera de la cabeza. También puse otra costura alrededor de la cara. Ahora ya hemos acabado de poner costuras en su cuerpo. Ver fig10.


Fig10. Las costuras para la cabeza

Aquí tienes una imagen (Fig11) con las costuras para el mazo. Puse costuras alrededor de los extremos circulares de los cilindros, y otra longitudinal por un lado a cada uno de ellos. ¡Y eso es todo en cuanto a las costuras! Ahora, vamonos a la proyección UV y a desenvolver ("unwrapping") el modelo.


Fig11. Las costuras para el martillo


Desenvolveremos el modelo usando LSCM Unwrapping y proyección Planar "From Window".


Configuración de la interfaz
Antes de empezar, quisiera mencionar que tener un buen espacio de trabajo (o pantalla) configurado en Blender, con todas las herramientas a tu alcance, facilita mucho la tarea. Yo me configuré la interfaz de Blender para el mapeo UV.

Tengo puesto una vista 3D, debajo la línea de tiempo de animación (Action), en el caso que quiera poner el modelo en una pose diferente de la animación mientras texturizo, la ventana del editor UV/Image, y también la ventana de botones desplazada sobre el menú UV Calculation (ten en cuenta que debes estar en modo de selección de caras UV-UV Face Select-, y en el panel Editing para verlo). Aquí puedes ver el aspecto de mi interfaz para el mapeado UV:



Fig12. Interfaz para el mapeado UV

Usando el mapeado con proyección LSCM (LSCM Projection Mapping).
Selecciona el modelo y ve al modo de selección de caras UV, presionando la tecla [F], o eligiendo el modo desde el menú del panel 3D Viewport. El modelo se volvera blanco. Asegúrate que tienes seleccionadas las opciones Draw Seams, Draw Edges y Draw Faces en el menú UV Calculation, tal y como ves aquí:


Fig13. Menú UV Calculation

Después, necesitaremos crear una nueva imagen en el editor UV/Image. Pincha en Image-->New, y en el diálogo que aparece, introduce un nombre, si quieres, y atambién el tamaño de la textura. A continuación presiona OK.


Fig14. Editor UV/Image


Fig15. Valores para la UV/Image

Los tamaños más típicos de texturas para videojuegos suelen ser cuadrados y seguir la potencia de 2, como por ejemplo 64, 128, 256, 512, 1024. Elige el que mejor te funcione. Como reseña, para mi es mejor trabajar con un tamaño de textura mayor al que luego se vaya a utilizar en el videojuego. Si la textura en el juego va a ser de 256X256, trabajaré con una que sea de 512X512, y la redimensionaré en su momento. Esto es así, por que es más fácil trabajar con texturas grandes (pero no demasiado grandes), preservando más detalle incluso si quieres que la textura sea más grande.

En el editor UV te aparecerá una caja negra, en la que tendrás que reducir un poco el zoom para verlo todo. Ahora, asegúrate que estas en el modo selección de caras UV (UV Face Select), y presiona la tecla [A] para seleccionar todas las caras del modelo.

Todas deberían estar resaltadas, y también ceras algunas cajas emergentes en el editor UV - son las caras que tenemos que desenvolver.

En el menú UV calculation, pincha sobre LSCM Unwrap. La función del LSCM Unwrap es la de usar las costuras que creamos para desenvolver las caras. Deberías obtener algo parecido a esto, aunque, por supuesto, depende de tu modelo:


Fig16. El desenvolvido de UV LSCM

Ahora como puedes ver, tenemos un poco de trabajo de limpieza que hacer. Vamos a tener que hacer un poco de esfuerzo para redimensionar, rotar y mover las piezas para rellenar el espacio de la textura como nosotros queremos.

La rejilla de prueba UV (UV Test Grid)
Cuando mapeamos en UV un modelo, normalmente queremos mantener la proporción entre todas las piezas para evitar distorsiones en la textura. Una buena forma de comprobar si hay partes en las que esté produciendo esta distorsión es utilizar la rejilla de prueba UV (UV Test Grid). Para hacerlo, ir a Image>>New, asegurandote que el tamaño de la textura sea el correcto, pinchar en UV Test Grid y luego aceptar en Ok. Veras algo parecido a esto:


Fig17. Mapa de prueba UV

Ahora queremos ver esta textura en el modelo. Si aún no estas en modo Textura (Texture mode), en la vista 3D, ubica tu ratón sobre la vista 3D y pulsa [ALT+Z] o haz clik en el botón Viewport Shading ubicado en la cabecera de la vista 3D y selecciona Textured. Ahora tu modelo debería parecerse a esto:


Fig18. Vista texturizada de la malla

Ahora podemos empezar a redimensionar las diferentes piezas UV y ver cómo va cambiando el modelo, usando la textura de la rejilla. A veces el uso de esta rejilla puede ser molesto para ver bien los UV, por lo que siempre puedes quitarla, creando una nueva textura y deseleccionando la opción UV Test Grid.

Como puedes ver en el modelo, te daras cuenta que hay bloques de la rejilla más grandes que otros. Ahí es donde los UV se distorsionan, donde no muestran las proporciones con exactitud. Por lo que tendrás que mover los vértices UV, para que luego esto funcione cuando desenvolvamos (unwrap) la textura. Lo ideal es que los cuadros coloreados de la rejilla sean prácticamente del mismo tamaño en todo el modelo.

Los atajos del teclado más usados

Al trabajar con el editor UV, se usan un montón de atajos igual que los que se usan al modelar.

Con la tecla [A] podemos seleccionar/deseleccionar todo.
Con la tecla [G] mover vértices.
Con la tecla [S] escalar.
Con la tecla [R] rotar.
[B]Con la tecla para selección rectangular.
Con la tecla [M] para espejo.

Un atajo MUY potente es [L], para seleccionar un elemento o un grupo de vértices (simplemente pasando el ratón por encima y presionando la tecla [L]). Como ejemplo, puedes hacer esto sobre tu modelo y seleccionar un grupo entero de costuras. Con esto puedes aislar de manera rápida y fácil zonas sobre las que quieras trabajar, sin afectar al resto de la malla o UV's.

Además si los atajos citados antes para situar los UV's en su posición, suelo usar otros para hacer más cosas. Para situar dos vértices uno sobre el otro (como uniéndolos), los selecciono, y los escalo (S) y luego introduzco 0 (cero), o los aproximo lo máximo posible (como si los fundiera).

En las imágenes que hay a continuación, puedes ver que alineé los vértices de las aristas del frontal y posterior del torso. Lo hice seleccionando los vértices de una arista, presionando luego [S], luego [X], y a continuación [0]. Esto los alinea perfectamente sobre el eje X. Cambia X por Y, si los quieres alinear hizontalmente.

A veces es difícil saber qué caras se conectan con cuales. Para esto, ir al modo de selección de la cara activa (Active Face Select Mode), presionando [C] en el editor UV, o pinchando en Select->Active Face Select, y luego pinchar sobre una cara de algún grupo, y veras que se resalta con 2 aristas en blanco, una verde y otra roja.


!La cara resaltada también la veras en el modelo en la vista 3D¡ Seleccionando varias caras podrás ver !que caras se alinean con cuales¡ Esto facilita el seleccionar y mover cualquier cara o grupo de caras a la vez, en lugar de ir seleccionando vértices.

Hay un montón de opciones que deberías probar, dentro de los menús del editor UV/Image.


Fig19. Caras activas

Desenvolviendo y recolocando
Yo empiezo con las UV's del torso y la pierna. Quiero unirlas de tal manera que no se perciba la costura alrededor de la cintura. Siempre que no se quiera desperdiciar espacio de textura, es buena idea, siempre que sea posible, combinar dos partes.

En cuanto a la cara del personaje, no me gusta como la desenvuelve el método LSCM. Prefiero pintarla directamente, pues sale más natural de esa forma. Por lo que vamos a usar el mapeado Planar, para las diferentes piezas de la cabeza, además de la cara. Y luego juntamos entre sí todas las aristas que podamos.


Fig19b. Desenvolviendo y recolocando

Es necesario aislar cada pieza en el editor UV y mapearlas por separado. Pulsamos [A] en la vista 3D, para deseleccionar todas las caras UV tanto en esta vista como en el editor UV. Presionamos [L] sobre el grupo con el que queramos trabajar, en este caso el de la cara. Sólo los vértices de la cara aparecerán en el editor UV.

Pasa el cursor del ratón sobre la vista 3D y pulsa [1] del teclado numérico para ir a una vista frontal ortográfica (date cuenta que si no posicionas tu modelo hacia esta dirección, no sería una vista frontal - puedes rotarlo para que mire hacia el frente). Vamos ahora al menú "UV Calculation" y pinchamos en "From Window":


Fig20. Seleccionando mapeado UV

En la siguiente columna tienes una imagen de antes/después, mostrando el resultado del mapeado planar de la cara, parte superior y lateral de la cabeza, y la barba, y la posterior unión de algunas aristas, y el desplazamiento de algunos vértices (unwrapping). Para mapear cada pieza, usé una vista diferente de la ventana 3D. No todas se utilizaron desde la vista frontal. Por ejemplo, para la parte superior de la cabeza, primero seleccioné en la ventana 3D las piezas correspondientes presionando [L], luego presioné [7] del teclado numérico para ir a una vista superior, y luego pinché en el botón "From Window". Para la parte lateral de la cabeza, utilicé una vista lateral ([3] del teclado numérico).


Fig21. Desenvoltura de la cabeza y la barba

Después de unos pocos ajustes más, y haber recolocado todo dejando los mínimos huecos posibles, el resultado fue éste (ver Fig.22). Ahora ya estamos preparados para texturizar, ¡el mapeado UV ha finalizado*! Ya puedes duplicar la otra mitad del modelo y juntar las piezas.


Fig22. La desenvoltura final

*Mientras texturices el modelo, podrás realizar algunos pequeños ajustes con las UV's, pero intenta que no sean muchos a no ser haya algo bastante mal. Usar el modo de Pintura de Textura de Blender (Blender's Texture Painting) para crear un boceto.

Nota: para este tutorial se requiere que el modelo esté mapeado en UV apropiadamente y listo para ser texturizado.

Las opciones del Pintado de Texturas de Blender, no pueden reemplazar a un buen programa de dibujo 2D, pero pueden ser útiles para marcar detalles importantes que de otra manera sería muy difícil situar, como los ojos, líneas de músculos, etc. De esta manera no tendremos que estar yendo y viniendo tantas veces desde el programa de dibujo 2D y Blender.

Empecemos con al menos una vista 3D del modelo preparado para ser texturizado, y el editor UV/Image abierto. Pincha en el botón que se parece a un lápiz:


Fig23. Pintando la textura

Luego pincha en View->View Paint Tool.


Fig24. Herramientas de pintura


Fig25. Selección del color de pintura

Aparecera el panel Image Paint: Aquí puedes seleccionar el color de la pintura, el pincel, tamaño, opacidad, etc. Juega con las diferentes opciones y pinta trazos en el lienzo para ver qué es lo que hace.


Fig26. Mapa UV después de pintarlo

Unos pequeños consejos:
1. No puedes deshacer cambios. Si presionas "Undo" en cualquier vista, ¡deshaces TODO lo que hayas pintado! Y si presionas "Undo" en el editor UV, no pasa nada.
2. Haciendo clic con el botón derecho del ratón en el editor UV, seleccionas el color que hay debajo del cursor del ratón - ¡es muy útil!
3. Es buena idea desactivar la opción "Draw Faces" del menú "View" en el editor UV/Image. Con esta opción activada, las caras se sombrean ligeramente, entonces al hacer clic con el botón derecho del ratón, se seleccionara un color más oscuro de lo que realmente es.
4. ¡Asegúrate de tener activada la opción "Update Automatically" del menú "View"! Y aquí tienes lo que un burdo bloque puede parecer:


Fig27. La textura UV después de pintarla

Puedes emplear más tiempo en detallarlo desde Blender. Pero como yo luego voy a utilizar un programa de dibujo 2D, no me preocupo mucho de dejarlo muy bien y de usar los colores perfectos. Es suficiente con crear los detalles que quiero situar. Luego, pinchamos en Image->Save... para guardar nuestra textura pintada.

Y así es como quedan mi modelo y textura acabados.



*Ten en cuenta que usé un programa de dibujo 2D para acabarlo y no Blender. Como comentario final, insisto a los nuevos, que experimenten con las herramientas que Blender ofrece para el "unwraping", pues es la mejor manera de aprender lo que hacen (!además de leer el manual¡. No tengas miedo de pulsar botones, pero asegúrate primero de salvar tu archivo.

--Roja


www.blenderart.org