Sync Groups

Choose your OS:

Sync Groups keep related animations synchronized with each other, even if they have different lengths. For example, you may have a walk cycle and a run cycle that you would like to blend together so that the character can smoothly accelerate or decelerate. However, the walk cycle for a given character is usually significantly longer than the run cycle? In such a case, directly blending from one to the other would have unnatural results, like an unsightly "beat" as the foot animation switches.

Sync Groups solve this problem by designating one primary animation node as the Leader, and scaling the lengths of all related animations to match the Leader's length. Typically, the Leader is the node with the greatest blend weight. As the weight blends and the follower's weight exceeds the Leader's, the follower becomes the Leader. In this way, the two animations can work smoothly together, offering a seamless transition from one motion to the next.

It should be noted, however, that since the time of the animations is shifting, there are certain animation considerations to take into account. For instance, in the example of blending between walk and run cycles, both animations should begin and end on the same foot. Establishing these standards early will help everything blend much more smoothly!

Group Roles: Leaders and Followers

Sync Groups work with the concept of group roles, in which one animation is the "Leader" while all other animations are "followers".

Leader

  • Provides the master animation length that is used by all followers.

  • Executes all of its Notifies.

Follower

  • Scales its animation length to match the Leader.

  • Has its Notifies suppressed, deferring instead to Leader's Notifies.

Leaders and followers are designated simply by which animation has the greater blend weight, as in the following example:

Image

Description

diagram_RunAnimation.png

Run animation, original size, set to a Sync Group named WalkRun.

diagram_WalkAnimation.png

Walk animation, original size, also set to a Sync Group named WalkRun.

diagram_walkAnimationScaledDown.png

In this instance, the blend weight for the run animation would be greater than the walk animation. Since they are in the same Sync Group, the walk scales down to match the length of the run animation.

diagram_RunAnimationScaledUp.png

Here, the weighting has switched such that the walking animation is receiving a greater blend weight. This causes the run animation to scale up to match the length of the walk.

Setting a Sync Group

To set the Sync Group, select the animation node in the AnimGraph and look in the Details panel. You will see the Sync Group property.

AnimationSyncGroup.png

Property

Description

Group Name

This is where the Sync Group can be set. Generally, you will want all related animations that are meant to blend together (such as body motions for sneak, walk, run, sprint) to be in the same Sync Group.

Group Role

This is where you set the type of membership in the group. The available values are "Can Be Leader" (the default), "Always Leader", and "Never Leader".

Sync Groups can be set on AnimSequence and BlendSpace nodes within the AnimGraph, as well as inside State Machines.

Marker-Based Animation Syncing

In addition to Sync Groups, animations can be synchronized using markers within the animations.

AddSyncMarker.png

To add a Sync Marker, inside the Animation Notifications (Notifies) track of your Animation Sequence, right-click and select Add Sync Marker.

Some elements to consider when working with Sync Markers:

  • Only animations within the same Sync Group are synced, and the Leader drives the positions of followers within the same Sync Group.

  • The play rate is always that of the master animation (play rate adjustment is currently not available).

  • Only makers common to all animations within a group are synced.

    • For example, if one animation is missing the "Right Foot Down" makers, those markers will be ignored for all animations when determining that frame's position.

  • Position is synced based on the relative position of the Leader with respect to its common markers.

    • For example, if the Leader is 25% of the way between its left and right foot markers, the followers will be synced to 25% of the way of their respective left and right markers.

  • Marker based sync is used automatically when animations in a Sync Group have enough matching markers. Otherwise, the original scaled length syncing behavior is used.

  • AnimMontages also support marker-based sync while blending out, so you can transition back to other animations seamlessly.

    • You can find the Sync Group setting Asset Details panel in the AnimMontage.

Sync Markers can also be added automatically by setting up and applying Animation ModifiersNEW! within your animation.