Как создать задержку между двумя анимациями в юнити?

Созданы две анимации: одна - закрытая дверь, затем дверь открывается, вторая - персонаж стоит, затем идет. По нажатию кнопки происходит переход в обеих анимациях:

animator.SetTrigger("door1");
anim.SetTrigger("walk");

Как создать задержку по времени, чтобы вторая анимация (переход персонажа из стоя в ходьбу) осуществлялся после полного завершения первой анимации (открытие двери)?


Ответы (1 шт):

Автор решения: Nikolay Stuff

В аниматоре в transition(стрелочка) есть Has Exit Time , то есть воспроизведение новой анимации не начнётся , пока не закончится другая. Так же можно с помощью async.

Пример:

private async void AnimChanger()
{
    var animatinon = PlayerAnimator.GetCurrentAnimatorClipInfo(0)[0].clip;
    await Task.Delay(TimeSpan.FromSeconds(animatinon.length));
}
→ Ссылка