Caminitos

por Malefico


En este tutorial intentaremos hacer un "walkcycle" o "caminata cíclica" para utilizar junto con la opción PATH del editor NLA de Publisher o Blender GPL.

Antes que nada diré que será necesario tener un conocimiento básico de las herramientas de animación, saber configurar un "armature" y tener paciencia. Asimismo es altamente recomendable que hayan leido el tutorial "NLA: Nunca Lograre Animar ?" que se encuentra en este sitio antes de leer este.

Partiremos de un personaje con un seteo idéntico al explicado por Lyubomir Kovachev en su tutorial sobre PIES en BlenderChar, es decir con los huesos de los pies separados del resto de la pierna, y con un hueso extra en cada una respectivamente para alojar un actuador IKA solver. Para más detalles por favor lean ese tutorial !

Por supuesto para aquellos que no tengan ganas de preparar el personaje, pueden descargar un ejemplo de aquí mismo.

Caminando en el aire


Existen dos maneras fundamentales para realizar un "walkcycle", la primera es haciendo realmente avanzar el personaje a lo largo del mismo y la segunda es haciendo caminar el personaje "in situ" o sea sin desplazarlo.

(estas animaciones son propiedad de www.idleworm.com)

Esta última opción si bien es más complicada de lograr, es la mejor para usar en animación digital, y será la que elegiremos en este tutorial.

El walkcycle en sí será una "acción" más del armature, por lo que crearemos una acción nueva para nuestro armature y en "pose mode" trataremos de obtener poses para el personaje como las que se muestran.

Existen algunos detalles a tener en cuenta al momento de hacer un armature para animar walkcycles. Como algunos sabrán, Blender usa una convención de nombres para los huesos. Sus nombres deben terminar con ".L" o ".left" para la izquierda y ".R" o ".right" para la derecha. Si usamos esta convención estará disponible el botón "Paste Flip Pose" para copiar la pose "invertida" de nuestro modelo.

Para hacer caminar nuestro modelo, nos limitaremos a mover sus pies, por cuanto los IKA solvers se encargarán de arreglar el movimiento del resto de la pierna. Para asegurarnos de que los pies se muevan distancias discretas, activemos la opcion Grab Grid antes de empezar, y si es necesario cambien el tamaño de la rejilla a un valor mas pequeño.

La mecánica de trabajo sería así, pongo el modelo con la Pose 1 en el cuadro 1 por ejemplo, inserto keyframes para los huesos que me interesen. Sin deseleccionarlos pulso "Copy Pose". Ahora en memoria se almacenan las posiciones de todos los huesos. Avanzo unos cuadros y presiono "Paste Flip Pose". Se "pegará" en este cuadro la pose invertida (Pose 3), es decir si antes estaba la pierna derecha adelante, ahora está atrás y viceversa.

Si por el contrario, vemos que la malla se ha deformado de forma ridícula, no desesperar !, entra a Edit Mode, selecciona todos los huesos y presiona CTRL+N. Esto hará que se recalculen los torques de los huesos, que es lo que provoca las "contorsiones".

Ahora selecciono los huesos que me interesen e inserto keyframes para ellos. Avanzo otros cuantos cuadros (la misma cantidad que antes es lo mejor) y presiono "Paste Pose", con lo que se repite la pose inicial del ciclo.

De esta manera hemos logrado un walkcycle al estilo "Michael Jackson", nuestro personaje no levanta nunca los pies del suelo. Para remediarlo vayamos a alguna posición "intermedia" entre las dos primeras poses y movamos los pies hasta lograr algo como la Pose 2. Insertemos keyframes para los pies y copiemos la pose. Ahora movamonos hasta una posicion igualmente intermedia entre las dos ultimas poses e insertemos la copia invertida. Insertemos los keyframes necesarios y ya casi estamos. Al hacer ALT+A veremos nuestro personaje mover los pies casi naturalmente.

Será de utilidad contar cuantas unidades de Blender serán barridas con cada paso, lo que se consigue contando los cuadrados entre ambos pies en la Pose 1. Este será el parámetro STRIDE que emplearemos luego en el editor NLA (ver más abajo).

