Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Mapeado UV

  1. #1
    Administrador y fundador. Avatar de 3dpoder
    Fecha de ingreso
    Apr 2002
    Mensajes
    15,455

    Mapeado UV

    Mapeado UV en Blender
    por Claudio "malefico" Andaur
    http://www.malefico3d.org


    Introducción

    El mapeado UV consiste en la asignación de una textura 2D a las caras de un modelo 3D siguiendo las coordenadas de la superficie (las coordenadas UV precisamente). Es uno de los métodos más populares y efectivos para texturizar personajes animados, pero a la vez es uno de los más difíciles y tediosos de utilizar cuando se quieren obtener resultados dignos. Blender soporta texturizado UV pero no da demasiadas facilidades de uso, por ello es común que la mayoría de las veces para realizar el mapeado se recurra a software externo como LithUnwrap, UltimateUnwrap3D, UVMapper, etc.

    En este tutorial voy a explicar un método efectivo basado en técnicas de texturizado UV comunes a la mayoría de los software comerciales. Este método es prácticamente idéntico a otros comentados en tutoriales para Maya, 3DStudio y Wings3D por mencionar unos pocos, aquí se ha intentado suplir el uso de herramientas especificas de esos paquetes por las propias de Blender con sus conocidas limitaciones.

    UVMap VS Unwrap
    Existen dos enfoques tradicionales para texturizar que están relacionados de alguna manera. El primero de ellos, el mapeado UV tradicional, consiste en “mapear” la geometría de nuestro modelo sobre un plano. Para ello, y dependiendo de qué tipo de geometría estamos manejando, normalmente se dispone de un Editor UV y una serie de algoritmos de “volcado UV” esto es un programa que matematicamente “despliegue” o “proyecte” nuestro modelo sobre un plano. De esta forma se generara un “mapa” de nuestro modelo, que podremos llevar a un programa de imagen como Gimp o Photoshop para pintar nuestra textura.

    El otro método, consiste en algo similar pero diferente. Se trata de “desplegar” o “desenrollar” el modelo mismo (no una proyección) en el espacio 3D (esto en inglés se dice “unwrap” que es más canchero) y luego proyectar este modelo despanzurrado sobre un plano. Una vez que se ha hecho la textura y se la ha asignado a la proyección, el modelo se vuelve a su forma original.

    ¿ Qué forma es mejor? Depende del gusto del comensal. Normalmente el segundo método requiere de mayor manipulación de la malla y más pasos intermedios. Hay quienes lo hacen manualmente mientras que otros confían en un programa. En definitiva, es más complicado aunque bastante efectivo en la mayoría de los casos reduciéndose mucho el defecto de “estiramiento” de las texturas. Para aplicarlo en Blender necesitamos mucho trabajo, paciencia, tiempo, cuidado y suerte. Existen algunos scripts en Python, que con mayor o menor fortuna permiten hacer un “unwrap” de nuestros modelos. Y luego esta el problema de hacer lo inverso, volver a armar el modelo...

    Por ello es que vamos a optar por el primer método, es decir el mapeado UV tradicional, que es el soportado nativamente en Blender.

    Manos a la obra
    Cuando trabajamos con algo más complejo que un cubo es conveniente dividir el trabajo en cuantas partes sean necesarias para facilitarlo. Un personaje como Moncho, conviene dividirlo en cabeza, extremidades y tronco al mejor estilo Jak El Destripador. Primeramente porque será más sencillo de mapear, y luego porque nos permitira utilizar distintos materiales y texturas para cada parte con ajustes particulares según nuestro criterio.

    Para dividir la malla, simplemente se seleccionan las partes de la malla en Modo Edición y se pulsa “P” para separarlas como objetos independientes.


    Figura 1. Moncho antes y después de ser despedazado.

    Una vez dividida la malla en partes más pequeñas, iniciaremos nuestro trabajo de mapeo creando grupos de vértices como si estuviéramos por usar un armature. Esto tiene la ventaja que luego cuando queramos ocultar o seleccionar rápidamente un sector de la malla no perdamos tiempo con los vértices de difícil acceso. Mejor trabajar una vez y no decenas de veces.

    Vamos a empezar con la cabeza de Moncho, la misma técnica se aplicara para el resto del cuerpo.

    Seleccionemos la cabeza y entremos en el áspero Face Select Mode (de ahora en delante FSM), pulsando la tecla F en Modo Objeto. Este modo nos muestra todas las caras visibles (con la normal hacia afuera) en color blanco. Las caras seleccionadas aparecen con un delineado horrible (con puntitos) que hace doler la vista. La ventaja de este modo es que podemos seleccionar caras y ocultarlas o mostrarlas pulsando H y ALT+H respectivamente. De cualquier manera podremos entrar y salir de modo edición al FSM pulsando TAB.

    Podemos entrar en modo edición y utilizar las herramientas de selección mejoradas de este modo. Luego al salir, aparecerán resaltadas las CARAS cuyos vértices hayamos seleccionado antes.

    Para ayudarme a seleccionar las partes mejor, yo utilizo el siguiente método:

    1. En la vista lateral selecciono los vértices de la parte posterior de la cabeza.
    2. Creo un grupo de vértices, le pongo "atras" por nombre y le asigno estos vértices. Puedes probar que la asignación haya sido correcta pulsando el botón Select/Deselect.


    Figura 2. Creamos un grupo de vértices para ocultar vértices.


    3. Salgo de modo Edición (volviendo a FSM) y oculto las caras pulsando H. Si lo hiciera en Modo Edición se ocultarían también las caras aledañas a los vértices del contorno de la selección.
    4. Vuelvo a Modo Edición y deselecciono todo.
    5. Vuelvo a FSM y ahora selecciono todas las caras visibles pulsando "A". Observar que las caras que antes oculté, permanecen ocultas a pesar de haber salido del modo !.



    Figura 3. Ocultamos las caras en FSM.


    6. Vuelvo a modo Edición. Esta vez se encuentran seleccionados solo los vértices de las caras que seleccioné, observar que "A" en el paso anterior NO seleccionó caras ocultas !
    7. Creo ahora un grupo de vértices con nombre "frente" por ejemplo, y le asigno estos vértices. Existira un contorno de vértices que pertenecen a ambos grupos ahora.


    Figura 4. Nuevo grupo de vértices. Observar que los vértices centrales pertenecen a ambos grupos.

    ¿ Para qué todo esto? Ahora podremos ocultar la nuca del personaje para que no moleste cuando queramos seleccionar vértices en la vista frontal y viceversa.

    Ahora para trabajar con los vértices de la vista frontal haremos lo siguiente.

    1. Seleccionemos el grupo "atras". Pulsemos Select.
    2. Seleccionemos el grupo "detrás". pulsemos Deselect. Esto hará que la línea en común que tienen ambos grupos sea eliminada de la selección. Un Select Swap no funcionaría porque los vértices del limite que estén compartidos entre los grupos quedarían fuera de la selección.
    3. Pulsemos H para ocultar los vértices seleccionados.


    Figura 5. Los grupos de vértices en acción !

    Ahora, hemos podido ocultar las caras posteriores sin perder ningún vértice de la parte frontal !

    Alternativamente podríamos hacer esto otro:

    1. En Modo Edición seleccionamos los vértices del grupo Atras.
    2. Vamos a FSM y ocultamos las caras.
    3. Todavía en FSM, pulsamos A para seleccionar las caras visibles
    4. Volvemos a Modo Edición y ahora sí pulsamos "Swap Select" para invertir la selección.
    5. Ahora pulsamos H y otra vez hemos ocultado los vértices de las caras posteriores sin tocar los de la parte frontal.

    Usando las herramientas de selección del Modo Edición (CTRL+ALT+BIR para seleccionar edges, SHIFT+R para seleccionar loops de caras) podremos ayudarnos para seleccionar los contornos de los ojos, mejillas, mentón y zonas próximas. Iremos seleccionando aquellos vértices que estén en sectores de mapeado similar. Por ejemplo, la nariz podría adecuarse bien a un mapeado esférico, mientras que el cuello seguramente funcionara mejor con un mapeado cilíndrico. Para las zonas de los ojos y mejillas, quizás lo mejor sea un mapeado según la vista de la ventana.


    Figura 6. El grupo de vértices de la nariz




    Figura 7. El grupo de vértices de la cara se generó a partir del grupo “Delante”. Se omitieron la nariz y los labios que están en grupos separados. En la vista en FSM a la derecha se ocultaron las caras.


    En FSM, ocultaremos estas caras. Siguiendo cualquiera de las rutinas descritas arriba, iremos eliminado caras del grupo inicial "frente" para generar otros grupos en los que progresivamente habrá menos vértices.

    Siguiendo este es quema de trabajo es posible obtener un conjunto de selecciones que nos permitan "despedazar" la malla.

    El mapa del Tessssoro

    Cada zona de nuestra malla tendrá un mapeado que será el más apropiado. Para entender un poco mejor qué es lo que se ve en el Editor UV cuando mapeamos convendra girar en modo Edición (o en en Modo Objeto y luego aplicar la deformación con CTRL+A) al modelo antes de mapear. Veamos un ejemplo.

    He definido un grupo de caras que corresponde a una “tira” o “lonja” de caras que incluye los laterales, parte de la zona superior y parte de la zona inferior de la cabeza de Moncho.

    Esta “tira” intuitivamente vemos que debería ser mapeada como cilindro. Veamos qué ocurre cuando lo hacemos. En FSM pulsemos U para mapear y elijamos la opción “Cylinder”.


    Figura 8. El mapeado es cruzado y poco claro para texturizar.

    En la ventana UV veremos como aparecen vértices y líneas punteadas representando las caras mapeadas. Las caras aparecen cruzandose de forma poco clara, esto impedira aplicar la textura bien.

    Ahora entremos en Modo Objeto, rotemos la cabeza de modo que el eje del cilindro imaginario se oriente con Z, y apliquemos la deformación con CTRL+A.

    Volvamos a FSM y mapeemos otra vez. Ahora obtenemos una “lonja” de caras claramente definidas y sin cruces de aristas !.


    Figura 9. Esta vez el mapeado es claro y no hay aristas cruzadas.

    Parece complicado pero con un poco de practica nos daremos cuenta qué transformación realizar en cada zona para obtener un mapeado más claro.

    En Modo Edición elijamos el grupo de vértices de la nariz. Volvamos a FSM, y pulsemos "U".

    En este caso, como dijimos antes, lo más practico sería elegir "Sphere". Hagamoslo. (Si el mapeado no es correcto y claro, habrá que rotar el modelo y aplciar la deformación como antes. Casí siempre con rotar 90 o 180 grados, se obtiene un mapeado mucho más eficiente).

    Las líneas están casi bien exceptuando un cruce en los vértices de dos caras. En esta ventana podemos mover, rotar y escalar vértices con los mismos comandos que en la ventana 3D (pero en 2D). Podemos entonces seleccionar esos vértices mal ubicados y escalarlos simétricamente para que dejen de estar cruzados.


    Figura 10. Corrigiendo errores de mapeado.

    Nota: A veces para evitar cruces al mapear una zona esférica conviene mapearla por mitades, definiendo dos grupos de vértices, uno por cada mitad. Se seleccionan ambos grupos y se mapean juntos.

    Una vez que hayamos mapeado un sector convendra apartarlo de la zona central de la ventana para mantener prolija la zona de trabajo.

    Por ejemplo seleccionaremos todos los vértices con "A" o mediante "B" para activar el "border select".

    Ahora escalemos los vértices achicandolos y desplacemoslos hacia un rincón de la ventana UV. Tomemos nota mental del sector donde dejamos los puntos para evitar que se superpongan luego con los vértices de otras zonas mapeadas.

    Otra vez en la ventana 3D en FSM, ocultemos las caras mapeadas para mayor comodidad. En Modo Edición deseleccionemos este grupo, y seleccionemos otro.

    La secuencia de trabajo sería entonces como sigue:

    1. En Modo Edición, selecciono el grupo a mapear.
    2. En FSM pulos "U" y elijo el modo de mapeo más apropiado.
    3. Si el mapeado no es bueno, rotar el modelo y aplicar la deformación. Siempre rotar 90 o 180 grados, nunca usar valores intermedios.
    4. En ventana UV, acomodamos los vértices en una zona libre del espacio disponible.
    5. Ocultamos las caras en FSM.
    6. De vuelta en modo edición deseleccionemos todo y volvemos al paso 1 eligiendo otro grupo.

    Si hemos sido cuidadosos y pacientes, podremos verificar que hemos mapeado toda la malla revelando todas las caras en FSM y seleccionandolas con A.

    En la ventana UV deberan aparecer todas las caras mapeadas.

    Un error común es pulsar "U" en Modo Edición, con lo que en realidad estaremos haciendo un "Undo" y perderemos la selección hecha. Peor aún, en Blender 2.30 esto provoca además un "reset" del mapeado UV con lo que habría que volver a empezar !

    Finalmente acomodamos las caras en una forma más lógica, para indicar cómo habrán de ensamblarse. Para facilitar esta tarea podemos enterarnos de la coordenadas XY de un objeto pulsando la tecla N en el Editor UV, rotar y desplazar los vértices. Incluso podemos escalar rebatir en X y en Y para obtener una imagen especular (teclas SX y SY) si nos hiciera falta.

    Fíjense como fui doblando la “lonja” de más arriba hasta hacer casi coincidir los vértices con los homólogos de la zona frontal de la cara. Si vamos a aplicar una textura deberíamos fundir estos vértices para evitar “saltos” en el texturado. Una forma de hacerlo es seleccionando todos los vértices que confluyen y escalarlos a cero.


    Figura 11. “Fundiendo” vértices para evitar saltos en el texturado.

    Ya vendrá el día en que Blender pueda hacerlo por nosotros,pero por ahora hay que apañarselas a mano. En cualquier caso siempre disponemos de un as bajo la manga que explicaremos más adelante si no es posible juntar más los vértices.


    Figura 12. El mapa final.


    Y ahora qué?
    Lo que queda es menos tedioso. Practicamente ya tenemos todo el trabajo hecho. Ahora necesitamos exportar una imagen de nuestro mapa UV a algún programa de dibujo que permita trabajar con capas (layers) como Gimp, Photoshop o PaintShopPro, para poder "pintar" nuestra textura.

    Para ello disponemos de dos métodos:

    1. Captura de pantalla del editor UV.
    2. Utilizar un script en Python.

    El primero de ellos, muy rudimentario, consiste en escalar la ventana UV al máximo posible y capturar la pantalla. Blender puede hacerlo por nosotros con la combinación CTRL+F3. Nos permite guardar en el formato que hayamos seteado en los botones de render. Desgraciadamente con este método estamos limitados a la resolución de la ventana, por lo que no podremos generar imágenes muy grandes.

    Una vez hecho esta operación, deberemos abrir la imagen en el programa de edición de imágenes, y "recortar" solo la parte cuadrada útil del editor. Es necesario hacerlo porque sino no coincidira la forma de la textura con la forma del mapa obtenido en Blender.

    Luego sí, crearemos capas transparentes para nuestro trabajo utilizando la imagen del mapeado como plantilla en el fondo.

    El segundo método, requiere utilizar desde Blender el script "UVExport" escrito por Martin Poirier (aka “Theeth”). Simplemente necesitamos importar el texto en una ventana de texto y pulsar ALT+P para mostrar el GUI. Aquí podemos definir la resolución de la imagen (cuadrada) y el grosor y color de la línea con que se dibujara el mapa.


    Figura 13. El script UVExport y una salida típica en TGA.

    Una vez terminado obtendremos un TARGA (.TGA) con una imagen preciosa de nuestro mapa UV, que utilizaremos en el editor de imagen igual que antes, pero sin necesidad de recortar nada y con mayor resolución.

    Una pinturita
    Aún podemos hacer algo más con nuestro mapa, antes o después de exportarlo. Blender ofrece un medio para pintar nuestra textura desde el propio Editor UV. Originalmente estaba pensado para retocar una imagen, es por ello que solo se activa si cargamos una imagen en el Editor UV.

    Como lo que yo en realidad quiero hacer es crear una textura desde cero, preparé en Gimp, una imagen de 256x256 totalmente blanca. Esta imagen hará las veces de “tela” sobre la que pintaré la textura.

    Una vez cargada, activaremos el modo Face Paint, en el editor UV.

    Para poder pintar disponemos de los controles de Vertex Paint. Para hacerlos visibles, pulsemos “V” en la ventana 3D. Ahora podremos cambiar el color, tamaño de pincel, y opacidad del trazo con estos controles y haciendo clik con el botón izquierdo del ratón y arrastrandolo, podremos trazar y pintar sobre el fondo blanco que hemos cargado en el Editor UV. Si en la ventana 3D activamos el modo texturizado (ALT+Z) veremos en tiempo real el efecto de nuestro trabajo.


    Figura 14. El Modo Text Paint en la ventana UV. Para elegir el color y pincel, activamos el modo Vertex Paint en la ventana 3D.


    Cuando terminemos con el trabajo, podremos guardar la nueva textura generada cliqueando en el botón Save.

    Utilizando este método podemos “parchear” la textura si existen áreas inconexas en el mapeado (las brechas que hablábamos antes). Simplemente pintando un poquito aquí y alla podremos subsanar cualquier “salto” en la textura.

    Conclusión
    Ha sido trabajoso, verdad? Pues sí. Pero no vayan a creer que un Unwrap es menos trabajoso que esto !. Existen muchas cosas para mejorar en el Editor UV de Blender, como por ejemplo snapping de vértices, selección de grupos de caras, resaltado de las caras seleccionadas, etc, pero si trabajamos con paciencia y cuidado podemos resolver casi cualquier situación por nuestros medios.

    Si el tiempo lo permite, en la próxima intentaremos un Unwrap con ayuda de las herramientas de modelado de Blender y algo de Python.

    Hasta la próxima.

    por Claudio "malefico" Andaur
    http://www.malefico3d.org

    Última edición por 3dpoder; 07-07-2009 a las 14:21
    Si vas a subir un trabajo al foro, hazlo adjuntando la imagen, archivo, vídeo o lo que sea, no publicando enlaces de otros sitios. http://www.foro3d.com/f45/forma-correcta-de-insertar-imagenes-y-archivos-en-nuestro-mensaje-98930.html

    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Blender Mapeado de rectangulos
    Por Leal2009 en el foro Materiales y Texturizado
    Respuestas: 4
    Último mensaje: 01-08-2013, 23:49
  2. 3ds Max que es mapeado
    Por pikols en el foro Materiales y Texturizado
    Respuestas: 8
    Último mensaje: 25-06-2012, 19:55
  3. Mapeado
    Por SR.MUERTE en el foro Materiales y Texturizado
    Respuestas: 9
    Último mensaje: 11-01-2011, 09:39
  4. Maya textura y mapeado UV
    Por al3jandro en el foro Materiales y Texturizado
    Respuestas: 0
    Último mensaje: 19-09-2010, 09:08
  5. Mapeado
    Por rubbin en el foro Materiales y Texturizado
    Respuestas: 2
    Último mensaje: 18-06-2006, 23:36

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •