Skip to main content

Animation Assets and Editing Tools

Overview

Animation Assets which can be modified in the Animation Editor can control the actions of characters.

Skeleton

Skeleton Assets (suffix .xskt) are the base Skinned Animation asset type of the Flexi Engine Skinned Animation system, currently created and exported by DCC tools, as well as directly through the Engine Editor FBX import tool, they contain skeleton hierarchy and bone/auxiliary point animation data. Skeleton Assets can also be used as Animation Assets.

Asset Details

Currently, the Animation Editor does not provide direct editing for the Skeleton assets data. You can adjust its configurations in the animation set in the Asset Details panel.

image-20220909174316478

PropertyDescription
Skeleton FileSource skeleton file path
Animation FileAnimation file path (Read Only)
Rate Scale (Preview Only)Play rate scaling factor (Preview Only)
Enable Root MotionRead Only
Root Motion Root LockRead Only
Force Root LockRead Only
Use Normalized Root Motion ScaleRead Only
TranslateLegacy root motion related settings. Clear Z-Axis and Clear X,Z Axes can be chosen.
Additive Anim TypeRead Only
Base Pose TypeRead Only
Base Pose Animation FileRead Only
Ref Frame IndexRead Only
Sync GroupSync group
Blend In TimeBlend in time
Blend Out TimeBlend out time
Blend Timing ModeWhen using Absolute timing mode, blend in and blend out time are not affected by the play rate; When using Relative timing mode, blend in and blend out time are affected by the play rate and vary proportionally to the animation duration.
Start TriggerStart play trigger event
End TriggerEnd play trigger event
Break TriggerBreak play trigger event
Loop TriggerLoop play trigger event
Custom Key ValueCustom key value

Editing Animations

The animation playback controller is to control the playback of the preview animation.

image-20220909174758806

The red cursor can mark the current animation playback position, and provide manual control of the playback position by dragging it.

Scroll the mouse wheel on the timeline to zoom in and out, and the position of the mouse cursor is the zoom center. When the timeline is zoomed in, use the right mouse button to drag and drop to translate it, so you can control the red cursor’s position precisely.

IconDescription
image-20220909174836667Skip to the first frame
image-20220909174842574Previous frame
image-20220909174850848Play backwards
image-20220909174854635Play forwards
image-20220909174906563Next frame
image-20220909174858621Skip to the last frame
image-20220909174902771Loop playback

Animation Sequences

Animation Sequence is a composite animation asset based on skeleton asset. It is created by the Animation Editor and provides advanced features such as retargeting, root motion, notifying, marker-based sync and curve editing on top of the skeleton.

Animation Sequence can be played standalone in the pipeline directly, or used for composite assets such as Montage, Blend Space and Anim Tree.

Creating Animation Sequences

Click File -> Create to open the Asset Creating window to create an Animation Sequence Asset.

image-20220909174949156

Asset Details

An Animation File needs to be specified in the Asset Details panel, and you can continue setting up the Animation Sequence by changing other items.

image-20220909174959666

PropertyDescription
Skeleton FileSource skeleton file path
Animation FileAnimation file path (Read Only)
Rate ScalePlay rate scaling factor
Enable Root MotionEnable root motion or not
Root Motion Root LockThe way to lock the root bone after the root motion is extracted
  • Ref Pose: Use reference pose
  • Anim First Frame: Use animation first frame
  • 0: Use standardized transform
Force Root LockForce locking of the root bone, regardless of whether root motion has been extracted
Use Normalized Root Motion ScaleUse normalized root motion scaling (To avoid the effect of non-normalized scaling on root motion results)
TranslateLegacy root motion related settings. Clear Z-Axis and Clear X,Z Axes can be chosen.
Additive Anim Type
  • No Additive: Additive Anim type or not
  • Local Space: Data is in the local space
  • Mesh Space: Data is in the mesh space
Base Pose Type
  • Skeletal Mesh Animation Reference Pose: Reference pose (Target skeleton)
  • Selected Animation Scale: Specified animation
  • Selected Animation Frame: Specified animation frame
Base Pose Animation FileSpecified the animation file to use as the base pose
Ref Frame IndexSpecified frame
Sync GroupSync group
Blend In TimeBlend in time
Blend Out TimeBlend out time
Blend Timing Mode
  • Use Absolute timing mode. Blend in and blend out time are not affected by the play rate;
  • Use Relative timing mode. Blend in and blend out time are affected by the play rate and vary proportionally to the animation duration.
Start TriggerStart playback trigger event
End TriggerEnd playback trigger event
Break TriggerBreak playback trigger event
Loop TriggerLoop playback trigger event
Loop playback trigger eventCustom key value

Notifies

Notifies

Notify can locate specific points in the Animation Sequence, and then set the event to occur at the specific point to which the notify is added.

Notify typically adds effects such as sounds and particles to Animation Sequence, which makes it more animated and meets the needs of game creation in many ways.

Adding Notifies

Right-click on the track and select Add Notify -> New Notify, and enter the Notify Name in the pop-up New Notify window to complete the creation.

image-20230129162543122

Moving Notifies

Notify can be moved within a single track or between multiple tracks by dragging and dropping.

Single Track:

Multiple Tracks:

Adding State Notifies

State Notify is basically the same as the standard notify mentioned above. The difference is that you can set the start frame, the end frame and the duration of the notify.

Right-click on the track and select Add Notify -> New State Notify, and enter the Notify Name in the pop-up New Notify window to complete the creation.

image-20230129162913264

Managing Notifies

Right-click on the track and select Manage Notifies or Manage State Notifies, then you can delete the existing notifies in the Details panel or change their names.

image-20220909180346001

Sync Markers

Sync Marker is used to mark the animation sync interval and find the sync action in different animations and add sync markers. Animations with matching markers will be able to complete the sync.

Adding Sync Markers

Right-click Add Sync Marker -> New Sync Marker on the track and enter the sync marker name in the pop-up New Sync Marker window to complete the creation.

image-20220913100924460

Moving Sync Markers

Same as the operation of Moving Notifies.

Editing Notifies and Sync Markers

Right-click on the Notify and Sync Marker icons in the track to open the corresponding editing windows to copy, delete and replace them.

Notify Editing Window:

image-20220913100939210

State Notify Editing Window:

image-20220913100955776

Sync Marker Editing Window:

image-20220913101742168

Editing Curves

Click image-20230129163227988 in the Animation Curve panel to add a curve to the asset.

image-20220913101754609

image-20230129163159869

You can edit the curve name in the text box on the left of each curve panel.

The checkbox in the middle allows you to expand or collapse the curve editing panel.

Click "-" in the right Toolbar to delete the curve.

You can edit the curve after expanding the Curve Editor, as shown below.

image-20230129163400207

Editing Keyframes

Keyframes can be added by double-clicking on an empty area.

AddKeys

Multi-select keyframes by holding down the Ctrl key.

Select the keyframe, right-click in the blank area to delete the keyframe in the pop-up menu.

image-20230329140527199

After selecting a single keyframe, the parameters of Time and Value can be adjusted in the pop-up edit box.

image-20230329140412102

Adjusting Viewport

The Viewport can be adjusted to the appropriate range by using the two buttons in the upper left corner according to the range of curve values.

AdjustCurve

The Viewport can be adjusted manually by scrolling the mouse wheel; Holding down the Ctrl key at the same time will be scaled horizontally; Holding down the Shift key at the same time will be scaled vertically.

Animation Playback Controller

Please refer to Skeleton -> Editing Animations.

Montage

Montage is a composite animation asset based on Skeleton and/or Animation Sequence, which can linearly merge animation clips referenced from the Skeleton and/or Animation Sequence to a track and allow users to cut and recombine them into several custom sections. These custom sections can be played standalone in the pipeline or inserted into specified Slots in the Anim Tree as external animation sources.

Creating Montage

Click File -> Create to open the Asset Creation window. Then you can create a Montage asset in it.

Asset Details

The current animation Montage can be set by modifying the related properties in the Asset Details panel.

PropertyDescription
Rate ScalePlay rate scale factor
Sync GroupSync group
Sync Slot IndexSync slot index
Blend In TimeBlend in time
Blend Out TimeBlend out time
Blend Timing ModeAbsolute timing mode: The blend in and out time will not be influenced by the play rate; Relative timing mode: The blend in and out time will be influenced by the play rate and changes in proportion to the animation duration.

Montage Tracks

The newly created Montage contains an empty animation track.

Create segment. Drag the skeletons or Animation Sequence assets in the Action List to the track to add animations.

Drag multiple segments of animations into the same track to merge them into one animation for clipping.

Right-click on an existing track and select Create Track to add a new one.

Check the Preview checkbox to select the track to be previewed. (Note: If the later assigned Track Slot is already in use, then the track cannot be previewed. A warning icon will be displayed in the Editor. You need to reassign a Slot for it.).

image-20220913102126578

Right-click on the newly added track and select Delete Track to delete it.

Sections

