Dans les environnements de production, les animateurs utilisent des outils spécialisés, tels que 3DS Max d'Autodesk, pour générer des animations à images clés de modèles 3D. Pour chaque animation pour chaque modèle, l'animateur construit un certain nombre de poses pour le modèle appelé images-clés, qui sont ensuite exportées dans le format de données du jeu. Le jeu charge ensuite ces images clés, et pour animer le modèle à un moment donné, il sélectionne les deux images clés les plus proches et interpole entre elles pour donner une animation fluide, même avec un petit nombre d'images clés.
Les modèles animés sont généralement construits avec une hiérarchie osseuse. Il y a un os racine, qui contrôle l'emplacement et l'orientation du modèle dans le monde du jeu. Tous les autres os sont définis par rapport à un os parent pour créer un arbre. Chaque sommet du modèle est lié à un os particulier, de sorte que le modèle peut être contrôlé avec un nombre beaucoup plus petit de paramètres: les positions relatives, les orientations et les échelles de chaque os.
Le skin lisse est une technique utilisée pour améliorer la qualité des animations. Avec un skin lisse, un vertex n'est pas lié à un seul os, mais il peut être lié à plusieurs os (généralement une limite dure, comme 4, est définie, les sommets ont rarement besoin de plus de 3) avec des poids correspondants. Cela rend le travail de l'animateur plus difficile, car il doit faire beaucoup plus de travail avec les sommets près des articulations, mais le résultat est une animation beaucoup plus lisse avec moins de distorsion autour des articulations.
En variante, certains jeux utilisent l'animation procédurale , grâce à laquelle les données d'animation sont construites au moment de l'exécution. Les positions et orientations osseuses sont calculées selon un algorithme, tel que inverse kinematics ou ragdoll physics. D'autres options sont bien sûr disponibles, mais elles doivent être codées par des programmeurs. Au lieu d'animer les os de façon procédurale et d'utiliser la cinématique directe pour déterminer les emplacements de tous les sommets du modèle, une autre option consiste à générer simplement la position de chaque sommet seul. Cela permet des animations plus complexes qui ne sont pas liées par des hiérarchies osseuses, mais bien sûr, c'est beaucoup plus compliqué et beaucoup plus difficile à faire.
Cela peut aussi être utile (un système osseux de base pour la modélisation): http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System – hithere