Створення циклів руху (ходьба, біг, стрибок) для ігор

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

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

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

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Створення циклів руху (ходьба, біг, стрибок) для ігор
Середня
~5 робочих днів
Часті питання

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

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

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

  • 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

Створення циклів руху (ходьба, біг, стрибок) для ігор

Locomotion — це не просто «персонаж ходить». Це набір анімаційних станів, які працюють разом через Blend Tree в Animator Controller, синхронізуються з root motion, обробляють foot contact через IK та переходять без різких артефактів при зміні швидкості. Погано зроблений locomotion set змушує персонажа ковзати, «плисти» або дергатися на переходах — і це помітно з першої секунди геймплею.

Чому Blend Tree краще за State Machine для locomotion

Стандартна помилка — будувати locomotion через окремі анімаційні стани в State Machine з перекрісними переходами. Це виглядає нормально в вікні Animator, але на практиці при переході idle → walk → run потрібно керувати трьома transition threshold'ами та часом crossfade, і будь-яка зміна параметра швидкості створює помітний blending артефакт.

1D Blend Tree по параметру Speed вирішує це елегантно: Unity інтерполює між idle, walk, run та sprint як по одній осі, нормалізуючи ваги автоматично. Поріг 0 — idle, 0.5 — walk, 1.0 — run, 2.0 — sprint. Threshold'и встановлюються через Compute Thresholds → Velocity Z, що автоматично розраховує значення на основі root motion velocity в кожному клипі.

2D Blend Tree (Simple Directional або Freeform Directional) додає другу вісь — Strafe. Це потрібно для шутерів та екшн-ігор, де персонаж рухається в 8 напрямках. Тут важливо правильно встановити центральну точку (0, 0) — вона повинна посилатися на idle клип з нульовим рухом, інакше blending при діагональному русі дає некоректну вагу.

Root motion — окрема тема. Якщо анімації зроблені з root motion (переміщення персонажа закодовано в русі root bone), потрібно дотримуватися: одного кроку циклу між walk та run (інакше foot sliding при blend), правильного bake axes в Unity (Apply Root Motion → Bake Into Pose для вертикальної та горизонтальної осі залежно від проекту). Для walk cycle довжина одного циклу в Unity розраховується через Loop Pose + Cycle Offset — і якщо клип не зациклений ідеально, буде видимий «підстрибування» в кінці циклу.

Що входить в locomotion set для типової гри

Мінімальний набір для третьолицевого екшн-персонажа:

  • Idle (2–3 варіанти з additive breathing layer)
  • Walk forward / backward
  • Run forward
  • Sprint
  • Strafe left / right (walk та run)
  • Jump start / in-air / land (важке та легке приземлення)
  • Turn in place (45°, 90°, 180° — потрібні для правильності Foot IK)

Для мобільних проектів набір часто скорочують до 6–8 клипів з агресивним blending. Для AAA проектів додають: crouch locomotion, prone, climb transitions, root motion для поворотів.

Стрибок — окремо. Це не один клип, а три або п'ять станів: anticipation → take-off → peak → descent → land (+ heavy land при високій швидкості). Переходи між ними керуються через параметри IsGrounded та VerticalVelocity, які розраховує CharacterController або Rigidbody. Якщо transition з in-air в land має фіксовану duration замість Exit Time = 0 + умовного trigger, приземлення буде запізнюватися або перериватися.

Foot IK та contact points

Без Foot IK персонаж буде проваліватися ступнями в нерівний terrain або паркувати над ним. Unity Animation Rigging package надає Two Bone IK Constraint для ніг — це переважний підхід в Unity 2022+. Старий підхід через OnAnimatorIK + animator.SetIKPosition працює, але менш гнучкий при переключенні між декількома ригами.

Правильна настройка Two Bone IK: Effector target — це transform, який Raycast підтягує до поверхні terrain. Hint target — позиція колена. Weight керується по кривій залежно від фази кроку (при відриві ноги від землі weight → 0, при контакті → 1). Без цієї кривої IK буде дергати ногу при підйомі.

Foot contact frame у walk cycle важливий: рівно в той кадр, коли ступня повинна торкатися землі, вона повинна бути в точці з нульовою вертикальною швидкістю. Це називається foot plant frame, і його потрібно встановити через Loop Pose curves або вручну в анімаційному редакторі.

Процес роботи

Спочатку — аналіз референсів та узгодження ключових параметрів: швидкість ходьби та бігу (одиниці в секунду), висота стрибка, стиль руху (важкий солдат vs. легкий ніндзя). Потім блокинг ключових поз у Maya або Blender з експортом тестового FBX для перевірки маппінгу в Unity.

Після затвердження блокингу — spline interpolation та тонка робота з вторинними рухами: swing рук, bob голови, rotation торса. Фінальний етап — інтеграція в Animator Controller, настройка Blend Tree параметрів, тест foot IK, перевірка loop points та transition timing.

Масштаб Строк
Мінімальний locomotion set (6–8 клипів) 3–7 днів
Повний set для екшн-гри (15–20 клипів) 2–4 тижні
З інтеграцією в Animator + настройкою IK +3–5 днів
Locomotion для нечеловекоподібного персонажа від 3 тижнів

Вартість визначається після уточнення кількості клипів, стилю персонажа та вимог до інтеграції.