Найти тему

Unity3D. Анимация персонажа

В предыдущих частях мы создали персонажа и настроили камеру от первого лица:

https://dzen.ru/media/id/63879c35c9d124210bb34194/unity-3d-kamera-ot-pervogo-lica-63e0af1cdc0e2014ed398d7e

А также добавили перемещение персонажа

https://dzen.ru/media/id/63879c35c9d124210bb34194/unity3d-peremescenie-personaja-63e0d861e21298331008932c

В этой части рассмотрим анимацию персонажа. Для этого давайте скачаем готовые скелетные анимации из пакета:

Пакет с анимациями
Пакет с анимациями

В этом пакете много различных анимаций, которые разделены по типам и объединены контроллерами в группы. Вы можете использование связок анимаций в этом пакете, открыв демо сцену в папке Assets\Kevin Iglesias\Basic Motions.

Мы для простоты создадим свой контроллер, так как наш персонаж может находиться только в двух состояниях - покой и перемещение.

Создайте новый Animator Controller и назовите его ManController:

Контроллер анимаций персонажа
Контроллер анимаций персонажа

Откройте этот контроллер и переместите мышкой анимацию покоя BasicMotions@Idle01 из папки Assets\Kevin Iglesias\Basic Motions\Animations\Idles в поле контроллера. Аналогично переместите анимацию бега BasicMotions@Run01 из папки Assets\Kevin Iglesias\Basic Motions\Animations\Movement.

Добавление анимаций
Добавление анимаций

Создайте логический параметр IsMove, с помощью которого мы будем определять состояние персонажа. Настройте связи между анимациями, используя этот параметр:

Настройка связей
Настройка связей

А в коде скрипта персонажа добавьте изменение этого параметра:
anim.SetBool("IsMove", isWalking);

Скрипт персонажа будет выглядеть следующим образом:

Скрипт персонажа
Скрипт персонажа

Аналогичным образом можно добавить персонажу другие анимации и настроить из использование через параметры.