lunes, 7 de julio de 2008

Animaciones

Al final conseguí hacer que el personaje que tenía dibujado se moviera, gracias a un código en python de un juego muy sencillo, que me permitió sustituir unos parámetros y las imágenes, sin necesidad de saber programar.
Entonces me dí cuenta de que la secuencia de movimiento que había dibujado no funcionaba, por cuestiones de metrónomo.

Es decir, no basta con pintar posiciones reales de movimiento, sino que tienen que ser posiciones que se correspondan en tiempo y relacionadas entre sí.
Por ejemplo, la secuencia básica de andar es un paso romano (esto, dos pasos). Si el paso lo vamos a escenificar en 8 fracciones de tiempo (8 frames + 1, siendo el 9 igual que el 1), el primer frame debe corresponder a la primera fracción, el segundo a la segunda... Y entre el frame 1 y el frame 2, y entre el frame 2 y el 3 debe de haber la misma distancia en tiempo, en décimas de segundo.
De forma que al hacer "play" e irlos visualizando el movimiento sea natural.

Cuando los dibujas a mano, salvo que seas un máquina, habrás dibujado una secuencia asíncrona, como era el caso. Entonces el personaje se mueve como convulsionado, como si el tiempo no discurriera uniformemente sino a trompicones.

Total, que lo que hice finalmente es filmarme, convertir las secuencias de vídeo a gráficos sueltos y seleccionar.
De la secuencia de andar, igual me salían 45 gráficos, pues escogí imágenes cada 5: La 1, la 6, la 11, la 16... y la 40. Un total de 8 gráficos, el gráfico 45 se supone que debe de ser exactamente igual que el 1 si se ha escogido bien el intervalo.
La velocidad del reloj me permitiría más frames por segundo; cuantos más frames más nitidez y realismo, pero más trabajo dibujando más animaciones, y es que el personaje no sólo va a andar: correrá, hará saltos de altura, saltos de obstáculos, saltos de longitud, caídas...

Una vez seleccionadas las fotos, que corresponderían a las posiciones con igual distancia temporal, se pasan a un programa de dibujo vectorial, para usarlas como plantilla y dibujar sobre ellas los contornos.
Los contornos a su vez se mejoran con el programa de dibujo normal y ¡voila!
Ahora el movimiento es natural, salvo por un pequeño detalle que hay que haber corregido previamente: la filmación la hice en una habitación, con lo que la perspectiva no era lo suficientemente plana como correspondería a la vista 2D que tendrá el juego.
Por ejemplo, en la secuencia de salto que muestro, en la posición incial estoy ligeramente de cara a la cámara, y cuando aterrizo estoy ligeramente de espaldas a ella.

La filmación ideal debe realizarse en exterior, o en una gran sala, con la cámara lo más lejos posible y haciendo zoom, de modo que la distorsión angular sea despreciable y el personaje plano, sin volúmen,sin aumentar ni menguar por alejarse o acercarse un poco al objetivo.

Enlaces: Entrevista a Eric Chahi (Another World)

2 comentarios:

Zereth dijo...

Ouch, creo que antes de que alguna vez se me ocurra hacer una animación regresaré a leerte, no sé si para desanimarme pero me será de ayuda.

Besos

Herel dijo...

Jaja, me estoy acordando de la que hiciste de las duendecillas bailarinas ;)