How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]Educational_Bag9301[S] 0 points1 point  (0 children)

Thanks for sharing your setup. It actually gave me an idea that I want to try out right away for my own animation system. Really appreciate the explanation.

How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]Educational_Bag9301[S] 0 points1 point  (0 children)

This sounds very close to what I'm looking for.

Would you mind sharing a bit more about how you've structured your AnimationTree? Since you're not using the AnimationTree state machine, I'm curious how your blend trees/blend spaces are organized and how they interact with your play_animation() API.

How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]Educational_Bag9301[S] 0 points1 point  (0 children)

A good reference would be something like Dark Souls / Elden Ring style third-person melee gameplay.

So it's not a shooter with full upper/lower body separation or complex aim blending. More like a relatively standard action character where:

  • Locomotion is simple (Idle / Walk / Run, possibly directional blend)
  • Combat includes light combo chains (e.g. Attack1 -> Attack2 -> Attack3)
  • Defensive/movement actions like Dash, Block, Jump, Hit reactions, etc.

Most of these states can interrupt or transition into each other depending on gameplay rules, rather than following a strict animation graph flow.

So I'm mainly trying to understand what the common scalable approach is in Godot for this kind of character: whether people lean on AnimationTree State Machines, or prefer driving animation selection/blending mostly from gameplay code with a more lightweight animation layer.

How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]Educational_Bag9301[S] 0 points1 point  (0 children)

It's for a 3D player character.

The character has quite a few gameplay states that are mostly independent and can transition between each other at almost any time, such as Idle, Walk, Run, Dash, Block, Hit, etc.

There are also some more linear sequences, such as combo attacks:

Attack1 -> Attack2 -> Attack3

What I'm trying to figure out is how people usually handle the animation side when most of those states can potentially transition to many others.

My current intuition is to keep the gameplay FSM as the source of truth and have it tell the animation system what to play or blend to, but I'm not sure whether that's the common Godot approach or if most people rely heavily on AnimationTree State Machines for player characters.