Создание боевых и уникальных анимаций персонажей
Боевые анимации — самая трудоёмкая часть пайплайна. Не потому что сложнее технически, а потому что требования к ним размытые до тех пор, пока не запущен игровой прототип. «Сделайте хороший удар мечом» превращается в пять итераций, когда геймдизайнер наконец видит, как анимация взаимодействует с хитбоксом, hitlag, cancel window и системой комбо.
Структура боевой анимации как игрового ассета
Боевой удар в игре состоит из трёх фаз: anticipation (замах), active (активная фаза с хитбоксом), recovery (выход из анимации). Аниматор должен знать длину каждой фазы в кадрах — это не художественное решение, это геймдизайнерская спецификация. Без неё анимация будет красивой, но нефункциональной: хитбокс включится раньше, чем оружие визуально достигнет цели, или игрок застрянет в recovery и не сможет отменить атаку.
В Unity эти фазы управляются через Animation Events. На нужных кадрах проставляются события: OnAttackStart, OnAttackEnd, OnHitboxEnable, OnHitboxDisable. Скрипт Combat Controller подписывается на эти события и управляет коллайдерами оружия. Это стандартная схема; без неё хитдетекция либо висит на таймерах в C#, что ломается при изменении анимации, либо на физических триггерах, что даёт ложные срабатывания.
Cancel window — момент, когда игрок может прервать текущую атаку и начать следующую. В Animator Controller это реализуется через Transition с условием canCancel == true, которое устанавливается через Animation Event в нужном кадре анимации. Если cancel window не совпадает с ощущением от геймплея — возвращаются к аниматору, не к программисту.
Уникальные анимации: Motion Capture vs Hand-keyed
Для уникальных анимаций (смерти, добивания, кат-сцены) вопрос стека зависит от бюджета и стиля. Motion Capture даёт органику, которую крайне сложно воспроизвести вручную — инерция, мелкие смещения веса, микродвижения кистей. Минус — raw mocap данные требуют ретаргетинга и чистки: джитер, артефакты на суставах, несоответствие пропорциям игрового персонажа.
Hand-keyed анимация в Maya или Blender медленнее, но даёт полный контроль над тайминг-спейсингом. Для стилизованных игр с преувеличенными движениями — часто предпочтительнее. Workflow: blockout по кривым Bezier, затем refinement с breakdown-ключами, финальная правка Euler Rotation для устранения gimbal lock.
Gimbal lock в Maya — частая проблема при анимации вращений более 180°. Лечится: переключить Rotation Order на ZXY или XZY в зависимости от направления основного вращения кости. Для запястий при пронации — обязательно, иначе кривые Euler уходят в flip.
Комбо-система и Animator Controller
Комбо из трёх ударов в Animator Controller реализуется по-разному. Самый чистый вариант — Sub-State Machine с переходами по очереди: Attack1 → Attack2 → Attack3. Переход разрешён только в cancel window через Animation Event + Trigger параметр NextAttack. После третьего удара — возврат в Idle или Run через Exit.
Альтернатива — Animation Layer с Override и собственным State Machine для атак поверх базового локомоционного слоя. Это удобно, если атаки должны работать на ходу, но требует правильного Avatar Mask: только верхняя часть тела плюс оружие, нижние конечности продолжают локомоцию.
Blend дерево для атак с весовой интерполяцией используется реже — только для анимаций, зависящих от направления (атака влево/вправо), где Blend Tree по 2D позволяет интерполировать между четырьмя направлениями удара.
Типичные ошибки при создании боевых анимаций
Анимация без Export Root Transform. Если удар содержит лунж вперёд, Root Motion должен быть явно настроен, иначе персонаж телепортируется в начало при переходе обратно в Idle.
Отсутствие Additive Layer для реакции на попадание. Hit Reaction накладывается поверх любого состояния через Additive Layer — не прерывает атаку, но даёт визуальный отклик. Без этого слоя придётся делать отдельные версии каждой анимации с реакцией.
Игнорирование Secondary Motion. Плащ, волосы, свободные элементы одежды — без вторичного движения анимация выглядит «деревянной» вне зависимости от качества основного кейфрейминга. В Unity это Physics Bone через Animation Rigging или Spring Bone из VRM-пайплайна.
Процесс и сроки
| Тип работы | Ориентировочный срок |
|---|---|
| Один стандартный удар (3 фазы, Animation Events) | от 4 до 8 часов |
| Комбо из 3 атак с интеграцией в Animator | от 1 до 2 дней |
| Полный боевой пакет (удары, блок, уклон, смерть) | от 5 до 10 дней |
| Уникальная кат-сцена (15–30 секунд) | от 3 до 7 дней |
Работаем в Maya (primary) или Blender, экспорт FBX с правильными настройками Take. Интеграция Animation Events и настройка переходов в Animator Controller — часть работы при соответствующем ТЗ.
Стоимость формируется после обсуждения количества анимаций, сложности комбо-системы и требований к Secondary Motion.





