Search Issue Tracker

Active

Under Consideration for 2022.3.X, 6000.0.X, 6000.1.X, 6000.2.X

Votes

0

Found in

2022.3.62f1

6000.0.52f1

6000.1.7f1

6000.2.0b5

Issue ID

UUM-109060

Regression

No

Animator.CrossFade normalizedDuration results in scaled clip advancement when Animator.speed is not 1.0

-

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 with: 2022.1.0a1, 2022.3.62f1, 6000.0.52f1, 6000.1.7f1, 6000.2.0b5

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)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.