#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);
}
Это работа.