Battlefield 2 invades the high-tech frontlines of modern warfare. The game brings the intensity and excitement of Battlefield 1942 into the modern era with enhanced team play and the latest, most technologically advanced vehicles and weapons systems available to man.
By [XWW2]mschoeldgen on the BFSP Forums. Explains how to edit EXISTING first person animations using the BF2 Max Tools.
Posted by InSovietRussia on Apr 9th, 2011
Changing existing 1P animations ( and not creating new ones )
I was asked to publish this tutorial which was originally meant only for our mod team. It doesn't attempt to replace the great tutorials from junk, but as he removed them i decided to at least give animators in spe some hints on exporting and setup. Originally i used this method to only edit the most annoying wrong animations when using a vanilla animationsystem with our weapons, like reload and fire. Now that we have a dedicated animator its no longer needed but surely a few ppl can benefit from this method.
In this tutorial i'd like to explain the way how i recreate animations based on existing ones. For this purpose you should have set up the weapon with an existing but standalone animationsystem, that is you should have an own animations folder for that weapon. You can create this by cloning an existing /animations folder and the 2 'animationsystemNN.inc' files. Open the '*.inc' files with any texteditor and change the pathes inside them to point to your new animation folder. Junk explains that in his excellent video tutorial which is no longer available on his site , unfortunately.
Your weapon's tweak file should also use that animationsystem.
You should have the extended Tools from Doomlab or the PoE 2 tools as we need to import the 1P skeleton from /objects/soldiers/common/animations/1p_setup.ske.
O.k, now that everything is prepared, open Max and setup the units to use Generic Units.If you fail to do so, strange things will happen First thing is the import of the 1P skeleton. Run the 'Necessary Tools' from Doomlab, select 'Import Skeleton' and browse to the above mentioned file. You will get that model in Max:
Make yourself familiar with this display, its a representation of the two arms of the soldier. Now open the 'Select by Name' window and select the objects named 'mesh1' to 'mesh5' to delete them:
In this case i deleted mesh1 to mesh5 cause my imported weapon ( the K98 ) has 5 meshes in it. Now we need to merge our weapon into the scene. Open the 'Merge' dialog (File menu) and browse to your weapon scene. We want to merge only the meshes of the geom0->lod0 weapon, our 1P model:
Ok, we have the weapon in the scene , but its located at 0/0/0
Lets do a preliminary positioning by selecting the parent of our weapon, in this case its the 'K98__GenericFireArm' and moving it to 0.79 / 3.5 /13.81 . Rename this mesh ( the K98__GenericFireArm ) to 'mesh1' and parent it to the 'root' helper . Now select the remaining meshes of the weapon (mesh2 up to mesh5) and also parent them to the root helper. In case the meshes where named differently rename them now to 'mesh2' and up:
This is how it should look like before we import the animation to be changed. And there's no reason why we shouldn't do that now Once again open the 'Necessary Tools' and select 'Import 1P Animation'. Browse to your .baf file , noting its name:
The weapon jumps into position and we can already slide the frameslider through our imported animation, seeing all the meshes move. But before we do any animation we should make our scene export-ready. Select the 'root_skeleton_1P_setup' Pointhelper and rename it to 'root_animation_. We are working on the '1p_k98_reload' animation and so our name would be 'root_animation_1p_k98_reload':
All parts of the scene need to be in a 'Named Selection Set' named 'ANIMATED'. To do that, select all your meshes and bones and open the 'Edit Named Selection Sets...' from the 'Edit' menu in Max. Press the button with the curled brackets and name your new set 'ANIMATED' :
Now everything's setup to start working.You should probably save that scene in its current state as you can use this as a starting scene for all your new animations. There are a few rules to obey, though. You shouldn't 'move' bones, only rotate them and you cannot use contraints, they will completely screw up your scene. You are allowed to move weapon meshes, though. Its best to switch your Reference Coordinate System to 'Local' to affect meshes and bones in a natural way:
Animating is now done by pressing the 'Auto Key' button. Note how the time line turns red. Now each change to a position or rotation will only affect the selected frame. The task now is to select the mesh or bone you want to affect and do your rotation/move stuff. In case you rotate an arm bone, the lower bones will follow it. Work your way through each frame now. In case you want to copy the rotation/position of one or more meshes and bones to the next frame (or several frames), have your objects selected and hold down the key while dragging the frame marker:
Also note that you shouldn't do anything to the Camerabone as this determines the viewing position in the game.
Hints: Try it with a simple and short animation first, like a fire or a stand animation. When exporting your animation, make sure of the right path in the exporter window:
Don't hesitate to ask me if you run into problems. It is vital for any animation to have a clean weapon export before attempting to animate it. That is especially true for the scale and orientation of the weapon.