12 ene. 2014

Movimientos cíclicos usando Motion Capture en Blender 2.69

Cuando realizamos una captura de movimiento muchas veces resultará útil tener algún ciclo en una parte de los movimientos. Por ejemplo, un personaje que camina o corre realiza siempre el mismo grupo de movimientos y sería muy trabajoso capturar todo el evento de caminar. Lo mejor es que el personaje camine o corra realizando un ciclo.
Pero aquí existe el impedimento de que si agregamos el modificador cycles en la curva de la caminata, el personaje volverá a la posición inicial en cada ciclo dado que la captura de movimiento se realiza en todos los ejes, y toma también la traslación.
Para solucionar esto vamos a seguir algunos pasos simples. Primero, ya tendremos listo el motion capture de los huesos necesarios del personaje. En este caso son 5 huesos. Las dos manos, las dos piernas y el torso. Para aprender a hacer estos pasos se puede consultar el siguiente tutorial:

Movimiento capturado sobre un personaje creado en MakeHuman

Comienzo del tutorial

Entonces, ya tenemos el Armature listo y los Emptys generados desde el Motion Capture


Acto seguido, le damos a cada Empty generado Object, Animation, Bake Action. Esto es para transformar los movimientos generados en el Motion Capture a Keyframes. Una vez transformado, debemos desvincular el track desde Add Object Constraint y eliminar el Follow Track de lo contrario se producirán movimientos no deseados.



Una vez hecho esto ya tendremos todos los Track libres y con sus Keyframes disponibles para poder ser modificados. Entonces buscaremos el ciclo que se repita, todo el período, y agregaremos otro Empty al cual emparentaremos todos los Track (en este caso, los cinco Track están emparentados a un Empty esfera). Entonces, iremos al final del período (un fotograma antes de que vuelva a la posición inicial) y agregaremos un Keyframe al Empty padre. Un fotograma después, cuando todo vuelve al inicio, moveremos ese Empty padre hasta la posición correcta y le agregaremos otro Keyframe de localización. De esta manera, el Empty dará un salto posicionando al personaje en el lugar corrrecto para seguir caminando. En el video que se adjunta más abajo se ve este movimiento.


En mi caso, en el fotograma nº 36 se cierra el ciclo y en el 37 el personaje recomienza. Entonces, del fotograma 36 al 37 el Empty padre realiza el salto posicionando al personaje para que recomience el proceso. Esto se puede repetir las veces que sea necesario para que se repita el ciclo. Aquí lo repetí 8 veces. En el siguiente video adjunto se ve el resultado.




Y es así de simple. Lo complicado es solapar el último movimiento con el primero. En realidad, sería la parte más lenta del proceso. Porque al ser una captura de movimiento, siempre hay diferencias en las posiciones respectivas de los movimientos repetitivos.
Pero lo ideal es crear otro grupo de Emptys que estén emparentados con los Track creados y a su vez los huesos a estos nuevos Emptys. Así, se puede modificar mejor los errores en las partes que se han de solapar, porque estos nuevos Emptys están libres de moverse a su antojo y además se los puede colocar sobre los huesos más específicamente. No se requiere que el personaje real que hará de actor guarde las mismas proporciones con el personaje virtual. Bueno, cualquier cosa lo discutimos en los comentarios.
De modo que cualquier pregunta o sugerencia será bien recibida.

2 comentarios:

Ariel Gimenez dijo...

interesante,podrias crear media postura de caminata y duplicar completamente esa mitad para crear la animacion completa...

Mariano Miguel L. dijo...

Sí, completamente Ariel. Saludos y gracias por el comentario!