There is a Default section in each track. If you want to create a new section, right-click on the track and select Create Montage Section. Then enter a new name for it in the pop-up window, and press Enter to complete the creation.

If you want to remove a section, right-click on it and select Delete Montage Section.

Drag the section horizontally in the track to adjust its position. Note: Similar to the scale of the timeline, we can scale the track by rolling the mouse wheel on it to improve the precision of section placement.

Editing Sections

In this area, you can reorganize the playback sequence between the sections newly created in the Montage.

image-20220913103415216

No.NameDescription
1ToolbarTo arrange all the sections in sequence from front to back, or to clear relationships between them.
2Section ButtonsA set of buttons marked with all section names. They are used to assign the subsequent of the selected section in the Section List.
3Section ListThe sections are arranged linearly, which can be rearranged into any custom linear sequence.

Rearranging Sections

Click Clear in the Tool bar. Then each section will be restored to independent individuals, which will no longer be sorted.

image-20220913103434871

Select the Default section.

Select the subsequent of the current section in the Section Button area, for example, section03.

Set section01 as the subsequent of section03 in the same way.

If you set section03 as the subsequent of section01 at the same time, the list will be shown as below:

(Note: The color change of section01 and section03 indicates that they form a loop.)

Similarly, we can form a list of section02 and section04, and make section04 self-loop.

image-20220913103513192

Click the X button after each section block will disassociate it from its subsequent.

Before:

After:

Click Preview All Sections button to play all sections in sequence from beginning to end, or you can click the Preview button in front of each list to preview each list respectively.

Slots

A Slot is used to manage the animation playback system of skeletal meshes. It can subdivide meshes by parts, so that the animation of a complete character can be divided into partial ones to play according to the specification.

After assigning Slots to them during the animation Montage creation, these Montage animations can be turned into ones that can change their own playback position.

Right-click Slot Name in the Slot Manager of the Anim Tree Editor and select Add Default Group And Slot, then right-click Default Slot and select Add Slot. Enter the Slot name in the pop-up window.

Assigning Slots

In the Montage panel, open the drop-down menu to the right of the track to select the needed Slot.

Previewing

Check the Preview checkbox to assign the current track to be previewed. (Note: If the later assigned Track Slot is already in use, then the track cannot be previewed.)

Notifies

Please refer to Animation Sequence Assets -> Notifies.

Animation Curve

Please refer to Animation Sequences -> Editing Curves.

Animation Playback Controller

Please refer to Skeleton -> Editing Animations.

Blend Spaces

A Blend Space is a composite asset based on Skeleton and/or Animation Sequence, which can accept multiple input controls (currently two at most) to control the blend of multiple animation sample points.

It supports standalone playback, playback nodes for Anim Tree, and Anim Tree Slot nodes input.

Blend Spaces Creation and Types

Different types of Blend Space provide numerous features in the Asset Editor.

Different Blend Space types can be created in the following steps.

Click File -> Create to open the Asset Creation window. Then you can create a Blend Space asset in it.

Blend Space 1D

Blend Space 1D is a one-dimensional variant of Blend Space. It can be created, edited and used in the same way as Blend Spaces.

image-20230130094002600

Aim Offset Blend Space

An Aim Offset Blend Space is a special Blend Space asset for processing demands including weapon or character look-at aiming. It only blends mesh space additive type poses and adds the result to the inputted base pose.

It supports playback nodes for Anim Tree and Anim Tree Slot nodes input.

Aim Offset Blend Space 1D

Aim Offset Blend Space 1D is a one-dimensional variant of Aim Offset Blend Space. It can be created, edited and used in the same way as Aim Offset Blend Space.

Asset Details

Blend Spaces can be set by modifying the related properties in the Asset Details panel.

OptionPropertyDescription
Horizontal AxisNameHorizontal axis name
Minimum Axis ValueMinimum horizontal axis value
Maximum Axis ValueMaximum horizontal axis value
Number of Grid DivisionsNumber of horizontal axis grid divisions
Interpolation TimeHorizontal axis interpolation time
Interpolation TypeHorizontal axis interpolation type.
  • Average Interpolation: Average the historical and current sampling points as the final sampling point value.
  • Linear Interpolation: The further the sample point interpolation weight is from the current time, the smaller the weight.
  • Cubic Interpolation: The further the sample point interpolation weight is from the current time, the smaller the weight, and the faster it attenuates than the linear interpolation weight.
