Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


An Animation clip is a specialized Simulation event used for loading a new animation into Atoms Crowd. The animation clip will get its motion data from an fbx or atomsclip file as well as any other supported format.


From Atoms 3.4 you can also drag and drop supported format files on the clip list, and animation clips will be automatically created for you.


Users can tweak their clips by editing the following values:

  • Event Name, the name of the animation clip.
  • Clip path, the path to the clip file.
  • Additive Mode, the additive mode for this clip. Additive The additive mode can be: "None", "Bind" or "Reference". If None, this clip plays as like a normal standard clip. If Bind, this clip will be evaluated as the difference of the animation values of the given file and the bind pose. If Reference, you will have to provide a reference clip file, this clip will be evaluated as the difference of between the two clip files. Additive clips are used only within a state machine.
  • Blend Frames After foot up, the number of frames used for blending after the foot leaves the down state.
  • Loop, if the clip is a loopable clip. When this is off the animation clip becomes a "one-shot clip". This will affect the behaviour of any state (state machine) using this clip.
  • Start and End frames of your clips.
  • Loop Blend, the number of frames used to blend when looping.
  • Disable Foot Lock,. If this option is on, the foot lock system will be disabled when playing this clip.
  • Direction type: static, pelvis, joints or clip. Static: the clip will use as direction to uses the vector specified in the Direction field as direction. Pelvis: the clip will use uses the pelvis velocity as direction. Joints: the direction of the clip will be the vector travelling from the first joint to the second joint (the joint ids are selected with the Direction Joints field). Clip: the direction is taken from the "clipDirection" metadata stored on the root pelvis joint.
  • Direction, the direction used when the direction type is set to static.
  • Direction Joints, the two joints ids used for defining the direction vector when the direction type is set to joints. The button on the right will show a pop-up dialog to help you find the right joints id for a given agent type.
  • Compatible Agent Type, the agent type compatible with this clip. This field is mandatory if you wish to retarget this clip onto a non-compatible agent type.
  • Transitions Frames, for long clips, you might have different transition frames.
    You can either enter them manually with a comma-separated string (i.e. "10, 50, 100") or let Atoms guess them for you by pressing the Auto button. Once pressed, the field will be is populated, but you will still be able to edit the string. If you don't specify transition frames, only the loop end frame of the clip will be is used. If you set -1, then every frame is used as a valid transition frame.
    Transition Frames are used by state machines only.
  • Override Pelvis/Feet Height, from Atoms 3.2 you can override the pelvis and feet heights embedded into the clip. If on, the pelvis and feet heights will be are evaluated using the Ground Height field value.
  • Ground Height, the value used for computing the pelvis and feet heights when "Override Pelvis/Feet Height" is on.
  • Reverse, if this option is on, the clip will be is played backward backwards during the simulation.
  • Mirror, if this option is on, the clip will be is mirrored.
  • Mirror Anim Plane,  plane the plane used for mirroring to mirror all the joints without a match.
  • Mirror Bind Plane,  the plane used for finding to find the mirror joint pairs. It will is also be used for mirroring to mirror the joints matched in a pair.
  • Side Joints Search, method for finding to find joint pairs. Auto: automatic search. By Name: the joint search will be based on a string replacement.
  • Raw Mirror, if the option is on, the mirror will be applied without taking into account differences in bind pose (only applies to side joints).
  • String Replacement, the string replacement when "Side Joints Search" is on. (i.e. "Left" "Right")
  • Foot down data, the foot down state can now be edited directly inside the Atoms UI (from Atoms Crowd 2.0). Click on the "Load  From Clip" button to load the graphs for each foot. You can edit the graphs, and the changes will be are stored in your animation clip as soon as it is registered. The foot down curves can also be computed automatically using the foot velocity or a ground height value, after . After the values have been computed are calculated, users can still edit the curves. 

Preview

The preview widget  displays the animation for the selected clip. At the bottom, you have controls for playing/scrubbing the animation and a control for changing the joint size.
Yellow circles appearing under the feet show the foot down state for each foot (this also reflecting the changes users might apply to the foot down data).

By right-clicking on the viewport, a menu will appear with the following options:

  • Set start frame: set the Loop Start field with the current frame value
  • Set end frame: set the Loop End field with the current frame value
  • Use UI frame range: the preview will only display the frame range provided as input in the UI. 
  • Draw grid: enable/disable the grid in the viewport display
  • Draw Joint Axis: enable/disable the joint axis in the display
  • Draw Joint Names: enable/disable the joint name visibility
  • Draw Joint World Pos: enable/disable the joint world position visibility, useful for guessing the ground height for your clip
  • Lock Camera: enable/disable the locking on the camera
  • Reset Camera: resets the translation/rotation of the camera
  • Test Loop: enable/disable the animation clip looping

Navigation Controls:

  • Alt + left click and drag: Rotate camera
  • Alt + middle click and drag: Pan camera
  • Alt + right click and drag: zoom camera

The clip direction

You might wonder why you need to set a direction for your clips. This It is actually quite important, in fact if quite essential. If you set a wrong static direction for a clip, you might end up having your agents going in the wrong direction. 
Also, it's important essential to understand that clips for a character should all share the same direction when used in a state machine, except a few particular cases.

Your clip direction tells Atoms how your clip moves in space. 
Atoms uses the clip direction to rotate your agent and match the actual agent direction (travelling direction) which is computed at each frame. For instance, if your clip is travelling mainly on the Z axis, and you set the direction to be the X axis, you will see your agents rotated of 90 degrees on the Y axis later, and they will move in the wrong direction.
Please check the Animation Clip chapter to understand better how to set up your agent direction.