Reproduction steps:
1. Open the attached “IN-101153.zip” project
2. Open the “SampleScene”
3. Enter Play mode
4. Press “R” on the keyboard
5. Press “1” on the keyboard
6. Observe the last log (“RESULT FOR [TEST 1 (Animator.speed CHANGED)]…”)
Expected result: The “ACTUAL Clip NormTime Consumed” value is approximately 0.0600
Actual result: The “ACTUAL Clip NormTime Consumed” value is approximately 0.0200
Reproducible on: Windows 10 (user reported), Windows 11
Not reproducible on: No other environments tested
Notes:
The issue occurs when Animator.speed is 0.3 and normalizedDuration = 0.06 is passed to CrossFade(). During the blend, clip A’s normalized time advances roughly three times more than expected
If a State's Speed Multiplier is used instead of Animator.speed, the “ACTUAL Clip NormTime Consumed” is correctly ~0.0600. This can be tested by repeating repro steps but on the 5th step pressing “2” instead. But before testing, the “Animator Global Speed” value on the Cube GameObject must be changed to “1” and “StateASpeed” value in the Animator must be changed to “0.3”
Repeating the repro steps, but on the 5th step pressing “3” instead, shows the workaround where normalizedDuration is multiplied by Animator.speed (duration * 0.3) before passing it to CrossFade() (The values changed for Test 2 must also be reverted)
Prioritise and Follow this issue
Have a workaround or additional info about this issue?