En entornos de producción, los animadores utilizan herramientas especializadas como 3DS Max de Autodesk para generar animaciones con fotogramas clave de modelos 3D. Para cada animación de cada modelo, el animador construye una serie de poses para el modelo llamado fotogramas clave, que luego se exportan al formato de datos del juego.
El juego carga estos fotogramas clave y, para animar el modelo en un momento determinado, selecciona los dos fotogramas clave más cercanos e interpola entre ellos para obtener una animación suave, incluso con un número reducido de fotogramas clave.
Los modelos animados generalmente se construyen con una jerarquía ósea. Hay un hueso raíz, que controla la ubicación y la orientación del modelo en el mundo del juego. Todos los demás huesos se definen en relación con algunos huesos parentales para crear un árbol. Cada vértice del modelo está vinculado a un hueso particular, por lo que el modelo se puede controlar con un número mucho menor de parámetros: las posiciones relativas, las orientaciones y las escalas de cada hueso.
Smooth skinning es una técnica utilizada para mejorar la calidad de las animaciones. Con un desollado suave, un vértice no está ligado a un solo hueso, pero puede unirse a múltiples huesos (por lo general, se establece un límite estricto, como 4, los vértices rara vez necesitan más de 3) con los pesos correspondientes. Esto hace que el trabajo del animador sea más difícil, ya que tiene que trabajar mucho más con vértices cerca de las articulaciones, pero el resultado es una animación mucho más suave con menos distorsión alrededor de las articulaciones.
Alternativamente, algunos juegos usan animación de procedimiento, por el cual los datos de animación se construyen en tiempo de ejecución. Las posiciones y orientaciones de los huesos se calculan de acuerdo con algún algoritmo, como inverse kinematics o ragdoll physics. Por supuesto, hay otras opciones disponibles, pero deben ser codificadas por los programadores.
En lugar de animar los huesos y usar la cinemática de avance para determinar la ubicación de todos los vértices del modelo, otra opción es simplemente generar la posición de cada vértice por sí solo. Esto permite animaciones más complejas que no están vinculadas por jerarquías óseas, pero por supuesto es mucho más complicado y mucho más difícil de hacer bien.
Esto también puede ser útil (un sistema óseo básico para modelar): http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System – hithere