por Malefico
Con la llegada de Publisher algunos pocos afortunados pudieron disfrutar de la Animacion No Lineal. Ahora que Blender 2.25 fue liberado por la Blender Fundation todos tenemos la posibilidad de explorar las ventajas de esta nueva cualidad de Blender (y escribir tutoriales como este) pero desgraciadamente la documentación oficial es un tanto "concisa" por decir algo.
En este tutorial intentaré transmitirles las cosas que pude descubrir después de leer la documentación, preguntar por ahí y experimentar por aquí.
ADVERTENCIA: Este tutorial requiere un conocimiento intermedio del manejo de Blender en lo que respecta a operaciones de animación con armatures que no serán explicadas aquí.
Para seguir este tutorial necesitaran al menos la version 2.25 de Blender Publisher (dscargable de Blender Dot Org).
Primero que nada dejenme recordar
brevemente
como se animan personajes con armatures en Blender. Como bien saben (o
deberían si leyeron la ADVERTENCIA) lo que se hace es
definir
"acciones" para nuestra armature. Estas acciones contendrán
las
poses que queremos que nuestro personaje adopte a lo largo de la
linea de tiempo. El problema comienza a vsilumbrarse cuando uno
anima acciones ciclicas (como una caminata) pero al mismo tiempo
quiere que el personaje haga otras cosas (como estornudar,
guiñar un ojo, o agacharse un momento).
Lo más racional
no es hacer una única acción donde el personaje
camine, guiñe,
estornude y se agache sino desdoblar la accion compleja en
acciones más simples y luego componer la secuencia
combinando
estas acciones. Sino, las acciones no podrían reutilizarse
de
forma sencilla en otras escenas y todo sería malo y feo
:-P.
Cuando no
existía el NLA en Blender, el animador de personajes se
encontraba con
el siguiente escollo: para combinar las acciones en una secuencia
uno debía crear una accion "depósito" donde pegar
las veces que
haga falta las acciones mas simples en forma secuencial (de
ahí que
esto se llamara "Animación Lineal"). Así se
resolvía el problema de la
reutilización de acciones, pero no el de simultaneidad de
acciones
puesto que no había forma de superponer poses. Este otro
problemita
podía resolverse si uno copiaba las "keyframes" de la accion
"guiñar"
por ejemplo y las pegaba en el moemnto oportuno de la accion
"deposito", lo que resulta bastante laborioso y propenso a errores que
no voy a describir aquí...
Ahora que están mas o menos
convencidos que
antes todo era malo, dificil y oscuro, presentamos a la
Animacion No Lineal o NLA, el amigo de los niños y defensor
de los
inmigrantes ilegales !!!
Para poder siquiera intentar algo
necesitaremos un personaje modelado, un armature y un par de acciones
definidas. Si no saben de donde sacar todo eso, bajenlo de aquí.
Recuerden:
jamás salir a tutorear sin llevar un blend ;-)
Cuando abran
el blend verán cuatro ventanas, una ventana 3D con el
personaje
(criticas abstenerse), otra con la ventana de acciones, otra con
curvas IPO (sin ninguna curva, en realidad) y por ultimo la ventana
NLA. Si seleccionan el armature y van a la ventana de acciones
verán
que existen dos acciones definidas: "caminar" y "brazos". En cada una
de estas acciones solo hay "keyframes" para los huesos del armature
que nos interesan, en la acción "caminar" solo hay keys para
las
piernas y en "brazos"... adivinen.
La idea es trabajar en cada
movimiento simple y luego combinar todo en la ventana NLA.
![]() |
Para agregar acciones en la
ventana NLA deberemos
posicionar el ratón sobre el canal del armature que nos
interese y
pulsar SHIFT+A. Se desplegará un menú con los
nombres de todas las
acciones disponibles. Si no ubicamos el ratón sobre el canal
del armature nos aparecerá un error con el mensaje "ERROR:
Not an
armature". |
![]() |
Entonces, sin tener ninguna accion
activa en la ventana
de acciones, pulsamos SHIFT+A y agregamos la accion "caminar" que
aparecerá como una "banda NLA" amarilla mientras sea la
banda activa,
o rosada si no lo es. |
Ahora podremos editar las propiedades de esta accion que se ven a continuación:
![]() |
Aquí se ven
varias cosas, entre ellas la cantidad de frames que tiene la
acción
(Action Range) y la duración de la misma dentro de la
animación o
linea de tiempo (Timeline Range) indicada por el frame inicial y
final. Si modificamos este ultimo par de valores podremos alargar la
accion en el tiempo produciendo una ejecucion de la accion "retardada"
o "acelerada" a lo largo del tiempo. Nos vamos a concentrar en el
valor "Repeat". Aquí podemos especificar cuantas veces
queremos que la
accion se repita a lo largo de la linea de tiempo. Como nuestra accion
tiene 25 cuadros y la animacion entera la he hecho de 100, me
pareció
bien repetir el ciclo 4 veces. Sin embargo podría haber
puesto otro
número y Blender se habría encargado de fundir
los ciclos de manera de
no producir saltos en la animación. Pruebenlo por ejemplo
con 7 y
verán que el personaje camina más
rápido. |
Ahora si se hace ALT+A en la ventana 3D se puede ver como el ciclo se repite suavemente. Claro, hasta ahora no hemos visto nada realmente nuevo. Volvamos a la ventana NLA y agreguemos otra accion, en este caso "brazos". Esta accion es mas corta, pues tiene 21 cuadros, pero la repetiremos 4 veces y le pondremos un timeline de 100 tambien (estos parametros ya estan ingresados en el blend, basta verlos pulsando N mientras se mueve el cursor sobre la banda de animacion. Podemos jugar con el numero de repeticiones, el cuadro inicial o final de la animacion en el timeline y ver los resultados de nuestra experimentacion: ahora mientras camina, el personaje balancea los brazos en forma natural.
Esto no seria nada sino pudieramos
aprovecharlo
para hacer desplazamientos de los personajes. Para ello disponemos de
las opciones "Use Path" y "Stride". Si emparentamos el armature de
nuestro personaje a una curva de tipo PATH o sendero, y tenemos
activada la opción "Use Path", la accion se
ajustará al
desplazamiento a lo largo del camino según lo indicado en el
parámetro "Stride". Por ejemplo si ponemos Stride = 8,
cuando la
accion ejecute un ciclo, el armature avanzará 8 cuadros de
PATH
(recordemos que la longitud del path está definida en los
botones de
animación).
Para ver esto funcionando, cambien a la escena PATH
en el blend de ejemplo y hagan ALT+A en la ventana 3D. Aquí
he
modificado el BlendIn y el BlendOut de la accion "caminar" y tambien
modifiqué la curva IPO del path haciendola poligonal, para
que no se
vean las caracteristicas aceleradas y frenadas del principio y final
del camino (ver la ventana IPO).
![]() |
Otras opciones que no comentamos
aún son "Add"
que activa el modo de mezclado "aditivo" de las acciones y "Hold"
que fija el ultimo cuadro de una acción.
Con ADD activado,
el efecto de una accion se sumará al de las precedentes,
produciendo (si actuan sobre los mismos huesos) desplazamientos
mayores de lo normal.
"Hold" se puede utilizar para obligar
al personaje a mantener una postura luego de haberla alcanzado. Por
ejemplo, podría haber una accion "GirarCabeza" y hacerla
Hold para
que la cabeza permanezca girada luego hasta el final de la
animacion.
Ya no queda mucho por decir sobre la NLA
aplicada a armatures. Ahora solo resta experimentar y mostrar
los resultados de tus animaciones al mundo. Una ultima recomendacion:
en la ventana NLA podemos editar keyframes, duplicandolos con SHIFT+D,
arrastrandolos con G y borrandolos con X, pero al borrarlos, se
borraran permanentemente tambien los keyframes de las acciones como si
lo hubieramos hecho en la ventana de acciones. Asi que mucho cuidado y
antes de borrar nada, mejor conviertan a "banda NLA" cualquier
accion.
Mucha suerte blendermaniacos !