Sequence Stack Overlay System

The Sequence Stack Overlay System dynamically blends different animation sequences with base locomotion under various conditions.

Cover.GMS
罗传月武(YueWu)

Author

罗传月武(YueWu)

专注游戏开发和Web技术。

Created: Oct 15, 2025Updated: Sep 15, 2026

Table of contents

Overview

The Sequence Stack Overlay System dynamically blends different animation sequences with base locomotion under various conditions (driven by GameplayTags), using blend masks or BranchFilters to control blend weights.

Parallel Sequence Stack

To use the Parallel Sequence Stack, select ParallelSequenceStack in the Anim Layer Setting (Overlay) field of the Movement Set settings.


并行序列栈.选择

Its basic configuration structure is as follows:

并行序列栈.数据结构

In this section, you can configure multiple Overlay Mode Settings. Each overlay mode setting allows you to configure:

  • Mode Identifier: Use GMS.OverlayMode.XXX tags to uniquely identify this overlay mode setting.
  • Parallel Sequence Stacks: Up to 10 stacks can be added. Priority is determined by the array index (higher index = higher priority).

Single Stack Configuration

Each stack can represent a body part and supports the following configuration:

  • TargetAnimNodes: Determines which animation sequences will play when the corresponding animation nodes' tags are active. This acts as a switch—only when the animation blueprint reaches the specified animation state node will the animations configured in this stack be considered.
  • Potential Animation List (Overlays): The list of potential animations to play for this body part.
并行序列栈.单个Stack

Potential Animation List

Overlays is an array where each entry primarily controls:

并行序列栈.单个Entry
  • TagQuery: A query against the tags owned by the movement system component. This animation sequence will be considered when the tags match this query.
  • PlayMode: Controls the playback mode of the sequence, which can be SequencePlayer (looping animation) or SequenceEvaluator (single-frame playback of the sequence).
  • BlendWeight: The blend weight and blend-in time for the animation.
  • BlendMode: The blend mode, which can be a BlendMask name existing on the skeleton or BranchFilters. Refer to LayeredBlendPerBone for details.

Examples

This is an example of the parallel sequence stack overlay system, taken from the SequenceStack_Demo_P layering setup in the companion project.

Common Usage:

The diagram below uses MovementSet.Unarmed (Lyra's Unarmed Locomotion) as the base and blends in sword/shield animations from Paragon's Greystone.

并行序列栈.剑案例

The first stack plays sword/shield locomotion animations on the character's upper body when not in idle state.

并行序列栈.剑案例.栈1

The second stack plays an Injured animation on the character's left arm when in Injured state.

并行序列栈.剑案例.栈2

When the layering is set to OverlayMode.Sword, the result is as follows:

Dynamic Selection Usage:

In Example 2, both TargetAnimNodes and TagQuery are utilized.

The configuration below blends different animations on different body parts when conditions are met on the ground:

并行序列栈.案例

The first stack plays a Dance animation on the character's upper body by default (no conditions).

GMS动画叠层系统.006

The second stack plays an Injured animation on the character's left arm when in Injured state.

GMS动画叠层系统.007

The third stack plays a bound-hands animation on the character's upper body when in HandTied state.

GMS动画叠层系统.007.5

Two triggers are set up in the level to add a 10-second Injured state and a 5-second HandTied state to the character, respectively.

GMS动画叠层系统.008

When the layering is set to OverlayMode.Demo, the result is as follows:

You can see that if both Injured and HandTied states are active simultaneously, the HandTied animation takes priority (as it has the highest priority in the Stacks). When the HandTied state expires, it falls back to the Injured state. When the Injured state expires, it returns to the upper-body dance animation.

Video Reference

Some parameter names in the video tutorial are outdated, but you can still follow the workflow.

Video

Sequence Stack

The Sequence Stack is a simplified version of the Parallel Sequence Stack, offering better performance but not supporting simultaneous playback of different sequences on multiple body parts.

I found the Parallel Sequence Stack to be overly complex, so I developed this version.

To use the Sequence Stack, select SequenceStack in the Overlay Anim Layer section of the Movement Set settings.

序列栈.选择

In this section, you can configure multiple Overlay Mode Settings. Each overlay mode setting allows you to configure:

  • Mode Identifier: Use GMS.OverlayMode.XXX tags to uniquely identify this overlay mode setting.
  • Sequence List: The list of potential dynamic sequence settings (SequenceStackEntry). Selection priority follows the array index order, with later entries having lower priority.

Each dynamic sequence setting contains the following:

序列栈.Sequence设置

The most important settings are:

  • RelevanceQuery: The active animation node matching this query will be selected.
  • TagQuery: The character's tags matching this query will be selected.