Как сделать, чтобы анимацию нельзя было прекратить?

Как сделать, чтобы анимацию нельзя было прекратить? У меня есть анимация смерти и на последнем кадре игрок уничтожается со сцены, но из этой анимации можно перейти в другую и тем самым до последнего кадра не доходит и игрок не удаляется.

Animator

Transition -> Death


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

Автор решения: ssa112112

Можно использовать параметры аниматора.

Создаем новый параметр с именем IsLive типа bool со значением по умолчанию true.

введите сюда описание изображения

При смерти нам будет необходимо поменять значение этого параметра на false. Можно сделать таким образом:

  • Выбираем стейт Death
  • Щелкаем по AddBehavior
  • Добавляем такой скрипт
using UnityEngine;

public class Death : StateMachineBehaviour
{
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        animator.SetBool("IsLive",false);
    }

}

Если у вас есть метод смерти где-то в другом месте, вы можете прописать animator.SetBool("IsLive",false); там, предварительно сохранив ссылку на нужный Animator где-нибудь в старте.

Ну и дальше для всех ваших переходов из AnyState просто добавляем условие IsLive == true

введите сюда описание изображения

→ Ссылка