Vertical AxisNameVertical axis name
Minimum Axis ValueMinimum vertical axis value
Maximum Axis ValueMaximum vertical axis value
Number of Grid DivisionsNumber of vertical axis grid divisions
Interpolation TimeVertical axis interpolation time
Interpolation TypeVertical axis interpolation type
  • Average Interpolation: Average the historical and current sampling points as the final sampling point value.
  • Linear Interpolation: The further the sample point interpolation weight is from the current time, the smaller the weight.
  • Cubic Interpolation: The further the sample point interpolation weight is from the current time, the smaller the weight, and the faster it attenuates than the linear interpolation weight.
Additive SettingsPreview Base PosePreview base pose
Blend SamplesBlend SamplesSample Animation List: List members are dynamically adjusted with the addition or deletion of samples. Each member provides horizontal axis coordinates, vertical axis coordinates, associated animation and play rate.
Sync GroupSync GroupSync group
Blend TimeBlend In TimeBlend in time
Blend Out TimeBlend out time
Blend Timing Mode
  • Absolute timing mode: The blend in and out time will not be influenced by the play rate;
  • Relative timing mode: The blend in and out time will be influenced by the play rate and changes in proportion to the animation duration.
  • TriggerStart TriggerStart playing trigger event
    End TriggerEnd playing trigger event
    Break TriggerBreak playing trigger event
    Loop TriggerLoop playing trigger event
    Sample InterpolationTarget Weight Interpolation Speed Per SecondSpeed of interpolating to target
    Custom Key ValueCustom Key ValueCustom key value
    Slot NameSlot NameSlot name

    Using Blend Spaces

    A two-dimensional grid is generated in the Blend Space sample grid editing area, whose number of grid divisions is determined by the Number Of Grid Divisions in the Asset Details panel. A sample point can be set on any grid line intersection point.

    image-20230130100014289

    Sample points can be added by dragging Skeleton or Animation Sequence assets from the Action List to specific intersections.

    add

    Click the icon to enable or disable the animation name associated with the sample point.

    image-20230130100145992

    Click the icon to enable or disable the display of the triangles in the grid section.

    image-20230130100154830

    Drag the sample point to adjust its position.

    drag-16690001084449

    Right-click on a sample point to open the Sample Point Edit window where you can adjust its settings. (Note: The settings here are the same as those in Blend Samples of the Asset Details panel.)

    image-20230130100224321

    Select a sample point first and press Delete key to delete it.

    After deleting the centered sample point:

    delete

    Simulate the change of the input control by dragging the green square in the panel, observing whether the blend result is as expected in the Viewport. In addition, a prompt window containing current blend state information will pop up in the panel during the dragging. It will display the current input control. Press and hold the Ctrl key while dragging to view the blend weight details of each node, which will help us better analyze the causes of blend results.

    BlendSpaceMessage

    Animation Playback Controller

    Please refer to Skeleton -> Editing Animations.

    Aim Offset

    Aim Offset is a special Blend Space asset for processing demands including weapon or character look-at aiming. It only blends the mesh space additive type poses and adds the result to the inputted base pose.

    Aim

    Creating Animation Sequence Assets

    Select four original assets including a_hg_aim_dwn, a_hg_aim_fwd, a_hg_aim_up and fi_bow_stand in the Asset Browser of the Animation Editor. Right-click and select Batch Convert Skeleton to Anim Seq (Skeleton Only) to batch create four corresponding Animation Sequence assets. Then click File -> Save All.

    Creating Additive Assets

    Double-click a_hg_aim_dwn_sq under the Asset Browser to open its edit panel.

    Modify the asset in the Asset Details panel.

    NameValue
    Additive Anim TypeMesh Space
    Base Pose TypeSelected Animation Frame
    Base Pose Animation Filefi_bow_stand_sq.anim_sequence
    Ref Frame Index0

    image-20220906104455827

    Click File -> Save All after modification. Then a a_hg_aim_dwn_sq_Additive.xskt file will be generated under the current resource directory.

    Modify the a_hg_aim_fwd_sq.anim_sequence and a_hg_aim_up_sq.anim_sequence assets in turn.

    Creating Aim Offset Blend Space 1D Asset

    Please refer to the Blend Space Creation and Types to create an Aim Offset Blend Space 1D asset.

    Modify the asset in the Asset Details panel.

    NameValue
    NamePitch
    Horizontal Axis: Minimum Axis Value-90
    Horizontal Axis: Maximum Axis Value90

    Drag the A_hg_Aim_Dwn_sq, A_hg_Aim_Fwd_sq and A_hg_Aim_Up_sq in the Asset Browser to the grid of the Asset Edit panel.

    Modify the Preview Base Pose in the Asset Details panel to fi_bow_stand_sq.anim_sequence.

    Click Save All.

    image-20220913103047985