Создание циклов движения (ходьба, бег, прыжок) для игр

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

От иммерсивных приложений до игровых миров и 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 для поворотов.

Отдельно — jump. Это не один клип, это три или пять состояний: 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 недель

Стоимость определяется после уточнения количества клипов, стиля персонажа и требований к интеграции.