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
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
- Entities Hierarchy Search “Show/Hide” button’s Lens Icon is blurry when the Editor is on an external monitor
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.