Animation Keyframe Scaling

Godot Version

4.x

Question

Is there a way to scale an animation to any desired length?

I want to make my current animation which is 0.8s long to 1.66s. I know I can do it in blender but is there any inbuilt way in Godot so that i can scale the length of specific animations. The speed scale is not the solution as it will affect every animations which will be played by the Animation Player. I am using animation libraries from various sources and I have to mix and match the animations to blend with others. Doing that in blender is not the solution in my case because I am not so good at blender. I couldn’t find the solution anywhere and so I created my own addon Keyframe Scaling for it. But it would be lot more intuitive and useful if there was something built-in feature in Godot like blender has. Is there anything or am I missing on something?

There is an AnimationNodeTimeScale that you can use in the AnimationTree. it’s explained a little more here:

Would that solve your problem?

3 Likes

This works if I am using timescale node connected to a single animation in the Animation Tree. But if I am using a blend space 2d which is the actual situation of mine, how to use the timescale node for individual animations inside the blend space 2d? Is it possible to use timescale in this situation?

By the way, thank you so much for answering :innocent:

1 Like

Interesting, I don’t think it’s currently possible indeed. Maybe you could open a new proposal with your usecase, if there isn’t one open already?

This seems to be a valuable contribution.

1 Like

There is a proposal already existing for the same issue/feature issue #3532

1 Like