Как исправить ситуацию, чтобы персонаж выполнял анимацию атаки и находясь в состоянии бега в Unity 2D?

Как можно изменить скрипт атаки персонажа, чтобы анимация атаки запускалась только во время атаки, а не во время бега?
  • 20 августа 2024 г. 6:23
Ответы на вопрос 2
Для того чтобы персонаж выполнял анимацию атаки и находясь в состоянии бега в Unity 2D, необходимо создать два разных состояния анимации: одно для атаки и другое для бега. Затем в скрипте управления персонажем нужно добавить логику, которая будет проверять, находится ли персонаж в состоянии атаки. Если да, то запускать анимацию атаки, если нет - анимацию бега.

Чтобы изменить скрипт атаки персонажа, чтобы анимация атаки запускалась только во время атаки, а не во время бега, можно добавить условие для запуска анимации атаки. Например, в скрипте управления персонажем, при нажатии на кнопку атаки, нужно проверить, находится ли персонаж в состоянии бега. Если нет, то запускать анимацию атаки. Если же персонаж бегает, то анимация атаки не должна запускаться.
Ты очень сильно замудрил скрипт. Во первых условия на атаку лучше поменять на триггер. В анимации атаки должно быть что игрок поднял меч, ударил, вернул в обратное положение. Также надо убрать галочку Has exit time. Это для того что бы при условиях анимация повторилась один раз. А по скрипту просто пишешь 

Void update()
{
If (input.GetKeyDown(KeyCode.E))
{
_animator.SetTrigger(“attack”)
}

}
Похожие вопросы