<aside>

:gab: Gab from the future ⚠️

This is legit and can be used as godot learning materials, but corresponding videos were recorded prior to godot 4.3. Godot 4.3 introduced new SkeletonModifier3D class and it literally destroyed all my worries about animation problems and solutions listed below.

Watch other videos about SkeletonModifier3D for more details.

</aside>

Godot animation layering pipelines for big games

Let’s make an ability to use a gesture while maintaining the control of the character with directional inputs from WASD or joystick. It will also help us to make some secondary mechanics such as withdrawing a weapon, lifting up a shield, and even casting spells without interrupting our next occupation.

Let's start with describing the problem

So here we have a clean design for a character controller. It is a SM, it's pretty powerful, and it has nice pipelines established. Any move the character can make is a separate state, a separate code piece, nicely encapsulated to minimize systems complexity.

And now we need to lift our shield and block some hits.

And this is a common task to solve: any weapon sheathing and withdrawing, some reload animations, consumable usage animations, and all horseback combat.

All that requires us to think of our torso as of an entity different from our legs.

Our task breaks down into two big sub-goals:

Considerations

image.png

image.png

image.png

What we essentially try to achieve is a parallel work of two codependent SMs with a shared blackboard.

But then the first problem comes: our system is very closed.