Ми часто стикаємося з ситуацією, коли бойові анімації — найбільш трудомістка частина пайплайну. Не тому що складніше технічно, а тому що вимоги до них розмиті доти, доки не запущено ігровий прототип. «Зробіть хороший удар мечем» перетворюється на п'ять ітерацій, коли геймдизайнер нарешті бачить, як анімація взаємодіє з хітбоксом, hitlag, cancel window та системою комбо. Правильна структура з самого початку економить до 40% часу на переробках та скорочує кількість ітерацій вдвічі.
Фази бойової анімації
Бойовий удар у грі складається з трьох фаз: anticipation (замах), active (активна фаза з хітбоксом), recovery (вихід з анімації). Аніматор повинен знати довжину кожної фази в кадрах — це не художнє рішення, це геймдизайнерська специфікація. Без неї анімація буде красивою, але нефункціональною: хітбокс увімкнеться раніше, ніж зброя візуально досягне цілі, або гравець застрягне в recovery і не зможе скасувати атаку.
В Unity ці фази керуються через Animation Events. На потрібних кадрах проставляються події: OnAttackStart, OnAttackEnd, OnHitboxEnable, OnHitboxDisable. Скрипт Combat Controller підписується на ці події та керує колайдерами зброї. Це стандартна схема; без неї хіт-детекція або висить на таймерах в C#, що ламається при зміні анімації, або на фізичних тригерах, що дає хибні спрацьовування. Детальніше — Animation Events.
Cancel window — момент, коли гравець може перервати поточну атаку та почати наступну. В Animator Controller це реалізується через Transition з умовою canCancel == true, яка встановлюється через Animation Event у потрібному кадрі анімації. Якщо cancel window не збігається з відчуттям від геймплею — повертаються до аніматора, не до програміста.
Motion Capture проти ручної анімації
Для унікальних анімацій (смерті, добивання, кат-сцени) питання стеку залежить від бюджету та стилю. Motion Capture дає органіку, яку вкрай складно відтворити вручну — інерція, дрібні зміщення ваги, мікрорухи кистей. Мінус — raw mocap дані вимагають ретаргетингу та очищення: джитер, артефакти на суглобах, невідповідність пропорціям ігрового персонажа.
Hand-keyed анімація в Maya або Blender повільніша, але дає повний контроль над таймінг-спейсингом. Для стилізованих ігор з перебільшеними рухами — часто краща. Hand-keyed займає в 3-5 разів більше часу, ніж обробка mocap, але виключає артефакти ретаргетингу. Workflow: blockout по кривих Bezier, потім refinement з breakdown-ключами, фінальна правка Euler Rotation для усунення gimbal lock.
Gimbal lock в Maya — часта проблема при анімації обертань більше 180°. Лікується: перемикання Rotation Order на ZXY або XZY залежно від напрямку основного обертання кістки. Для зап'ясть при пронації — обов'язково, інакше криві Euler йдуть у flip. Сертифіковані спеціалісти нашої команди знають ці нюанси та гарантують відсутність артефактів.
Як реалізувати комбо-систему в Animator Controller?
Комбо з трьох ударів реалізується покроково:
- Створіть Sub-State Machine з трьома станами: Attack1, Attack2, Attack3.
- Налаштуйте параметр NextAttack типу Trigger.
- У кожному стані на кадрі cancel window через Animation Event викличте
animator.SetTrigger("NextAttack"). - Налаштуйте переходи: Attack1 → Attack2, Attack2 → Attack3, Attack3 → Idle. Умова переходу —
NextAttack. - Після третього удару — повернення в Idle або Run через Exit.
Альтернатива — Animation Layer з Override та власною State Machine для атак поверх базового локомоційного шару. Це зручно, якщо атаки повинні працювати на ходу, але вимагає правильного Avatar Mask: лише верхня частина тіла плюс зброя, нижні кінцівки продовжують локомоцію.
Blend дерево для атак з ваговою інтерполяцією використовується рідше — лише для анімацій, що залежать від напрямку (атака вліво/вправо), де Blend Tree по 2D дозволяє інтерполювати між чотирма напрямками удару.
Які типові помилки допускають при створенні бойових анімацій?
- Анімація без Export Root Motion. Якщо удар містить лунж вперед, Root Motion повинен бути явно налаштований, інакше персонаж телепортується на початок при переході назад в Idle.
- Відсутність Additive Layer для реакції на попадання. Hit Reaction накладається поверх будь-якого стану через Additive Layer — не перериває атаку, але дає візуальний відгук. Без цього шару доведеться робити окремі версії кожної анімації з реакцією.
- Ігнорування Secondary Motion. Плащ, волосся, вільні елементи одягу — без вторинного руху анімація виглядає «дерев'яною» незалежно від якості основного кейфреймінгу. В Unity це Physics Bone через Animation Rigging або Spring Bone з VRM-пайплайну.
Порівняння підходів до створення анімацій: Mocap vs Hand-keyed
| Характеристика | Motion Capture | Hand-keyed |
|---|---|---|
| Час створення (на 10 сек анімації) | 2-4 дні після обробки | 10-20 днів |
| Контроль над таймінгом | Обмежений (потрібне очищення) | Повний |
| Артефакти (gimbal lock, джитер) | Часто присутні | Мінімально |
| Ідеально для | Реалістичних ігор | Стилізованих ігор |
Що входить в роботу по створенню бойових анімацій
- Розробка структури анімацій (фази, події)
- Створення вихідних анімацій в Maya/Blender (mocap або hand-keyed)
- Інтеграція в Unity/Unreal Engine з налаштуванням Animation Events
- Налаштування Animator Controller (переходи, cancel windows, комбо)
- Додавання Secondary Motion (Physics Bone, Spring Bone)
- Тестування в ігровому прототипі та правка за фідбеком
- Підсумковий пакет: FBX, конфіги, документація по подіях
- Підтримка після передачі (2 тижні)
Налаштування Export Root Motion
Для коректного Export Root Motion в Unity необхідно в моделі встановити Root Transform Position (Y) та Root Transform Rotation на None, а Root Transform Position (XZ) на Bake Into Pose. В іншому випадку персонаж буде зміщуватися при кожному ударі. Детальна документація по Root Motion.
Процес та терміни
| Тип роботи | Орієнтовний термін |
|---|---|
| Один стандартний удар (3 фази, Animation Events) | від 4 до 8 годин |
| Комбо з 3 атак з інтеграцією в Animator | від 1 до 2 днів |
| Повний бойовий пакет (удари, блок, ухил, смерть) | від 5 до 10 днів |
| Унікальна кат-сцена (15–30 секунд) | від 3 до 7 днів |
Вартість формується після обговорення кількості анімацій, складності комбо-системи та вимог до Secondary Motion. Якщо вам потрібен такий пакет, отримайте консультацію у наших спеціалістів — ми гарантуємо професійний підхід та дотримання термінів. Зв'яжіться з нами для обговорення вашого проєкту.






