Создание и кодирование сценария аниматора с помощью Unity

#animation #unity3d #animator

#Анимация #unity3d #аниматор

Вопрос:

у меня есть три состояния анимации и два параметра bool. Я хочу обвести это.

Состояние входа «BeklemeAtakYap» отсутствует в анимации.

Во-первых, я установил bool «Bekle» true, «Saldir» false.

Анимация, начинающая состояние «Беклеме».

Я устанавливаю в сценарии «Bekle» false и «Saldir» true.

Анимация, поддерживающая состояние «Saldir».

И я делаю перевод «Saldir» и «BeklemeAtakYap».

Когда состояние «Saldir» заканчивается и запускается «BeklemeAtakYap», я хочу, чтобы параметры bool «Bekle» были истинными, «Saldir» — ложными, как это можно сделать?Анимация круга

Ответ №1:

Вы можете добавить AnimationEvent в конце состояния Saldir.

просто щелкните правой кнопкой мыши в верхней части временной шкалы чуть ниже times и выберите add AnimationEvent.

Затем напишите функцию в скрипте, который подключен к AnimationController, и назначьте ее AnimationEvent. В этой функции вы можете вручную задать параметры анимации.

GetComponent<Animator>().SetBool("Saldir", false);

Кстати, пожалуйста, используйте английские слова в вашем вопросе для лучшей читаемости.

Ответ №2:

Я нажимаю состояние «BeklemeAtakYap» и нажимаю Добавить поведение-> Добавить сценарий. Откройте сценарий и напишите;

 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
    animator.SetBool ("Saldir", false);
    animator.SetBool ("Bekle", true);
}
  

Это работа.