Animation Sequences

An Animation Sequence is a single animation asset that can be played on a Skeletal Mesh. These contain keyframes that specify the position, rotation, and scale of a bone at a specific point in time. By playing these keyframes back in sequence, with blending between them, the bones of a Skeletal Mesh can be smoothly animated.

Each Animation Sequence asset targets a specific Skeleton and can only be played on that Skeleton. This means, in order to share animations between multiple Skeletal Meshes, each of the meshes must use the same Skeleton asset.

An example of a Skeleton using an Animation Sequence can also be found on the Animation Content Examples page under section 1.1.

Editing

The Animation Editor provides functionality for previewing and editing individual Animation Sequence assets. The properties, including compression scheme, of the Animation Sequence can be set, and animation notification events - also called Notifies - can be added to allow camera effects, particle effects, sounds, and more to be triggered based on the animation.

See Animation Sequence Editor for more details.

Playback

Playback of Animation Sequences can be performed through code, but is generally handled within an instance of an Animation Blueprint applied to a Skeletal Mesh Component. All of the Animation Sequences for the Skeleton the Animation Blueprint was created from are available to be sampled within the AnimGraph. These can be placed as sequence player nodes whose output is a pose generated by sampling the Animation Sequences.

See the Animation Sequence User Guide for instructions on using Animation Sequences within Animation Blueprints.

Notifies

Animation Notifications (AnimNotifies or just Notifies) provide a way for animation programmers to setup events to occur at specific points during an Animation Sequence. Notifies are commonly used to add effects like footstep sounds during a walk or run animation or spawning a particle system during animation. However, they can have any number of different uses, as the system can be extended with custom notification types to cater to the needs of any type of game.

See Animation Notifications (Notifies) for descriptions and usage information for the various types of notifications available.

Curves

Animation Curves provide a way to change the value of a Material parameter or a Morph Target while an animation is playing back. Their workflow requires that you designate the asset you want to modify (either a Material or a Morph Target), name the curve accordingly, and then adjust keyframe values across the duration of an animation.

See Animation Curves for descriptions and usage information on how to set up and apply curves in the Animation Editor.

Compression

Animation Sequence assets when opened up in the Animation Editor can have compression applied to them.

To do this, from the Menu Bar select Asset then select Apply Compression (as seen below).

ApplyCompression.png

When choosing to apply compression, the Animation Compression window will open.

AnimationCompressionWindow.png

Each option provides a different compression method as outlined in the table below:

Compression Type Description
Automatic Animation compression algorithm that is just a shell for trying the range of other compression schemes and picking the smallest result within a configurable error threshold.
Bitwise Compress Only Bitwise animation compression only; performs no key reduction.
Least Destructive Reverts any animation compression, restoring the animation to the raw data.
Remove Every Second Key Keyframe reduction algorithm that simply removes every second key.
Remove Linear Keys Keyframe reduction algorithm that simply removes keys which are linear interpolations of surrounding keys.
Compress each track independently Keyframe reduction algorithm that removes keys which are linear interpolations of surrounding keys, as well as choosing the best bitwise compression for each track independently.
Remove Trivial Keys Removes trivial frames of tracks when position or orientation is constant over the entire animation from the raw animation data.

Asset Details

When an Animation Sequence asset is opened in the Animation Editor, there are several properties that can be adjusted inside the Asset Details panel which can determine how the asset is handled. These properties include things such as tweaking playback speed, enabling/disabling Root Motion, assigning any Meta Data to the asset and others which are outlined in the tables below.

AnimAssetDetails.png

Animation

Retarget Source When retargeting, this pose will be used as a base of animation.
Preview Pose Asset The default Skeletal Mesh to use when previewing this asset - this only applies when you open the Animation Editor using this asset.
Interpolation This defines how values between keys are calculated.
Rate Scale Number for tweaking playback rate of this animation globally.
Skeleton Contains the skeleton associated with this Montage. Cannot be changed in the editor.
Parent Asset During cooking, this data will be used to bake out to Normal Asset. Cannot be changed in the editor.
Asset Mapping Table This is used when Parent Asset is set and works with Asset User Data mapping table. Cannot be changed in the editor.
Asset User Data Array of user defined data stored with the asset.

Additive Settings

Additive Anim Type The type of additive animation type to use: No Additive, Local Space or Mesh Space. Local space is additive and delta is calculated by local space. Mesh Space is additive and delta will be applied in component space.
Base Pose Type Decides how the additive delta is to be calculated: None (No Base Pose), Reference Pose (The mesh's default reference pose), Selected Animation Scaled (choose another animation and scale the animation), Selected Animation Frame (choose another animation and only based on the frame number). Base Pose Type is only available if Additive Anim Type is set to Local or Mesh Space.

Compression

Compression Scheme Name of Compression Scheme used for this asset.
Do Not Override Compression Do not attempt to override compression scheme when running Compress Animations commandlet. Some high frequency animations are too sensitive and shouldn't be changed.
Edit Compression Settings Click this button to view and edit the current Compression Settings for this animation. Same as clicking Asset from the Menu Bar and selecting Apply Compression.

Root Motion

Enable Root Motion If this is on, it will allow extracting of Root Motion .
Root Motion Root Lock Root Bone will be locked to that position specified when extracting root motion.
Force Root Lock This will force Root Bone lock even if Root Motion is not enabled.

With regards to Root Motion, there are some considerations you may need to make such as whether or not you need to replicate Root Motion in networked games. If you need to replicate Root Motion, you will need to use an Animation Montage . See Enabling Root Motion for more information.

Import Settings

Animation Length Which animation range to import. The one defined at Exported Time, at Aniamted Time or using a range set manually.
Source File Browse to the asset's source file used during import.
Import Meshes in Bone Hierarchy If checked, meshes nested in bone hierarchies will be imported instead of being converted to bones.
Frame Import Range Frame range used when Set Range is used in Animation Length.
Use Default Sample Rate Samples all animation curves to 30 fps.
Import Custom Attribute Import custom attribute as a curve within the animation.
Set Material Curve Type Set Material Curve type for all custom attributes that exist.
Material Curve Suffixes Set Material Curve Type for the custom attribute with the following suffixes. This doesn't matter if Set Material Curve Type is true.
Remove Redundant Keys When importing custom attributes as curves, remove redundant keys.
Delete Existing Morph Target Curves This will delete any existing morph target curves from the FBX during import.
Do not import curves with only 0 values When importing custom attribute or morph target as curves, do not import if the value is 0. This is to avoid adding extra curves to evaluate.
Preserve Local Transform This will import a curve within the animation.

Transform

Import Translation Imports the tranlsation data from the FBX.
Import Rotation Imports the rotation data from the FBX.
Import Uniform Scale Imports Uniform Scale data from the FBX.

Meta Data

Meta Data This is Meta Data that can be saved with the asset. The meta data is a Blueprintable class derived from the Anim Meta Data class. This allows you to add custom meta data to animation assets (Anim Sequence, Anim Montage, Anim Composite, and Blendspace are all supported). You can query the data from an animation asset in C++ by calling the GetMetaData() method, or by using GetSectionMetaData() on Anim Montages.

Thumbnail

Orbit Pitch The pitch of the orbit camera around the asset.
Orbit Yaw The yaw of the orbit camera around the asset.
Orbit Zoom The offset from the bounds sphere distance from the asset.