0 votes

I'm trying to implement proper jumping and landing
animations. I'm having issues with the xfade transition between jumping and falling persisting past when the player should be in the
next state, landing. I have increased the xfade time to make the issue clear to see. Please do not suggest removing the xfade altogether,
that will simply create the new problem of an abrupt transition between the jumping and falling states.

Here is a video showing my animation state machine:

https://www.youtube.com/watch?v=EgOjg-8BPK8

I need the animation to progress to and past the 'falling' state immediately when I try traveling to the 'idle' state.

Godot version 3.4.4
in Engine by (69 points)

1 Answer

0 votes

What does your implementation/code look like?
It may not be your animations but the state?

How does your code change from "falling" to "idle"?

Also, slightly unrelated but I have been working with state machines lately. It usually helps that anything that is some state different from the others become a separate state itself. If you have a transition, perhaps make it an additional "buffer" state to smooth things out. It could be a matter of states changing too quickly or "leaking" into other states because no logic is stopping it from doing so.

by (291 points)

My code is pretty straightforward. I've tried both starting and traveling to the landing animation, neither work properly. I have also tried stoping the currently playing animation first, and that still does not work.

It appears that there is nothing I can do to cut the xfade time short. I may be wrong and would love to know a way to do it.

I found these two github issues which seem to be the same problem that I'm having. Perhaps we just need to wait for a fix to be implemented before this will work.
https://github.com/godotengine/godot/issues/43570
https://github.com/godotengine/godot-proposals/issues/2200

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 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 webmaster@godotengine.org with your username.