Warning: Undefined array key "is_rate_editable" in /var/www/webmasr5/public_html/wp-content/plugins/wpdiscuz/class.WpdiscuzCore.php on line 1303
Создание анимации в Unity с помощью компонента Animator.

webmas

Урок 2. Создание анимации в Unity с помощью Animator. Настройка Animator Controller.

     Добрый день.  В этом уроке мы рассмотрим анимацию персонажа с помощью Animator и настроим контроллер к нему. Для начала нам нужен персонаж, а так же анимации ходьбы . Я взял это все на сайте mixamo.com. Заходим на сайт регистрируемся и выбираем во вкладке Character персонажа, который Вам нравится. Я выбрал под именем Mousey. Затем нажимаем на кнопку Download, выбираем формат FBX for Unity и T-pose и указываем путь, куда хотим сохранить. Лучше сразу сохранить в наш объект в папке Asset. При переходе в Unity у нас уже должно отобразиться наш файл, но если этого не случилось просто нажмите Ctrl + R.

     После этого нам нужно будет скачать 3 анимации это Idle(бездействие), Walking(ходьба) и Jump(прыжок). Если при выборе у Вас модель будет двигаться не на месте, то нужно будет поставить галочку для In Place

     После этого перетаскиваем персонажа на нашу сцену. Если на нём не отображаются текстуры, ничего страшного, выбираем его во вкладке Inspector переходим в Materials и извлекаем материалы и текстуры (лучше в отдельные папки), после этого все должно отображаться как надо.

 Так же наш объект нужно сделать не зависимым от модели(сохраниться только меш), для этого нужно сделать unpak префаба. Позже мы его опять сделаем префабом, но только уже с нашими компонентами(префаб – это шаблон для объекта, чтобы при большом количестве их на сцене и необходимостью что-нибудь поменять было достаточно изменить только его).

Так же нам надо вытащить наши анимации из файлов mixamo, так как их нельзя будет переименовать  и в контроллере они все будут с одинаковыми именами. Выделите файл от mixamo, затем выделите анимацию с помощью левой кнопки мыши, а затем нажмите сочетание клавиш Ctrl + d. У Вас появится дубликат, переименуйте его сразу, чтобы не запутаться. Сделайте так со всеми нашими файлами движения и после этого перенесите их в отдельную папку Animation.

Теперь давайте подключим Character Controller, настроим его, так же нам понадобится скрипт для управления(я использовал с Урок 3. Движение объекта с помощью Character Controller. Часть 2., с небольшими изменениями). Ещё нужно будет прикрепить камеру к нашему объекту(просто перетащите её в наш объект и настройте положение по Вашему усмотрению).

И вот мы дошли до самой анимации. Подключите компонент Animation к нашему персонажу, затем создайте Animator Controller и добавьте его в компонент  Animation.

После этого откройте наш контроллер двойным щелчком левой кнопки мыши. У нас появится вкладка, где можно добавлять наши анимации. Перенесите их все, только вначале переносите 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.

Вот и всё готово. Скачать полностью проект можно нажав на кнопку ниже. 

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии