Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sub Animation State Machine is reset upon outgoing travel #79073

Closed
kq98 opened this issue Jul 5, 2023 · 1 comment
Closed

Sub Animation State Machine is reset upon outgoing travel #79073

kq98 opened this issue Jul 5, 2023 · 1 comment

Comments

@kq98
Copy link

kq98 commented Jul 5, 2023

Godot version

4.0.3.stable.flathub [5222a99]

System information

Linux Fedora Silverblue 38

Issue description

The Situation

I have an outer and an inner Animation Node State Machine.
outer state machine:
Bildschirmfoto vom 2023-07-05 11-21-05

inner state machine (terrestrial_locomotion_fsm)
Bildschirmfoto vom 2023-07-05 11-21-24

When traversing from the inner state machine to an animation node in the outer state machine, the inner state machine is reset.
Meaning that once the blending between the outer animation node and the inner animation state machine begins the inner state machine jumps to its internal "start" state, which is causing the targeted mesh to fallback to its unanimated form, a tpose in my case. Although there are immediate travel paths from the "start" state to other ones without any blend time, the tpose is visible for a few frames. The effects length might depend on the users specs.

This is causing ugly transitions as seen here, where I travel from the inner state machine that handles jogging, walking and idling to a sprint animation in the outer animation state machine.(video is slowed down to make the problem more apparent)

tpose_issue0001-0350.mp4

What I would have expected

The inner state machine should not be reset upon outgoing travel until the blending is completed.

Workaround

Don't use sub state machines

Steps to reproduce

Create an outer and an inner Animation Node State Machine.
Have a looping animation inside the inner state machine and travel to a node in the outer animation state machine with an Xfade time > 0.
Notice how the model snaps to its unanimated form for a few frames upon outgoing travel.

Minimal reproduction project

DemoProjekt.zip

With this simple cube the effect is harder to see than with more complex models and animations, but notice the snapping that occurres when traveling from inner_state_machine to the move animation node

@TokageItLab
Copy link
Member

Should be fixed in #75759 already.

@TokageItLab TokageItLab closed this as not planned Won't fix, can't repro, duplicate, stale Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants