Adding Animations In Mannequin

Overview

To get started, open Mannequin and select "Load Preview Setup" for the character you want to edit. For example: Animations/Mannequin/Preview/SDK_playerPreview1P.xml.

Creating a new ID

  • Press "New ID" (to create a new Fragment ID).
  • Enter the name. To keep things tidy, please follow the following naming convention:
    • Simple Idle Action Animations: Use IA_FullyDescriptiveName (for example IA_CheckGun).
    • Simple AI Behavior Animations (that are tied to a specific AI behavior): Use AI_FullyDescriptiveName (for example IA_CheckGun).
    • Navigational Smart Objects (the ones that are picked if they happen to lie on the path): Use SO_FullyDescriptiveName (for example SO_Jump900Horizontal).
    • Non-Navigational Smart Objects (the ones linked to a specific object): Use SO_FullyDescriptiveName (for example SO_PickUpBox).
  • Select tristatetags.xml in the Tags Definition dropdown (this will enable you to use intro/outro logic).
  • Select all scopes in the Default Scopes list. This means you take control of all scopes.
    If you don't do this, other systems like "random idle additives" or "weapon animations" or "aiming" might still be running and screw with your animation. If you ever want to allow those systems, you could do it by not selecting all the scopes. For example if you don't want to control aiming and let the aiming system aim if it wants to, do not select Aiming and AimPose.
  • Press OK.

Creating A Fragment For the ID

  • Select the new ID (SO_XxxXx) in the Fragments List to the left.
  • Press New to create a new Fragment within this ID.
  • Double click on the new Fragment (labeled <default> currently) which opens it up in the "Fragment Editor" view.

Add Animations to the Fragment

  • Right-click on the FullBody3P scope (the bold text in the sequence view) and Add Animlayer.
  • Add animclip to AnimLayer and select your animation in it.

Select Tags for the Fragment

If your fragment is called "<default>", it will be played whenever a system requests a fragment for the ID. You might not always want this: sometimes, for example, the animation is authored for "relaxed" stance with a "rifle" weapontype. To mark the fragment for this specific context, select the appropriate tags.

In this example, select Stance="Relaxed" and WeaponType="Rifle" in the list of tags in the bottom left. The fragment should now be named "rifle+relaxed". Note that if a system now selects your ID and no fragment is available for the current context (say the AI is Alerted instead of Relaxed), NOTHING will happen.

(Optional)

For smart object that need precise alignment, you need to add a PositionAdjust procedural clip.

  • Add a "proclayer" to the FullBody3P 'scope'.
  • Create a key on this new proclayer and select the type PositionAdjust.

Saving

File/Save Changes...

There should be 3 files:

  • Animations/Mannequin/ADB/XXX.adb
  • Animations/Mannequin/ADB/XXXControllerDefs.xml
  • Animations/Mannequin/ADB/XXXActions.xml

Check out files if you need to.

Press save and you're done!