0 votes

Hi all,

I'm currently converting a setup I had in Unity to Godot. And using the BlendSpace2D I've noticed that it doesn't transition values applied to it. Meaning if x is -1 and I set it to 1, the character snaps to the animation at x=1, instead of smoothly transitioning to it.

Is there a way to enable smoothing that transition? I can obviously manually smooth the values I'm sending in, but I'm hoping this can all be handled in the AnimationTree, as it controls smoothing in other places.


Godot version 4.0.beta5
in Engine by (27 points)

1 Answer

0 votes
Best answer

Interpolate the input value as you wish and you will get your smooth transition. BlendSpace2D will blend the animation but it needs a value like -0.7 or 0.1 etc to show the halfway blended anims, but will not automatically add some smoothing between setting the blend value. (If you want it to snap it surely will)

I would consider using either a call to lerp, a Tween object or using an AnimationPlayer to animate a variable, and then sending that variable to the BlendSpace2D. I assume this is the effect you are looking for.

by (136 points)
selected by

Thanks, it is! I feel like there should be an option to add a transition value in the BlendSpace itself, as the rest of the animator nodes/transitions have this. But like you said, it is simple enough to smooth the value being sent in.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.