Налаштування процедурної анімації в іграх

Наша компанія з розробки відеоігор веде незалежні проекти, спільно з клієнтом створює ігри та надає додаткові операційні послуги. Досвід нашої команди дозволяє нам охопити всі ігрові платформи та розробити приголомшливий продукт, що відповідає баченню клієнта та перевагам гравців.

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Налаштування процедурної анімації в іграх
Складна
від 3 робочих днів до 2 тижнів
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

Настройка процедурної анімації в іграх

Ключова анімація гарна для заздалегідь відомих рухів. Але персонаж, який піднімається по сходах невідомої висоти, дотягується до предмету в довільній точці простору або реагує на нерівний рельєф — це завдання для процедурної анімації. Змішування обох підходів у одному персонажі — стандарт для сучасного геймплею.

Foot IK як входна точка в процедурну анімацію

Foot IK — найпоширеніший кейс та гарна ілюстрація принципу. Ключова анімація walk cycle припускає плоску поверхню. На пандусі ступні персонажа "проваливаються" крізь геометрію або висять у повітрі. Foot IK виправляє це в реальному часі: raycast вниз від кожного голеностопу, позиція кості коригується до точки попадання, Two Bone IK пересчитує коліно.

У Unity Animation Rigging це реалізується через компонент Two Bone IK Constraint. Ланцюжок: Thigh → Shin → Foot. IK Target — пустий Transform, позиція якого управляється скриптом. Hint — ще один Transform, який визначає спрямування вигину коліна (Pole Vector). Без правильно встановленого Hint коліно сгинається у випадкову сторону при русі IK Target.

Логіка скрипту: Physics.Raycast з позиції стопи (плюс невеликий offset вгору) вниз на LayerMask = Ground. При попаданні — переміщуємо IK Target до hit.point, обертаємо за hit.normal для правильного кута постановки ноги. Weight обмеження — 0 у фазі swing (нога у повітрі), плавний lerp до 1 у фазі stance.

Проблема з Hip Offset: при постановці обох ніг на різну висоту (один схил) Hip-кість потрібно опустити пропорційно, інакше ланцюжок IK не дотянеться до цілі. Розраховується через різницю висот двох IK Target та застосовується як зміщення до позиції Hip через Body Position Rig Constraint або прямо через animator.bodyPosition.

Процедурний Look-At та прицілювання

Multi-Aim Constraint в Animation Rigging — голова та очі стежать за ціллю. Настройка: Source Object = ціль (ворог, інтерактивний об'єкт), Aim Axis = Forward (Z для Unity). Constrained Axes — лише Y та X, Z не трогати (інакше шия скрутиться). Weight контролюється динамічно: 0 у бою, 0.6–1.0 при дослідженні навколишнього світу.

Для прицілювання зброї: Two Bone IK на праву руку, IK Target слідує за CrosshairTarget у світовому просторі. Плечо та локіть пересчитуються автоматично. Bленд між ключевою анімацією прицілювання та процедурним IK — через Rig Layer Weight.

Обмеження: Animation Rigging працює в LateUpdate після Animator. Це означає, що процедурні обмеження застосовуються поверх ключевої анімації кожен кадр. При складній ієрархії обмежень (голова → шия → плечо → рука) порядок шарів у Rig критичний — порушення порядку дає ефект "запаздивання" на один кадр.

Spring-системи для вторинного руху

Волосся, плащ, антени — елементи, які не анімуються вручну в продакшен-проекті з нормальним бюджетом. Варіанти у Unity:

Magica Cloth 2 — GPU-accelerated cloth simulation, підтримує Wind Zone, коллайдери, distance constraints. Настройка через компонент на меші з Skinned Mesh Renderer, Bone Cloth або Mesh Cloth залежно від геометрії.

Dynamic Bone (legacy, але все ще використовується) — Spring-симуляція по ланцюжку костей. Параметри Stiffness, Elasticity, Damping налаштовуються для кожного ланцюжка. Коллайдери для запобігання перетину з тілом — Sphere, Capsule.

VRM Spring Bone з UniVRM — стандарт для VRM-аватарів, хорошо інтегрується з Humanoid Avatar.

Для AAA-якості на PC — Physical Component з Houdini Rigging з експортом у Unity, але це окремий конвеєр.

Процедурна анімація в Unreal: для порівняння

У Unreal Engine Control Rig з Full Body IK вирішує ті ж завдання, що Animation Rigging у Unity. PBIK (Position-Based IK) у UE5 дає повнотілесний IK з єдиного solver — Unity-аналога в стандартному пакеті немає, лише через сторонні рішення типу Final IK. Якщо проект на Unreal — конвеєр інший, але принципи ті ж: шари анімації, IK поверх ключевих клипів, spring для вторинного руху.

Типові помилки

IK без нормалізованого ланцюжка костей. Two Bone IK не працює коректно, якщо сумарна довжина двох костей менше відстані до IK Target — ступня не досягає позиції та застиває в extended position. Потрібно либо додати невелику помилку в raycast target (offset вгору від поверхні), либо обмежити зону роботи IK.

Процедурна анімація без Physics Layer Separation. Якщо Spring Bone кості включені в Animator State — вони інтерферують з ключевою анімацією. Spring-кості повинні бути поза Humanoid Avatar, лише у Generic-ієрархії під основним скелетом.

Update у FixedUpdate замість LateUpdate. Physics raycast для Foot IK обчислюється в FixedUpdate — коректно. Але застосування до костей повинно бути в LateUpdate після Animator.Update, інакше Animator перезаписує зміни.

Терміни

Завдання Орієнтовна тривалість
Foot IK для одного персонажа від 1 до 2 днів
Full Body IK з Look-At та Foot IK від 3 до 5 днів
Spring-система для вторинного руху від 1 до 3 днів
Процедурна анімація взаємодії з навколишнім світом від 3 до 7 днів

Вартість визначається після аналізу існуючого рига та вимог до платформи. Мобільні платформи з обмеженням на Physics — окремий розговір.