Imagine that you have a idle state running and you have a run forward state. So, if you press W you trigger a transition from idle to run forward with CrossFade and if you stop pressing W you trigger a transition from run forward to idle.
Here comes the problem, the transition takes X time to complete, if you only push W once the character should stop the transition and come back to the idle state, but Mecanim thinks that he’s still in idle because the transition didn’t finished to go from one state to the next.
So, how I’m supposed to make a responsive movement system through CrossFade if you can’t abort a transition when you desire to?
So, you can’t come back to the origin state when you are CrossFading to the next because Mecanim believes that you are still on the origin state when, visually, you are not (you are between the two).
Is this a bug, or a desired behavior? If it’s a bug, is this gonna be fixed some time soon? If it’s the desired behavior, I’m not supposed to use CrossFade in that way?
EDIT1: This is an example of what I want to achieve → - YouTube
EDIT2: I’m attaching a clear example of the problem: Mecanim CrossFade Problem
Press W to trigger an Animator.CrossFade from Idle to Walk Forward, you’ll that if you press it only once it will keep walking forward until the transition is finished, so you CAN’T interrupt the transition to come back to the origin state until the transition is ended (Idle in this case).
Also, if you press F you’ll triger a manual CrossFade to Idle, and, as you can see it won’t work until the Idle to Run Forward transition is ended. This is just to make the problem more clear.