Animation Information

From The DarkMod Wiki
Jump to: navigation, search

by ascottk

md5anim (Doom 3 animation file) general facts

Meshes (md5mesh)

Meshes can share animations. As long as the meshes are rigged in a similar fashion, and they have the same exact number of joints and the same exact joint names, developers can use different md5anims for their meshes. The Dark Mod currently does not do this because we like size variances.

What this means is that you can modify an AI's def file (where the engine is told which animations to use) and tell it to use any existing animation. As long as the joint/skeleton is similar (there is some confusion still about whether the number of joints have to match exactly) the model will use that animation. However, it is the size of the animation that determines the size of the visible mesh of an AI (see below). For this reason, AI of different sizes need their own animation files. --Springheel


Animations influence the size of the visible mesh. Suppose we take a single animation from a small character and use it for a larger character (as long as the previous conditions apply), then anytime the larger character uses that animation, the larger character will shrink to the smaller character's size. That would be a little strange if the character attacks you and suddenly shrinks . . . If we want that animation for the larger character then we would need to reexport that animation with the correct scaling option. See Scaling_And_Rotating_AI_Meshes and Advanced_character_rigging for exporting with a Maya to Doom3 work load.


If you want to have walk_ik working [1] then you will need an ik_pose animation. The easiest way to do this is use the af_pose, generally the "T-pose" for setting up AFs (ragdolls) as a substitute. More information about ragdolls here: Setting_up_Ragdolls_for_Custom_Joint_Hierarchies

Here is an example of using an af_pose as your ik_pose in a def file:

model tdm_ai_citywatch {
    mesh                       models/md5/chars/guards/citywatch/tdm_ai_citywatch.md5mesh

    channel torso		( *Spine1 )
    channel legs		( *origin - *Spine )

    anim af_pose         models/md5/chars/guards/citywatch/af_pose.md5anim
    anim ik_pose         models/md5/chars/guards/citywatch/af_pose.md5anim
    anim walk              models/md5/chars/guards/citywatch/walk.md5anim {
	   frame 11	footstep
	   frame 28	footstep

Maya to Doom3 workload information

Same animations, different characters

The meshes can be different sizes but share the same animation as long as we export with certain options in the def file. See the tips on the bottom of this page: Advanced_Character_Rigging_-_Part_Three


These happen frequently if you are working on big projects like the Dark Mod.

Moving your Maya binary directory (the source files for meshes and animations) will affect the way Doom 3 handles the conversions. Once you move the directory and change the def file's -dest directory, D3 will think the source files are new so it will reexport everything. If your mod team uses CVS or SVN, only commit the files you changed if the md5anim joints match the md5mesh. Someone may had altered a file that is still a work in progress and committing all of the files may break compatibility.