I have a more complicated animation graph and state machine going on and there a few things which I’m not sure is problem with my anim graph or if it’s a result of how sate machine is supposed to work and I just don’t know about that.
A very simplified example (which may not be very practical, but is there to show the point):
- let’s say that the actor has pretty long acceleration and deceleration set in the standard movement component
- character can go from idle to walk via typical rule of speed being above 0 and can go back to idle when speed is 0
- can go from walk to run when speed is above 250 and can go back when it’s below 250
- now the “special” rule governs when character can go from run directly to idle and this happens when you suddenly let go of controls (at which point the speed starts to get lower but thanks to deceleration it will happen over many frames)
What I’m observing while testing this setup is that if I’m in Run state, and suddenly let go of controls, the state machine correctly selects Idle and starts to transition from Run.
But what is also happening is that while it’s blending from Run to Idle, it also starts to blend to Walk (because of deceleration makes the character speed still above 0). Also it starts to blend from Walk back to Idle because meanwhile the speed has reached 0.
I know how could I fix this or avoid this. But it would be great to have confirmed that the described behavior is as expected for the reasons described above and I’m not seeing some bug, glitch or have some wrong idea about how is this supposed to work. So the core of the question is, if a state machine is “allowed” to select and play 3rd state while is transitioning from state 2 to state 1.