Animating Weapons for Counter-Strike Source/Shoot Animation

Creating the Scene

 * Open css-lr300-idle.exp.
 * Go to File>Save As. Save it as css-lr300-shoot.exp.
 * Match the scene's FPS with the QC's shoot1/2/3 fps. (You should already know how to do this from the idle animation page.) The fps for the sg552 shoot animation is 35.
 * Match the scene's end frame with the SMD's end frame minus one. (16 - 1 = 15). The end frame is 15 for the sg552 shoot animation.
 * Find the null Frame. Below the Parent button, there is a CnsComp button. Press it.
 * Click the word Constrain above the Parent button, and click Pose.
 * Click the left hand null. Now whenever you rotate or move the hand, the gun will follow it.
 * Now constrain the right arm to the left hand.

Animation Layers

 * Take some time to think about how you can separate parts of the shoot animation into parts. You should come up with the following:
 * Base layer (idle animation)
 * Trigger pull
 * Recoil
 * Slide/Bolt recoil
 * Shell ejection port opening
 * We will work on these one at a time.

Making an Animation Layer

 * Look to the bottom right of the XSI screen. There should be some tabs that say MCP, KP/L, and MAT. Click KP/L.
 * On the bottom half of the new side panel, you will see the animation layers panel.
 * Change the selection filter to Null. Press CTRL+A to select all nulls.


 * The Create new animation layer button will now be activated. Click it.
 * Rename the layer to Trigger_pull by right clicking Layer1 and clicking Rename layer.

Animating on an Animation Layer

 * Make a key for each item you animate at the 0 position before you set a key later in the animation.
 * In some cases you can avoid the trigger rotation as sometimes you cannot see it.
 * You are on your own now, contribute tips in this section if you wish.

DopeSheet Editor
If you want to move a key in an animation, don't bother deleting keys and then setting them again.
 * Press 0 to open the Animation Editor.
 * On the top of the new window, click Editor.
 * Click DopeSheet.
 * Click a bone whose key you want to edit.
 * Go to the KP/L panel and select the animation layer for which the bone/null is animated.
 * Now the DopeSheet Editor will show up with purple, red, green, and blue rectangles if the bone/null has any keys.
 * The top of the DopeSheet editor has key numbers. Drag the purple rectangles to adjust the timing of key frames in the animation.
 * To select multiple keys, change the selection tool to 'Region'. Look toward the far right on the button panel on the top of the DopeSheet editor. Click the button with the cursor by a dotted rectangle. Now you can make rectangular selections and drag multiple keys around. Click the button with only a cursor to back to the single selection mode.

Exporting the Animation

 * Go to ValveSource>Export SMD
 * Locate the tocompile folder, and save it as shoot1.smd.
 * Change the type of SMD to Skeletal Animation (*.SMD).
 * Check only the optimize chains and compensate box.
 * Export the animation.
 * Copy and paste shoot1.smd to shoot2.smd and shoot3.smd.
 * The muzzle flash and shell ejection will be in the wrong place/direction. The next section will deal with this.