Как сделать, чтобы анимацию нельзя было прекратить?
Как сделать, чтобы анимацию нельзя было прекратить? У меня есть анимация смерти и на последнем кадре игрок уничтожается со сцены, но из этой анимации можно перейти в другую и тем самым до последнего кадра не доходит и игрок не удаляется.
Ответы (1 шт):
Можно использовать параметры аниматора.
Создаем новый параметр с именем 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



