Multiple call methods in animation player while using blendspace

Godot Version

4.2.1

Question

I want to make step sounds using call method track in animation player. But, blendspace of my locomotion triggers both call methods from two blending animations. Because they are blending, they are playing at the same time and calling methods. But i want only one animation’s step sounds to be played. I came up with some cheap and dirty workarounds like “await” or something but i really think there is better solution

If you are using an animation style where it makes sense, you can switch the blend mode of the blendspace to discrete.

There might be a better solution but that’s the one I ended up finding.

thanks for your idea, but unfortunaly it doesn’t fit my style. I am making third person shooter with slope-speed multipliers and stuff… so I rely alot on animation blend space. All these days i was trying different approaches but still nothing.
I guess in unreal engine they use sync groups. That would help a lot with also syncing between different animations in blend space

You could try enabling the AnimationNodeBlendSpace2D.sync property.

Thanks! Actually, it was on already and to be honest, I don’t understand what it changes, but…
I found this tred (Add `sync` to `NodeTransition` and `BlendSpace1D/2D` and refactor `sync` in `AnimationTree` by TokageItLab · Pull Request #62623 · godotengine/godot · GitHub) with project to download
As I understood, to blend between two animations(for examle: run and walk) you need to make them identical in frames, and speed up one which is faster (run anim). And then manipulate with timescales and blend_amounts. It’s seams like a solution to me

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.