Has Exit Time functionality

I’m not sure that I understand what this functionality does. According to UnityDocs:

Exit Time is a special transition that doesn’t rely on a parameter. Instead, it relies on the normalized time of the state. Check to make the transition happen at the specific time specified in Exit Time .

From that I understand that any transition that had ‘Has Exit Time’ checked would exit the origin state whenever the animation ended (if ‘Exit Time’ would be set to 1), or at half the animation loop if it was set to 0.5… Am I right in assuming that?

If that’s the case, I have another issue: just for experimenting, I tried to set the transition from the state Locomotion to Attack by using the ‘Has Exit Time’ property. For any Exit Time <= 0.8, the transitions works fine and changes to Attack before the animation ends, but if I set Exit Time > 0.8 (1, for instance), the animator doesn’t move from the Locomotion state.

Is that the expected behaviour or am I doing something wrong?

The only thing that comes to mind is that if the transition is > 1, then it isn’t evaluated until the next loop… but that should still move from the locomotion state. That being said, with blended states, it’s possible that an animation never actually reaches 1, if one or more of the current blended animations is shorter than the longest blended animation… for example: if idle is 1 second long, but run is .8 seconds long, and you’re partly moving, then the run animation will end at .8, resetting the animation loop to 0, with it never reaching 1. I can’t guarantee this is the case, but it sounds like this is what may be going on.

More reading:

2 Likes

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms