Unity 2019.3.7f1 .. Художник, с которым я работаю, сделал несколько анимаций для некоторых элементов пользовательского интерфейса, используя компонент Animator системы mecanim.
Я запускаю анимацию с помощью
Animator.SetTrigger("ParamaterName")
Объекты игры с анимированными компонентами, которые анимируются, могут быть отключены некоторыми из моих сценариев. Это может происходить во время воспроизведения анимации. Так что, если анимация начинает воспроизводиться, и, скажем, анимация заставила кнопку увеличиваться, то игровой объект отключается. Когда игровой объект снова включен (анимация больше не воспроизводится), он все еще большой. Есть ли способ сообщить Аниматору go обратно в нормальное состояние? Я пробовал подобные вещи в onEnable и OnDisable в сценарии на GameObject
Animator.keepAnimatorControllerStateOnDisable = false
Animator.Play("normalState",0,0f);
Animator.playbackTime = 0f;
Animator.Update(0f);
Эта вещь mecannim просто выглядит как черный ящик о том, как она работает. Я не знаком с этим, так как я всегда использовал свою собственную библиотеку для анимации вещей, которые я использовал в течение многих лет.
РЕДАКТИРОВАТЬ: Это было решение ...
private void Start()
{
Animator.keepAnimatorControllerStateOnDisable = true;
}
private void OnDisable()
{
Animator.Play("normalState",0,0f);
}