Con los pies en la Tierra


El movimiento que obtuvimos puede ser mejorado agregando más poses intermedias, eso quedará al gusto del animador, ahora nos centraremos en lograr que el personaje camine realmente.



Primero que nada deseleccionemos la acción walkcycle que hemos creado en el armature, de modo que deje de moverse al hacer ALT+A. Para hacerlo presionen en la pequeña X al lado del nombre de la acción en la ventana de acción.

Luego crearemos un objeto PATH para nuestro héroe intentando que no sea demasiado curvo por ahora (si es posible recto mejor), una vez hecho emparentaremos el caminante al camino (y no al revés). Si todo fue bien, al hacer ALT+A veremos como nuestro personaje se desplaza a lo largo del sendero trazado.

Ahora nos vamos a una ventana NLA, y agregaremos la accion walkcycle en un canal. Con la misma seleccionada presionaremos N y pulsaremos el botón "Use Path".

Ahora si hacemos ALT+A puede ser que veamos algunas cosas graciosas. Esto se debe a que no hemos seteado el valor STRIDE.

Este valor es la cantidad de unidades de Blender que el modelo debe avanzar con cada ciclo y es muy importante que lo estimemos lo mejor posible. Una vez contado (ver más arriba) lo ingresaremos en la caja STRIDE.

Si se ajusta bien este parámetro y el walkcycle fue correctamente definido no se deberían ver "patinadas" de nuestro personaje.

Una forma de estimar más o menos precisamente este valor es contar cuantos cuadrados de la rejilla existen entre las puntas de los pies en la pose 1. Este valor multiplicado por 2 y por la escala de la rejilla (normalmente un cuadrado es = 1 unidad blender, pero podría no serlo como en el ejemplo, donde 2 cuadrados = 1 unidad blender) nos dará el valor de STRIDE buscado.

En nuestro ejemplo tenemos 5 cuadrados entre las puntas de los pies, como la escala de la rejilla es 0.5 nos quedará:

STRIDE = 5 x 0.5 x 2 = 5

Cambiando velocidades


Es posible que deseemos que nuestro caminante se mueva más rápido o más lento de a ratos o que incluso se detenga unos momentos antes de seguir. Todo esto lo podemos hacer editando la curva Speed del path.

Vamos por partes, seleccionando el path abramos una ventana IPO. Allí veremos una curva normalizada entre 0 y 1 en ordenadas (las Y), y entre 1 y el ultimo frame en abcisas (las X). La coordenada Y representa la posicion relativa dentro de la curva path y la pendiente de la recta, la velocidad de desplazamiento. En Edit Mode agregaremos dos puntos con igual coordenada Y. Esta meseta representa una pausa, que va desde el frame 40 al 60 en la figura.

El problema es que cuando veamos a nuestro personaje detenerse, lo veremos con una pose "congelada" con un pie en el aire y otro en el suelo.

Para solucionar este problemita acudiremos, claro está, a la ventana NLA. Lo que deberemos hacer es insertar una acción que muestre al personaje en reposo. Yo la he definido como una acción de un único frame, donde he eliminado los movimientos y rotaciones de los pies, seleccionandolos y pulsando ALT+R (para eliminar las rotaciones) y ALT+G (para eliminar los desplazamientos).

Esta accion la insertaremos entre los cuadros 40 y 60 de modo que coincida perfectamente con el cambio de velocidades. Para evitar transiciones bruscas podemos añadir algunos cuadros de BlendIn y/o BlendOut. De esta manera el personaje cambiará suavemente de poses y todo andará bien.

Por supuesto también podremos combinar distintos walkcycles en un mismo path, por ejemplo definir un walkcycle de "carrera" y usarlo en la zona en que el personaje se mueve mas rápido.

En estos casos deberemos tener en cuenta que se sumarán los efectos de una banda NLA sobre las precedentes y solo sobre ellas, razon por la cual siempre convendrá insertar las acciones que sean walkcycles o reposo primero que cualquier otra.

Bueno, creo que eso es todo por ahora. Experimenten y disfruten !