Soldier animations -- how does the animation system work?
Posted: Sun May 27, 2007 5:43 pm
I was originally going to post this in the BF1 section but from what I can tell, BF1 and BF2 soldier animations seem to be identical so I'll post it here in case anyone else modding for BF2 can help or benefit from the answers too.
I've been trying to figure out how to add new soldier animations to the units. I read the BF2 animation docs, but there seems to be a gap in what is explained and how you would implement/insert new animations. I'm going to use BF1 as an example since that's what I mod for and am familiar with.
My understanding is that in the weapon ODF, you can set the animation that is executed when a unit is using that weapon. By default, it would be an animation defined within the "human" set of anims. In almost all of the unit ODFs, what I always see is:
AnimationName = "all_inf_snowtrooper"
To be honest, I've never been quite sure if this command works or if it is ignored and some hardcoded default is used that loads the human animations regardless. When I looked at the "Shipped Common Animations" folder in my BF modtools, I don't see anything that references the "snowtrooper" anywhere in the various human bank folders. So first question is, why is all_inf_snowtrooper used all over the place?
But then that leads to another similar question. When I look at the ODF for the lightsabre (BF1 version), we see this:
AnimationBank = "lightsabre"
But in the modtools common animations folder, what I see in the folder "human_bank_3" are a set of anims that have the prefix "human_sabre_". I've always been under the assumption that the name that follows "human_" is the bankname, yet here the folder's bankname appears to be "sabre" not "lightsabre" so how is it that when we assign the animationbank in the ODF, that somehow the game makes the connection between "lightsabre" to "sabre"?
Finally, in the BF1 "force push" ODF, once you do load the "lightsabre" animation bank, you can then use the command:
FireAnim = "2"
..which again, I'm assuming that it tells the ODF to use the second stored animation in the "lightsabre" animationbank. This would seem to correspond to the "human_sabre_stand_shoot3" animation (I also am guessing that the anim for the lightsabre swing is "human_sabre_stand_shoot"). What determines the ordering in the bank (so that I know which FireAnim number to call?)
It's all been maddening to figure out... I don't know how many other modders are also confused by all this but I'd be grateful for any insight by anyone who knows what the linkage is between the animation assets in the modtools are, with what is actually then used in the ODFs to call them.
I've been trying to figure out how to add new soldier animations to the units. I read the BF2 animation docs, but there seems to be a gap in what is explained and how you would implement/insert new animations. I'm going to use BF1 as an example since that's what I mod for and am familiar with.
My understanding is that in the weapon ODF, you can set the animation that is executed when a unit is using that weapon. By default, it would be an animation defined within the "human" set of anims. In almost all of the unit ODFs, what I always see is:
AnimationName = "all_inf_snowtrooper"
To be honest, I've never been quite sure if this command works or if it is ignored and some hardcoded default is used that loads the human animations regardless. When I looked at the "Shipped Common Animations" folder in my BF modtools, I don't see anything that references the "snowtrooper" anywhere in the various human bank folders. So first question is, why is all_inf_snowtrooper used all over the place?
But then that leads to another similar question. When I look at the ODF for the lightsabre (BF1 version), we see this:
AnimationBank = "lightsabre"
But in the modtools common animations folder, what I see in the folder "human_bank_3" are a set of anims that have the prefix "human_sabre_". I've always been under the assumption that the name that follows "human_" is the bankname, yet here the folder's bankname appears to be "sabre" not "lightsabre" so how is it that when we assign the animationbank in the ODF, that somehow the game makes the connection between "lightsabre" to "sabre"?
Finally, in the BF1 "force push" ODF, once you do load the "lightsabre" animation bank, you can then use the command:
FireAnim = "2"
..which again, I'm assuming that it tells the ODF to use the second stored animation in the "lightsabre" animationbank. This would seem to correspond to the "human_sabre_stand_shoot3" animation (I also am guessing that the anim for the lightsabre swing is "human_sabre_stand_shoot"). What determines the ordering in the bank (so that I know which FireAnim number to call?)
It's all been maddening to figure out... I don't know how many other modders are also confused by all this but I'd be grateful for any insight by anyone who knows what the linkage is between the animation assets in the modtools are, with what is actually then used in the ODFs to call them.