Урок 2. Создание анимации в Unity с помощью Animator. Настройка Animator Controller.
Добрый день. В этом уроке мы рассмотрим анимацию персонажа с помощью Animator и настроим контроллер к нему. Для начала нам нужен персонаж, а так же анимации ходьбы . Я взял это все на сайте mixamo.com. Заходим на сайт регистрируемся и выбираем во вкладке Character персонажа, который Вам нравится. Я выбрал под именем Mousey. Затем нажимаем на кнопку Download, выбираем формат FBX for Unity и T-pose и указываем путь, куда хотим сохранить. Лучше сразу сохранить в наш объект в папке Asset. При переходе в Unity у нас уже должно отобразиться наш файл, но если этого не случилось просто нажмите Ctrl + R.
Так же наш объект нужно сделать не зависимым от модели(сохраниться только меш), для этого нужно сделать unpak префаба. Позже мы его опять сделаем префабом, но только уже с нашими компонентами(префаб – это шаблон для объекта, чтобы при большом количестве их на сцене и необходимостью что-нибудь поменять было достаточно изменить только его).
Так же нам надо вытащить наши анимации из файлов mixamo, так как их нельзя будет переименовать и в контроллере они все будут с одинаковыми именами. Выделите файл от mixamo, затем выделите анимацию с помощью левой кнопки мыши, а затем нажмите сочетание клавиш Ctrl + d. У Вас появится дубликат, переименуйте его сразу, чтобы не запутаться. Сделайте так со всеми нашими файлами движения и после этого перенесите их в отдельную папку Animation.
Теперь давайте подключим Character Controller, настроим его, так же нам понадобится скрипт для управления(я использовал с Урок 3. Движение объекта с помощью Character Controller. Часть 2., с небольшими изменениями). Ещё нужно будет прикрепить камеру к нашему объекту(просто перетащите её в наш объект и настройте положение по Вашему усмотрению).
После этого откройте наш контроллер двойным щелчком левой кнопки мыши. У нас появится вкладка, где можно добавлять наши анимации. Перенесите их все, только вначале переносите idle, для того чтобы она у нас проигрывалась по умолчанию. Так же нам надо будет создать 2 параметра. Первый будет bool и назовем его Walk. Когда он будет активен будет проигрываться анимация движения, когда нет, то будет проигрываться бездействие. Второй будет Trigger с именем Jump, будем вызывать при прыжке.
Теперь нам нужно создать условия, при которых будет срабатывать наши анимации. Для этого выбираем idle и нажав левую кнопку мыши выбираем Make Transition и привязываемся этой стрелкой Walk, затем сделаем тоже самое привязав Walk к Idle. Jump нужно будет к Any state и к Exit, это нужно для того, чтобы Jump мог прерывать любую анимацию и самому начать проигрываться. Так же у всех стрелок, кроме переход от Jump к Exit, в параметрах нужно снять галочку у Has Exit Time. Это нужно для того, чтобы анимация прерывалась в любой момент. Ещё нужно наши параметры переключения привязать к стрелкам. Для этого выберите стрелку и в Conditions нажмите на + и выберите параметры, при которых у нас будет переход.
Всё. Анимация настроена. Теперь нужно добавить в скрипт условия, при которых будет срабатывать наша анимация. Для начала добавим её переменную и назовем её anim. потом в методе Start() подключаем к ней компонент Animator. Затем в методе Move создаем условие, при котором если нажата какая-нибудь клавиша движение анимация переходит из состояния Idle в состояние Walk, а если не нажата соответственно наоборот. В методе Jump просто вписываем в условие при нажатии клавиши пробел воспроизведение Jump.
Вот и всё готово. Скачать полностью проект можно нажав на кнопку ниже.