Animaciones programadas I: La velocidad


Existen muchas formas de animar, y probablemente la que os voy a contar sea la que menos gente controla. Pero si aprendéis a utilizarla, estaréis en condiciones de crear animaciones interactivas que quedan muy profesionales.
De hecho, estos conceptos son la base de cualquier motor de física de los que se utilizan en los juegos.

Aunque voy a utilizar as3 como lenguaje de programación, los conceptos y el algoritmo serán los mismos para cualquier otro lenguaje. La elección de actionscript tiene que ver exclusivamente con el hecho de que es mucho más rápido y sencillo crear la parte gráfica y nos podemos concentrar exclusivamente en la animación. Si tu lenguaje es otro, y ya sabes como pintar en la pantalla, no tendrás ningún problema a la hora de adaptar lo que te cuento a cualquier otro lenguaje de programación.

La funcionalidad de lo que vamos a construir es algo que ya se puede encontrar en motores de física que son gratuitos, como Box2D o Nape. Y no, no pretendo reinventar la rueda, si necesitas un motor de física completo creo que es mejor que utilices uno que ya esté terminado, completo y probado como cualquiera de los anteriores.

Pero a no ser que estés programando un juego que necesite de detección avanzada de colisiones, física de sólidos rígidos, rigging, cinemática inversa, etc. sólo te va a hacer falta una pequeña fracción de esos motores, y la complejidad inherente a su versatilidad hace que sean egorrosos de utilizar para cosas sencillas. Vamos, que es como matar moscas a cañonazos.

Si la parte del motor que necesiras es lo suficientemente sencilla de programar, creo que es mejor crearse un pequeño framework propio adaptado a las necesidades del proyecto y a tus preferencias. Además de que, simplemente, es muy divertido hacerlo.

Por otro lado, también existen los motores de tween (Greensock, JQuery, TweenJS, etc.) que se especializan en animación programada. Suelen ser mucho más sencillos que los motores de física y mucho más apropiados para este tipo de situaciones. Pero la metodología de la animación es muy distinta y a veces no resulta cómoda. La API de estos motores está pensada para animar con interpolaciones entre dos estados, tomando como parámetros esos estados, la duración de la animación y el tipo de curva de interpolación.
Si en lo que quieres hacer importa más que los movimientos de los objetos sean naturales y se parezcan a lo que vemos en la realidad o en los juegos, estos motores te pueden dar muchos quebraderos de cabeza.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s