0
\$\begingroup\$

It looks like it does the same thing as Time.timeScale, only for the Animator. But it works somehow specifically. You need to call each frame for it to work + you can only speed up the animation of the Animator, but not slow it down.

Scaling the playing time of the Animator is easily and clearly carried out through the Animator.speed, then why do we need Animator.Update(), which for me does not even understand how it works?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

Animator.Update() is a function that you can call to step the animator forward by the given interval.

You would use this when the animator is otherwise paused (and not automatically advancing every frame according to Time.timeScale and Animator.speed). This lets you take complete control of when the animator should update and by how much. This can also be used (even with an argument of 0) to nudge the animator and ensure a transition is executed immediately, or sync the bones to their current animated positions to override a ragdoll pose, rather than waiting a frame for it to catch up to the newest gameplay state.

If all you want to do is adjust the animation speed, not take full control of its update loop, then Animator.speed is the correct property to use.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .