Search Issue Tracker
By Design
Votes
0
Found in
2017.4.0f1
2017.4.14f1
2018.3.0a1
2019.1.0a1
2019.2.0a1
Issue ID
1112484
Regression
No
Animation transitions with "Exit Time" of 1 happen without regard for the animation's "Normalized Time" parameter's value
How to reproduce:
1. Open attached project "case_1112484-NormalizedTime" and scene "SampleScene"
2. Enter Play Mode
3. Select "Cube" to see its state machine in the Animator Window
4. Move focus to the Game View and press spacebar to trigger the transition
5. Observe the "Sliding" state's duration before transitioning back into the "Rotating" state
Expected result: transition back to state "Rotating" happens when the parameter "NormalizedSlidingTime" reaches 1 i.e. after 10 seconds
Actual result: transition to state "Rotating" happens when the normalized value of the original animation reaches 1 i.e. after 1 second
Reproducible with: 2017.4.21f1, 2018.3.7f1, 2019.1.0b4, 2019.2.0a6
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note:
Closing by design as this is actually the expected behavior. Otherwise, if you set a transition to be time based but mess up your code at all on setting the Normalized Time Parameter, it is very easy to get "stuck" in a state permanently. As it stands, you can control playback while still allowing transitions to work based on time in a natural way. If you wants to have the behaviour described in this bug report you can use Time.timeScale or create another float parameter in your state machine that is plugged to the speed multiplier input. Using the Normalized Time parameter is for precisely controlling the clip's playback. Time scale / speed is for altering the flow of time for the whole state/clip combination.