La técnica que describió en la primera opción se llama morph target animation y se usa a menudo para algunos detalles de animación como animación facial o tal vez apertura y cierre de manos.
La segunda opción es la animación de procedimiento o física que funciona de manera similar a la robótica, donde le das al cuerpo de tu personaje cierta velocidad para avanzar y calcula qué piernas deben hacer para evitar caerse. Pero no lo harías directamente en los vértices, sino en el esqueleto. Vea el siguiente.
La tercera opción es la animación esquelética que anima el esqueleto y los vértices lo siguen según el conjunto de reglas. Adjuntar vértices al esqueleto se llama despellejar.
Sugiero que, después de caerse de cosas opengl (modelos de visualización y posicionamiento en el espacio, la cámara, etc.), comience con la animación esquelética.
Necesitará un modelo amañado y animado para su aplicación 3d de su elección. Luego puede escribir un exportador en su formato personalizado o elegir un formato que quiera leer desde su aplicación. Ese formato de archivo debe contener una descripción del modelo, esqueleto, skinning y fotogramas clave. Luego de leer y usar esos datos de tu código para construir la malla, esqueleto y animar sobre cuadros clave.
Generalmente, el modelo importado contiene la animación. ¿Por qué necesitas animarlo en OpenGL? ¿No debería ser manejado por un artista? –
@Seth, estoy haciendo esto como un proyecto personal. Entonces, si el modelo contiene la animación, ¿necesito interpolar entre los diferentes cuadros clave que me da? –
Sí, exactamente. Hay muchos recursos sobre esto. http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System –