Hasta aquí el personaje principal
tenía el modelo
hecho, arreglados los defectos, y ya lo he vestido. Así que para
terminar solo queda que se mueva y haga cosas.
Rigging
Para poder animar
un personaje, primero hay que ponerle huesos. Lo hice con un
esqueleto predefinido de la colección CAT de 3Ds max, por lo que no
tuve que hacer el esqueleto en si, hueso a hueso, poner las
restricciones, uniones... pero si la parte final, el skinning, donde
se asigna qué parte de la malla se ve afectada por el movimiento de
cada hueso.
Es decir que si
tenemos un triángulo cerca del codo, tendremos que decir a cada
vértice de ese triángulo cuanto debe moverse con el movimiento del
hueso del antebrazo, y cuantos con el del brazo superior. Hay
herramientas automáticas, intentas ajustar los huesos lo mejor
posible a la malla, usar herramientas de pintado de pesos en 3D, pero
en el peor de los casos te toca ir vértice a vértice dando un
porcentaje de afectación por cada hueso. Recuerdo que mi modelo
tiene 26.000 polígonos, y el esqueleto unos 20 huesos sin contar
dedos. Si realmente lo hiciéramos a lo bruto y pusiéramos un peso a
cada vértice por cada hueso serían más de medio millón de cifras
a escribir. Un trabajo titánico. Peor bueno, no nos pongamos en el
peor de los casos, habrá partes que si colocaste bien los huesos
vayan bien solas, y a nadie se le ocurre que haya que modificar el
peso del hueso del pie en la parte de la malla de la cabeza.En la imagen
de abajo se puede ver por colores la zona de la malla que un hueso
afecta mucho (rojo), medio (amarillo) o poco (azul). También se puede
ver que como no iba a hacer gestos con las manos, más allá de cerrar o
abrir el puño, puse un solo hueso para los 4 dedos que no son el pulgar y así ahorrar trabajo de skinning y animación.
Aún así da
problemas. Muchos problemas. Hay partes críticas, sobre todo
articulaciones, donde es muy difícil repartir bien la influencia de
los huesos. Hay vértices que les bajas la influencia de un hueso y
lo reparten con todos los demás que cree que están involucrados,
¡aunque sean de otra pierna! Así que pasamos a tener brazos con
trozos de piel que llegan al otro brazo, piernas que se doblan en
plano, trozos de una pierna que se mueven con la otra. O en general
movimientos muy poco creíbles, como si más que una persona fuera un
muñeco relleno de arena, o directamente un ser del inframundo que se
deforma de maneras que las leyes físicas no permitirían. Para probar
que tal va, cargas una animación, y vas probando si salen cosas
raras y vas arreglando.
Me volví loco,
había veces que ya no sabía qué hacía mal, por más que probaba
combinaciones racionales de pesos para una articulación se movían
rarísimo. Y hay que tener en cuenta que una articulación de este
modelo tiene cientos o miles de vértices y al menos 2 huesos
implicados, así que cada prueba suponía una larga modificación de
cifras, o intentar pintar pesos con alguna herramienta. Me
desquiciaba, llegaba a puntos que no sabía por donde seguir y volvía
a empezar, probé distintos esqueletos de CAT, combinaciones de
herramientas... Al final, y después de una semana de trabajar en
ello todos los días, todo el día, conseguí que se moviera medio
decente, al menos que no se vieran cosas alarmantes al mover el
personaje con las animaciones básicas. Podía pasar a la siguiente
fase.
Animación
Y llegamos al paso
final de la parte de diseño del personaje: animarlo. En esto si
tenía más experiencia, ya que había tenido que entregar unas
animaciones para la asignatura de Modelado y comportamiento de
personajes. Fue bastante trabajo, se necesita paciencia, fijarse en
los movimientos y un cierto arte. Pero allí donde para el dibujo o
modelado me veo más incapaz si me vi mejor para la animación. Será
que tengo más capacidad para fijarme en pequeños movimientos, y la
paciencia para ir editando cosas casi frame a frame.
La base de la
animación es coger un hueso y moverlo, coger en otro momento de la
animación y moverlo a otra posición, y que el programa haga todos
los movimientos intermedios para crear el movimiento entre la primera
y segunda posición. Luego se puede refinar, elegir como es el
movimiento, dar más movimientos intermedios... pero la base es esa.
Una vez más la
falta de tiempo hizo que no sean animaciones de mi agrado. Animar
bien lleva mucho tiempo, y ya iba contrarreloj con lo que había
tardado en hacer el rigging. Por eso usé la animación base de
correr que trae 3Ds max (y que tiene la habilidad de quedar bien en
el esqueleto y mal en el modelo, siempre, le ha pasado a bastantes
compañeros), y me inventé lo que necesitaba. Para atacar ya a estas
alturas había decidido cambiar el ataque con espada por una bola de
fuego, así que solo tenía que hacer algún gesto en plan poner la
palma de la mano para disparar la bola de fuego. Después hice un
salto en 4 animaciones, para poder saltar a una sola pierna. Esto fue
pensando en las zamburguesas, donde pensaba hacer que fueran saltando
rápido de zamburguesa en zamburguesa apoyando sólo un pie en cada
una. Las 4 fases serían: despegar con el pie derecho, aterrizar con
el izquierdo, despegar con el izquierdo y aterrizar con el derecho.
Se hacen como 4 porque si hay desnivel no puedes predecir en tiempo
de animación cuánto va a durar el salto hasta que haya que apoyar,
y ya se hace dentro del código del juego. Después la típica
animación de idle, o que parezca que el personaje al menos respira
cuando no está haciendo nada. La última, y que me dio más
problemas, fue la de levantarse del suelo.
No usé
referencias en vídeo para las animaciones, algo que me ayuda mucho.
Lo más que hice fue dar 4 saltos por la casa (ante la mirada
ojiplática de mi novia) para pensar un poco que brazos se adelantan
con cada movimiento de pierna. Tampoco dediqué el tiempo que
requería hacer una animación fina y no apliqué técnicas básicas
de animación. El resultado: las animaciones son bastante malas. Pero
eran lo suficientemente potables para poder jugar y seguir para
adelante.
Aproveché unos
archivos de captura de movimiento que vienen con el 3Ds max para
ponerlas en el modelo. Hacen alguna cosa rara, como darle la vuelta a
las muecas o movimientos raros en los tobillos, sospecho que debido
al mal rigging que había hecho, y a no poner bien los parámetros
para usar el fichero de captura de movimientos. Aún así estos
movimientos quedaban mucho más fluidos que los creados malamente por
mi paso a paso. Lástima que fueran movimientos extraños que no
podía usar... o sí, al final los utilicé para las celebraciones de
las zamburguesas y dar un broche divertido al juego. En el vídeo
siguiente he juntado un poco las animaciones que cree para este
personaje, para los dos juegos. En algún momento subiré las
animaciones que hice para la otra asignatura que son bastante
mejores.
No hay comentarios :
Publicar un comentario