Introducción al diseño de la manipulación de personajes (rigging)
En ésta sección, voy a mostrar cómo ha evolucionado la animación de personajes desde sus comienzos, hasta lo que es hoy. Esto le va a ayudar a entender los conceptos universales y técnicas de control de personajes que se usan hoy en la animacion digital en 3D. Luego vamos a profundizar en los detalles más específicos relacionados a la implementación de estas técnicas en Blender
Los comienzos
"Money for Nothing"
Los primeros personajes en 3D comenzaron a aparecer en peliculas entre 1980 y 1985. En 1984, la banda de rock “Dire Straits” sacó un video musical para su cancion “Money for Nothing”, en el que aparecian un par de personajes de pocos polígonos
Cómo Hacer Un Movimiento
Probablemente no existía un objeto esqueleto en las aplicaciones 3D por aquella época, asi que ¿cómo podía alguien animar un personaje si no tenía esqueleto?
La solución fue usar una serie de objetos múltiples para aproximar la forma del personaje, y situarlos en herencia.
Ésto creó una técnica de animación bastante sencilla, simplemente se animaba la rotación de cada uno de estos diferentes objetos. Puede probar esto por usted mismo creando una herencia de objetos y luego rotándolos uno por vez. Ésta tecnica se hizo conocida como Cinematica directa, ó FK (por su nombre en inglés “Forward Kinematics”)
Un Esqueleto Ha Nacido
FK es un bueno proceso para generar movimiento, pero no se pueden utilizar múltiples objetos para todas las partes de nuestro personaje, porque parece falso. Si queremos que se vea algo orgánico, todo el personaje tiene que consistir de solo una malla (mesh). No hay quiebres en la piel alrededor de un codo humano, y así debería ser en un personaje humano generado por computadora. Así es que el objeto esqueleto fue creado. Es un objeto que puede ser rotado, movido y escalado, al igual que la gran mayoría de otros tipos de objetos 3D, pero es especial porque lo podemos usar para mover los vértices de un objeto malla. En Blender, éste objeto es llamado Armature, y nos referiremos a él de esa manera en adelante. Nótese que los ganchos (hooks) son también objetos que pueden mover los vértices de un objeto malla.
De Vuelta A Cinemática
Todavía existía un tema que resolver. Consideremos dos ejemplos; un brazo y una pierna. Un brazo puede moverse en el aire, pero las piernas necesitan hacer contacto con el suelo. El pie necesita estar completamente quieto (en relación con el piso, no el cuerpo) o cualquier chance de aparentar un movimiento realista se pierde. Si queremos que el personaje se mueva de parado a agachado, ¿cómo mantenemos el pie en un lugar mientras la rodilla y las caderas están rotando?
Un efector IK en movimiento
La solución a éste problema fue crear un nuevo método que implementa un proceso recursivo, que rota los huesos de manera que lleguen hacia un objetivo. Mientras el objetivo se encuentro dentro de rango, la cadena de objetos rota lo necesario para tocar el objeto. Este proceso es llamado Cinemática Inversa, o IK (por su nombre en inglés “Inverse Kinematics”)
Cuando se trabaja con FK, se debe rotar cada articulación a mano. Cuando se trabaja con IK, se mueve un objetivo, y los huesos están hechos para tocar el objetivo, de manera que todas las rotaciones se hacen solas automáticamente. Suena genial, ¿no?, ¿Quien necesita FK?. Bueno, los animadores, y la siguiente imagen muestra que IK y FK tienen comportamientos muy diferentes.
FK vs IK
Estos dos brazos tienen dos “key frames”, pero el de la derecha está animado con IK y el de la izquierda con FK. Para el brazo de la derecha, esto significa que el efector IK posee una posicion inicial, y una final. Para Blender, ésto significa que el animador está diciendo “ir desde el punto A, al punto B”, así que obviamente el efector va a viajar en línea recta. ¿Pero es eso lo que queremos? Quizás si, o quizás no, depende del personaje. Si es el brazo de un nadador olímpico en una piscina, entonces probablemente querramos un movimiento como el que vemos en el brazo de la izquierda. Pero si éste es el brazo robótico de una maquina que esta cortando una línea perfectamente recta en un pedazo de metal, entonces probablemente querramos algo como el movimiento del brazo de la derecha. Por lo general, sin embargo, necesitamos de IK y FK en el mismo personaje, pero en momentos distintos. Quizás nuestro nadador olímpico va a nadar hacia las escaleras, salir de la piscina y abrir una puerta corrediza, en cuyo caso su mano debe sincronizarse con la manija de la puerta mientras la mueve. Cubriremos la animacion IK y FK más adelante.
Sumario
Con suerte, la información que hemos cubierto hasta el momento, le ha ayudado a entender cómo la animación de personajes evolucionó desde lo que era a lo que es hoy. Con suerte, ésto le ha ayudado a ver cuales son los métodos y objetivos, y cómo las técnicas IK y FK encajan en la gran imagen que es la animación de personajes.
Mientras progresa más y más profundo en la animación de personajes, va a ver los términos “animación” y “manipulación” desperdigados por ahí, pero puede que no comprenda completamente los significados y diferencias entre estos dos términos. “Animación” es un par de cosas. En particular, es el acto específico de simular un movimiento. Por otra parte, básicamente todo en una película, TV o juegos, es hecho con el solo propósito de crear animación.
Por lo general, cuando a los profesionales de la industra se les pregunta “¿A que te dedicas?”, ellos siempre responden, “Soy un animador por computadora”. Ésto no tiene que significar que ellos de hecho hacen la animación, puede significar que trabajan para una compañía que produce animaciones. Con este criterio, todos los temas de gráficos de computadora, pueden ubicarse bajo el paraguas de la animación por computadora.
Ésta sección habla específicamente acerca del área en animación por computadora denominada “manipulación” (en adelante “rigging”). El rigging de un personaje es como diseñar los controles para una marioneta que cuelga de hilos, marionetas que se sientan en manos, marionetas que se mueven con barras metálicas, y por supuesto, todo tipo de marionetas animatronicas. Incluso en gráficos de computadora, necesitamos herramientas que nos ayuden a crear el movimiento. Éste es el mundo del rigging. Algunas de nuestras herramientas son:
Una serie de huesos conectados es llamado una “Cadena” (chain), y éstos son los términos que usamos para referirnos a los elementos en una cadena.
Herencia de objetos
Bloqueos en los ejes
Ángulos de libertad
Coacción de objetos (y)
Otros tipos de relaciones de objetos
Como las marionetas reales, las marionetas digitales necesitan uniones, y para eso tenemos objetos digitales como esqueletos (de ahora en adelante Armatures). Ordenamos estos objetos dentro de herencias de manera que cuando el cuello del personaje se mueva, su cabeza vaya con él. O cuando el brazo se mueva, el antebrazo no quede flotando por sí mismo, ni se necesita mover por si mismo para seguirlo. Dado que lo hicimos hijo del brazo en herencia, simplemente se mantiene unido. Y esto es igual para el brazo con el hombro, quien a su vez es hijo de la espina
A veces tenemos un objeto que trabaja como un control para las partes de nuestro personaje, pero queremos limitar las formas en que puede ser manipulado. Para estas situaciones, tenemos bloqueos de ejes. Esto nos permite hacer algunos huesos (bones) inmóviles, sin permitir rotación ni escalado tampoco. Hay 3 ejes para cada tipo de transformación, haciendo un total de 9 ejes, y podemos bloquear tantos como querramos o necesitemos
En algunas cadenas IK, queremos limitar el rango de movimiento de ciertos huesos. Un ejemplo podría ser la muñeca de una persona, debe rotar solo 180º. En Blender, podemos hacer esto usando AdM, Ángulo de movimiento, o DoF por su nombre en inglés Degrees of Freedom.
La herramienta más usada en el rigging es la de coacción (de ahora en adelante Constraint). Nos permite definir otros tipos de relaciones que las herencias puedan darnos. Tambien tenemos otras herramientas especiales, como los controladores IPO, pydrivers(controladores python) y Scripts Python
Traducido por Frapell de la documentacion oficial de Blender (http://wiki.blender.org/index.php/BSoD/Introduction_to_Rigging/Character_Rigging_In_Review)
No hay comentarios:
Publicar un comentario