Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


Заглянемо в Ассет стор (Window -> Asset Store), знаходимо там Soldier Character Pack (наша модель) і Mobility Free (набір рухів). Ці Ассет поширюються безкоштовно, завантажуємо і імпортуємо в проект. Далі, шукаємо файли FBX там пара солдатів і папка з анімаціями. На всіх цих файлах. на вкладці Rig встановити Animation Type -> Humanoid. так як ми будемо працювати з людиноподібної моделлю.

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


Відредагуємо анімацію, йдемо в папку і вибираємо руху: очікування, ходьба, біг. По іменах: MOB1_M1_Jog_F, MOB1_M1_Run_F, MOB1_M1_Stand_Relaxed_Idle, MOB1_M1_Walk_F, MOB1_M1_Crouch_Idle, MOB1_M1_CrouchWalk_F. Їх треба зробити цикл:

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


З підготовкою завершили. Займемося персонажем.

Перетягуємо одного з солдатів на сцену, додамо компоненти до нього: Capsule Collider щоб герой не проходив крізь об'єкти, Rigidbody для фізики (масу поставити на 100), і ще додамо С # скрипт Control:

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти

Тут ми будемо перемикати анімацію і обертати персонажа по осі Y. Лівий шифт - біг, Пропуск - стрибок. WASD - рух.

Тепер в одній з папок проекту створюємо контролер анімації ЛФМ -> Create -> Animator Controller і кидаємо його на персонажа. Переходимо на вкладку Animator. додамо параметри типу float для перемикання анімації вперед / назад (Vertical), біг (Run) і стрибок (Jump).

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


Правий клік у вікні аніматора і в випадаючому меню вибираємо Create State -> From New Blend Tree і відразу перейменуємо в Locomotion (тут будуть основні рухи). Створюємо ще один Blend Tree і назвемо його Jump (варіанти стрибків). Потрібно зробити перемикання анімацій з Locomotion в Jump і назад, правий клік по Locomotion -> Make Transition - вказуємо Jump, потім робимо протилежне. Виділяємо перший напрямок і встановлюємо умова переходу, як показано на скріншоті:

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


На зворотному переході, нічого міняти не потрібно, там повинно бути включено Has Exit Time.

Подвійний клік по Locomotion і робимо ось так:

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


Звичайна логічний ланцюжок, де йде перемикання між анімаціями в залежності від значення змінних. Натиснувши на хрестик, як показано на скріншоті, можна додати Add Motion Field куди впадає файл анімації, або New Blend Tree. Тут як видно йде перемикання між двома Blend Tree, які містять анімацію ходьби / очікування і біг / очікування. При натисканні клавіші шифт Run = 1 і відбувається перемикання на відповідний Blend Tree, в іншому випадки працює Walk. А Vertical може мати три значення: -1,0,1 тобто - назад, очікування, вперед.

Знайомство з mecanim, настройка анімації - nullcode studio, ігри, unity, скрипти


Принцип дії той-же.

Схожі статті