Аніматор і Анімація
У Unity animator
відіграє ключову роль у оживленні ігрових об'єктів за допомогою анімацій. Поєднуючи анімаційні кліпи з переходами та параметрами, аніматори створюють динамічні рухи та поведінку персонажів і об'єктів у ігровому світі. Ці анімації містять дані ключових кадрів і налаштування, які визначають, як об'єкти рухаються та взаємодіють, що є важливим для створення захопливого ігрового процесу.
Аніматор
Щоб Unity розуміла, що цей об'єкт може мати анімації, необхідно додати компонент аніматора.
Також потрібно створити контролер і додати його до аніматора.
Далі, якщо вибрати об'єкт у ієрархії та відкрити панель аніматора, ви побачите щось подібне до цього.
У панелі Animator Unity аніматори керують потоком анімацій у грі.
Параметри виконують роль змінних, які впливають на переходи між станами анімації. Entry State визначає початкову анімацію при запуску гри, а Any State дозволяє здійснювати переходи з будь-якого стану. Параметри, зокрема булеві значення, числа з плаваючою комою та цілі числа, забезпечують динамічні зміни анімацій залежно від умов гри.
Анімації
Спочатку, коли ви натискаєте на свій об'єкт і відкриваєте панель анімацій, вона виглядає ось так.
Оскільки анімації відсутні, система запропонує створити анімаційний кліп для об'єкта. Після натискання кнопки створення потрібно буде вибрати назву та місце збереження анімації. Після створення анімації панелі Animator та Animation зміняться.
У панелі Animation в Unity розробники можуть створювати, редагувати та керувати анімаціями для ігрових об'єктів. Основні компоненти включають шкалу часу анімації, яка відображає ключові кадри та доріжки анімації, що дозволяє точно редагувати анімації у часі. Якщо потрібно змінити параметри анімації, її можна вибрати у папці з ресурсами та змінити.
- Час циклу: Анімація безперервно перезапускається з кінця на початок;
- Поза циклу: Плавний перехід фінального кадру до початкового для безшовного циклу;
- Зсув: Вказує затримку часу для відтворення анімації, корисно для синхронізації та варіацій.
Запис у панелі Animation
У панелі Animation Unity кнопка Record є ключовим інструментом для аніматорів. При активації вона дозволяє записувати ключові кадри анімації безпосередньо в редакторі Unity. Маніпулюючи властивостями об'єкта (такими як позиція, обертання або масштаб) у вікні Scene або Inspector під час запису, користувачі можуть автоматично створювати ключові кадри.
Додавання іншого кліпу
Можна додати ще один кліп до об'єкта, натиснувши Create New Clip:
Переходи між анімаціями
Після створення різних кліпів можна налаштувати переходи між ними в аніматорі. Для створення переходу спочатку вибираємо ціль і натискаємо Make Transition, потім вибираємо пункт призначення.
Таким чином, маємо перехід між цими двома анімаціями.
Якщо натиснути на перехід, у інспекторі з’явиться такий вигляд:
Has Exit Time
Якщо увімкнено, це гарантує, що поточна анімація завершиться перед переходом до наступного стану, відповідно до часу виходу, вказаного у переході. Вимкнення Has Exit Time дозволяє здійснювати більш динамічні та миттєві переходи між станами, часто на основі умов або тригерів. Ми розглянемо більше прикладів використання Has Exit Time на практиці.
Створення параметрів для умови переходу
Для налаштування умови у переході необхідно створити параметри.
Тепер створіть умову, натиснувши + кнопку.
Для переходу зі стану A до стану B необхідно переконатися, що can_Translate = true
.
Приклад: Дії людини
Уявімо, що ми керуємо персонажем у грі. У нас є анімації для гри за комп'ютером, сну та прийому їжі.
Умови для переходів
Щоб контролювати, коли персонаж переходить між анімаціями, ми використовуємо умови. Наприклад, у нас є умова "hungry". Коли ця умова істинна, персонаж переходить від гри за комп'ютером до прийому їжі.
Реалізація переходу
У Animator Unity створюється перехід від стану анімації "playing with computer" до стану анімації "eating". Умовою для цього переходу буде булевий параметр "hungry". Тобто, коли "hungry" стає true, Unity автоматично переводить персонажа з гри до прийому їжі.
Можна додати більше умов і переходів. Наприклад, можна використати умову "tired", яка ініціює перехід від гри до сну. Також можна змішувати анімації для плавніших переходів.
Отже, animator
у Unity працює так само, як і ми: кожен блок — це дія, яку можна виконати у повсякденному житті, а стрілки містять умову для переходу до цієї анімації.
Дякуємо за ваш відгук!