Resultados 1 al 1 de 1

Tema: Crear esqueleto y animar personaje 3d

  1. #1
    Fecha de ingreso
    Apr 2002
    Mensajes
    25,945

    Crear esqueleto y animar personaje 3d

    crear esqueleto y animar personaje 3d.
    por David ipknightly lettier.

    introducción.

    Dotar de movimiento los elementos de tu juego es indispensable para lograr una inmersión total. Algunos objetos como rocas, vegetación, edificios, pueden y deben ser estáticos, sin embargo, tu personaje principal y los personajes no-jugadores(1) que lo acompañan (entre otros elementos artísticos que forman parte del juego) necesitan poder moverse de forma realista para atrapar la mente del jugador y sumergirlo dentro del mundo virtual que estas creando.

    Para ayudar a tus personajes a moverse, primero debes familiarizarte con la terminología o jerga implícita. Animación, ya sea 2d o 3d, consiste en crear una secuencia de cuadros o imágenes que cambian sutilmente a medida que se avanza en la cuenta del número de cuadros o imágenes. Mostrando estas imágenes en rápida sucesión creamos la ilusión de animación o movimiento. Se denomina cuadros clave (keyframes) a aquellas imágenes particulares que definen una posición o punto en el espacio y de las cuales partiran las interpolaciones. En otras palabras, los cuadros clave representan un cambio sutil o abrupto en el movimiento de nuestra animación. Pongamos como ejemplo que estás animando una bola que rebota. Para esto necesitarás crear tres cuadros clave: uno en el aire, uno cuando la bola golpea el suelo y otro en el aire nuevamente, pero ligeramente más abajo que antes. Sin embargo, nos faltarían imágenes entre cada cuadro clave (2), lo que solucionamos mediante la interpolación. Interpolación es el método mediante el cual se construyen nuevos datos a partir de un discreto número de datos conocidos. En el ejemplo de la bola, definimos la posición/posiciones/cuadros en los que la bola necesita estar basados en los cuadros clave de inicio y fin. Mediante el uso de interpolaciones, no necesitamos definir/crear cada cuadro de la animación como la haríamos en animación 2d. La animación vértice por vértice (o animación de transformación de objetivo) se usa para dotar de movimiento a las mallas (y similares) de los personajes.

    Moviendo los vértices individuales de la malla en cada cuadro clave, se puede lograr movimiento realista interpolando cada vértice entre cuadros clave. Skeletal animation (animación mediante esqueleto) usa huesos o sistemas de armadura con cada hueso asignado a un grupo de vértices. Éste proceso de asignación de huesos a grupos de vértices se denomina skinning ya que, consiste en colocarle a los huesos la piel (skin) que es en este caso nuestra malla. De manera que al mover los huesos, movemos también los grupos de vértices que les hayamos asignado. Definiendo la posición de los huesos para cada cuadro clave, los huesos y sus grupos de vértices son interpolados entre cuadros clave.

    Una desventaja importante de la animación esquelética es la pérdida de control preciso sobre la posición de los vértices en cada cuadro clave. También la malla no siempre se deforma correctamente, como, por ejemplo, en la contracción de un bíceps al mover el hueso del antebrazo. Por otra parte, la animación per-vertex consume mucho tiempo ya que se debe definir la posición de cada vértice individualmente, sin embargo, ofrece un control más completo. Para este tutorial usaremos animación esquelética.

    Comencemos por abrir Blender, presiona la tecla [a] luego [x] y finalmente haz clic en ok>> erase selected object(s)? Para eliminar la cámara, lámpara y cubo suministrados por defecto. Presiona [1 del teclado numérico] para cambiar a la vista frontal. [shift-f1] para añadir a tu actual archivo Blender el archivo suministrado junto a este tutorial. Encuentra el directorio donde colocaste el archivo suministrado. Haz clic en el archivo (*.blend) y busca la sección object. Cliquea object, luego Joe y luego load library. Tu pantalla debería ser parecida a la de abajo.



    Como siguiente paso asegúrate de que el cursor esté centrado en el área pélvica de joe desde las vistas frontal y lateral. [barra espaciadora] add>>armature. Esto creara una nueva armadura o sistema de huesos para nuestra malla joe. Deberías tener algo muy similar a la imagen siguiente.


    Ahora comenzaremos a construir un sistema de esqueleto muy similar a la siguiente imagen.


    Para hacerlo, con la herramienta extruir presionamos la tecla [e] ok? >> extruimos segmentos de huesos (empezando por el hueso de la pelvis) para crear un hueso para el pecho, el cuello y la cabeza. Ahora coloca el cursor en el área del hombro y presiona [barra espaciadora] add>>bone y comienza a extrudir huesos para crear los tres correspondientes al antebrazo, el brazo y la mano. Duplica esto para cada brazo (dos en total). Recuerda guiarte por tu imagen de referencia. Una vez finalizado con esto, coloca el cursor sobre el área más alta del muslo en la malla para crear el hueso del muslo, luego el de la espinilla y el pie de la misma forma que lo hiciste con los brazos. Ahora coloca el cursor (observando el modelo desde la vista lateral, [tecla 3 del teclado numérico]) y agrega un nuevo hueso para los dedos de los pies. Asegúrate de agregar uno para cada pie.

    Ok, ahora que la disposición básica de nuestro sistema de esqueleto esta completa es el momento de emparentar y nombrar ciertos huesos entre sí para crear una jerarquía. Estando aún en modo de edición para los huesos presiona [f9] para que aparezcan los botones del modo edición (en caso de que no estuvieran ya ahí). Busca armature Bones>> selected Bones en la ventana de botones. Asegúrate de seleccionar todos los huesos con [a]. Para hacer la explicación más sencilla haz coincidir el nombre de tus huesos (Bones) y padres (parents) con los de la imagen siguiente. Observa, que es una típica convención de notación agregar _r o _l para cada hueso derecho (right) o izquierdo (left) respectivamente.



    Recapitulando hasta este punto, hemos añadido nuestro objeto joe a la escena, hemos creado una disposición básica para nuestro sistema de armadura humanoide, y hemos asignado el nombre y el ancestro (o padre) de nuestros huesos. A continuación asignaremos grupos de vértices al sistema de armadura por medio del proceso denominado pintura de pesos weight panting en inglés. (ver cuadro).
    Weight painting o pintura de pesos en Blender, es el proceso por el cual pintamos los vértices de nuestra malla para asociarlos con sus respectivos huesos asignando al mismo tiempo un valor o influencia. El color de la pintura que utilicemos sobre los vértices servirá para indicarnos el valor de peso o influencia que el hueso tiene sobre el vértice, siendo el peso o valor del color azul 0.0 o ninguna influencia, mientras el rojo indica total influencia (peso 1.0). Ver la imagen de abajo.


    Ensayo y error será la técnica elegida hasta que te familiarices con las mallas y la pintura de pesos en general. Teniendo seleccionada la malla [botón derecho del ratón] selecciona la armadura que creaste, con la tecla [mayúscula] más [botón derecho del ratón]. La malla debería verse rosa oscuro mientras la armadura rosa claro. Ahora con ambas seleccionadas, presiona [Control + p] make parent to>> armature y entonces create vertex groupsí>> create from closest Bones. Con los huesos emparentados a la malla, selecciona sólo la malla y entra en el modo de pintura de pesos (weight painting mode). Deberías ver algo similar a esto:

    Serán raras las ocasiones en las que no debas cambiar los vértices seleccionados automáticamente por la opción create from closest Bones (crear a partir de los huesos más cercanos). En la mayoría de los casos tendrás que al menos seleccionar o remover algunos vértices de los grupos de vértices. Algunas veces es incluso mejor borrar todos los huesos seleccionados pintando sobre los vértices con un peso de cero y opacidad máxima. Como dijimos antes, la pintura de pesos puede ser considerada un poco como un arte. Escoger cuales vértices pertenecen y cuáles no a cada hueso puede ser algunas veces un trabajo duro. Selecciona el hueso con el que te gustaría comenzar la pintura de pesos en el panel enlaces and materiales>>vertex groups en la ventana de botones. Para pintar la influencia o valor de peso, [botón izquierdo del ratón] sobre la malla en la vista 3d. Mientras pintas sobre la malla notaras que los vértices son coloreados bien sea de rojo, verde, azul, o un color de aquellos basados en el valor de peso indicado en Paint en nuestra ventana de botones. Los colores nos indican la influencia que tiene el hueso sobre los vértices. Para la mayoría de las aplicaciones pintar en rojo parece ser suficiente, sin embargo, podrías encontrar excepciones. Finalmente en lo que concierne a la pintura de pesos (o grupos de vértices en general), podrías encontrarte con lo que se conoce como pellizcado (pinching), áreas donde muchos vértices están asignados a varios huesos creando deformaciones exageradas. Ver imagen de abajo.

    Para corregir esto, remueve los vértices que no deberían moverse con el hueso que estas rotando. Nuevamente esto debería ser principalmente cuestión de ensayo y error.


    Finalmente llegamos a la parte divertida, el modo de postura o la verdadera fase de animación. Selecciona la armadura [botón derecho del ratón] y entra en el modo pose (pose mode) seleccionándola del mismo menú desplegable donde se encuentran el modo de edición y el modo objeto. Tu pantalla debería verse como ésta.


    Antes de comenzar, selecciona el hueso raíz o hueso de la pelvis [botón derecho del ratón] y rótalo con [r]. Esto rota toda la malla/armadura. Si ves que uno o varios vértices no se desplazan con la rotación de la malla tendrás que seleccionar la malla y regresar al modo de pintura de pesos para asignar estos vértices a sus apropiados grupos de vértices. Ver la imagen siguiente.


    Si en algún momento deseas regresar la armadura y consecuentemente la malla a sus posiciones originales presiona [Alt+r] para eliminar los valores de rotación aplicados en el modo pose. Observa que también puedes seleccionar rest pues para retornar a la posición original, sin embargo, ésta no permite aplicar ninguna transformación y no es permanente. Mientras se anima es de mucha ayuda pararse frente a un espejo y representar uno mismo los movimientos si es posible (o puedes pedirle a alguien más que lo haga por ti y grabarlo para referencia futura). Para facilitar la explicación haremos una animación ridículamente fácil. Comenzaremos seleccionando el hueso del cuello con [botón derecho del ratón] para luego presionar la tecla [i], selecciona entonces la opción Insert Key>> locrot. Veras aparecer un cuadro clave para el hueso del cuello en el editor de acciones. Ahora adelanta 10 cuadros presionando la tecla [flecha hacia la derecha del teclado numérico].

    Rota el hueso del cuello unos 30 grados (haciéndolo mirar hacia arriba) e inserta otro cuadro clave como hiciste antes. Regresa al cuadro número 1 presionando la tecla [flecha hacia la izquierda del teclado numérico] y presiona [alt-a] en la vista 3d. Si lo hiciste todo correctamente, deberías ver la malla mirando arriba hacia el cielo. Ver la imagen.


    Ahora vayamos a los botones del motor de juego o logic [f4] buttons. Crea exactamente lo que ves aquí. (observa que la acción o ac se llama lok_up o mirar hacia arriba en español). Ver imagen de abajo.


    Una vez hecho esto y con el cursor sobre la vista 3d, presiona la tecla [p] y después [enter], ignora el mensaje de error (no correct) de la cámara. Si hiciste todo correctamente, deberías poder presionar y sostener la tecla [l] haciendo que el personaje mire hacia arriba. Como práctica puedes crear otras animaciones: agitar una mano o un ciclo de marcha.
    reflexiones finales.

    Para juegos de vídeo, la mayoría de las animaciones serán simples y estáticas (sin desplazamiento del personaje). Sólo cuando se traiga la animación al motor de juego se cambiara la posición de la malla mientras se ejecuta la animación para crear la ilusión de caminata.

    Para las cinemáticas del juego, animaciones más complejas serán obviamente requeridas. Recuerda que cuantos más cuadros tenga tu animación entre cuadros clave más lenta será y viceversa. Si mientras animas encuentras que los huesos están demasiado torcidos o difíciles de trabajar, puedes eliminar la rotación del hueso en ese cuadro y reposicionarlo.

    He hecho todo lo posible para suministrar información correcta, sin embargo, si encuentras algún error por favor contáctame. No me considero un experto, por lo tanto si piensas que algo puede hacerse de forma diferente sigue adelante y hazlo de la forma que te sea más cómoda, yo sólo proveo esta información como ayuda más que como un dictado.
    *(1) npcs (non-player character) en el texto original. Son los personajes que no controla el jugador.
    *(2) en animación tradicional se denomina a estos cuadros Inbetwens o twens.
    enlaces .

    Puedes encontrar el archivo (*.blend) en http://www.cgartwork.com/DCL/characteranimation, blend y una película en formato avi de una animación más compleja en http://www.cgartwork.com/DCL/characteranimation, avi.


    David lettier es un desarrollador de juegos aficionado, practicando y mejorando sus habilidades desde 2004. Siendo un lobo solitario David es un programador, animador y diseñador de sonido autodidacta. Si quieres contactarlo para hacerle un comentario/pregunta/ sugerencia y/o unirte a su causa utiliza la siguiente dirección de correo electrónico: dlettier@gmail.com

    www.blenderart.org. equipo de traduccion.
    Miniaturas adjuntas Miniaturas adjuntas Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-1.jpg 
Visitas: 29399 
Tamaño: 53.1 KB 
ID: 104876   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-2.jpg 
Visitas: 31916 
Tamaño: 62.9 KB 
ID: 104877   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-3.jpg 
Visitas: 28751 
Tamaño: 59.5 KB 
ID: 104878   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-4.jpg 
Visitas: 22892 
Tamaño: 52.3 KB 
ID: 104879  

    Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-5.jpg 
Visitas: 22622 
Tamaño: 130.6 KB 
ID: 104880   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-6.jpg 
Visitas: 22562 
Tamaño: 95.9 KB 
ID: 104881   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-7.jpg 
Visitas: 23719 
Tamaño: 40.2 KB 
ID: 104882   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-8.jpg 
Visitas: 25164 
Tamaño: 53.9 KB 
ID: 104883  

    Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-9.jpg 
Visitas: 23328 
Tamaño: 55.4 KB 
ID: 104884   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-10.jpg 
Visitas: 23501 
Tamaño: 57.4 KB 
ID: 104885   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-11.jpg 
Visitas: 22438 
Tamaño: 40.1 KB 
ID: 104886   Clic en la imagen para ver su versión completa. 

Nombre: crear-esqueleto-y-animar-personaje-3d-12.jpg 
Visitas: 21133 
Tamaño: 7.7 KB 
ID: 104887  

    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Blender Esqueleto para animar
    Por Tecna en el foro Trabajos en Proceso
    Respuestas: 15
    : 19-11-2014, 09:01
  2. Maya Crear esqueleto y animar personaje 3d
    Por Zir-Razgmun en el foro Animación y Rigging
    Respuestas: 0
    : 12-06-2012, 07:55
  3. Respuestas: 238
    : 09-10-2007, 08:54
  4. Maya Animar solo esqueleto
    Por MiguelPerez en el foro Animación y Rigging
    Respuestas: 5
    : 20-02-2006, 15:57
  5. 3dsMax Cómo animar un esqueleto
    Por x3mdesign en el foro Animación y Rigging
    Respuestas: 0
    : 17-07-2003, 16:24

Etiquetas para este tema