Створення 2D-анімації персонажів у Spine для ігор

Зауважимо: коли персонаж у грі виглядає «гумовим» — кінцівки вигинаються неприродно, ступні ковзають по підлозі, а при зміні скіна ламається mesh — це класичні наслідки поганого налаштування Spine. Ми стикаємося з такими проблемами в кожному другому проєкті зі створення Spine 2D анімації персонажів,

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

Інші послуги студії

VR/AR/MR застосунки на замовлення

Вражайте клієнтів і навчайте команду у віртуальній реальності

Розробка ігор на Unity

Від ідеї до релізу — ігри, які запам'ятовуються

3D-моделювання та анімація

Оживимо ваш продукт в об'ємній графіці та анімації

VR-тренажери промислового обладнання

Тренуємо операторів на техніці без ризику і простою

AR-інструкції для виробництва

Покрокові підказки прямо на обладнанні — без паперу

Safety-тренажери

Відпрацювання НС і техніки безпеки без виходу на об'єкт

VR/AR-тренінги

Навчаємо персонал сервісу, адаптації та soft skills у VR

Навчальні вікторини

Перевірка знань у форматі гри — легко і без стресу

Корпоративні відеоінструкції

Зрозумілі ролики для навчання співробітників і клієнтів

Гейміфікація бізнес-процесів

Мотивуємо команду через ігрові механіки в KPI та HR

Застосунки для інфокіосків

Інтерактивні екрани для магазинів, стендів і офісів

VR/AR-інсталяції

Wow-ефект для брендів на виставках, івентах і в шоу-румах

Віртуальні виставки та музеї

Ваша експозиція доступна з будь-якої точки світу — 24/7

Event-квести та брендовані ігри

Незабутні ігри для конференцій та клієнтських івентів

Часті запитання

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

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    95

Зауважимо: коли персонаж у грі виглядає «гумовим» — кінцівки вигинаються неприродно, ступні ковзають по підлозі, а при зміні скіна ламається mesh — це класичні наслідки поганого налаштування Spine. Ми стикаємося з такими проблемами в кожному другому проєкті зі створення Spine 2D анімації персонажів, який приходить на доопрацювання. Правильний скелет і меші вирішують усе.

Spine — стандарт 2D-скелетної анімації в геймдеві. Він вирішує дві проблеми: якість анімації та економія ресурсів. Один набір текстурних асетів, анімований через скелет і меші, дає гладку анімацію при розмірі даних у кілька сотень кілобайт проти мегабайт спрайтових листів. Економія на пам'яті та трафіку відчутна, особливо для мобільних проєктів. Але Spine — інструмент з порогом входження. Погано налаштований скелет, неправильні меші або криві ваги дають «гумових» персонажів, Z-fighting між шарами частин тіла та краш у runtime при деяких комбінаціях skinів. Наш досвід більше 10 років у геймдеві дозволив накопичити рецепти, які ми застосовуємо в кожному проєкті.

Проектування скелета

Скелет — основа всього. Помилки на цьому етапі неможливо виправити без повного перезбирання: неправильна ієрархія кісток, невірне розташування pivot-точок, відсутність кістки там, де потрібен додатковий ступінь свободи.

Ієрархія кісток. Класична ієрархія для humanoid: root → pelvis → spine → chest → (neck → head), (shoulder.L → upper_arm.L → forearm.L → hand.L), нога симетрично. Важливий момент: root bone має бути на рівні ground, не в центрі персонажа — інакше footplant через IK буде працювати некоректно.

IK-ланцюжки. Для ніг (footplant) і рук (interaction with objects) обов'язкові IK-ланцюжки. У Spine це IK Constraint: target кістка + chain з 1 або 2 кісток + параметр bend direction. Без IK руки та ноги при русі тіла «пливуть» — ступні не залишаються на землі, руки не тримають предмети переконливо.

Кількість кісток. Більше — не значить краще. Для мобільних ігор оптимум: 20–40 кісток для гуманоїда. 60+ кісток починають давати помітний CPU overhead у Spine Runtime, особливо при великій кількості персонажів на екрані.

Чому важлива правильна прив'язка ваг?

Прямокутні parts (без mesh-деформації) — для простих персонажів casual-ігор. Mesh-деформація потрібна там, де важлива органічність: одяг, волосся, м'які частини тіла. Без mesh одяг при русі виглядає дерев'яно — частини рухаються як жорсткі об'єкти.

Прив'язка ваг (weights) — найбільш кропітлива частина. Кожна вершина меша отримує вплив від однієї або кількох кісток з сумарною вагою = 1.0. Неправильні ваги: кінцівка при русі тягне за собою шматок тіла через занадто високу вагу на сусідню кістку. Правильні ваги — плавний перехід впливу між кістками, без «перетискань» і розривів. Інструмент Spine Weights — фарбування ваг пензлем, аналогічно Weight Painting у Blender. Для складних персонажів це 2–4 години роботи на одну фігуру.

Як створювати анімації, які гравець не помітить?

Idle. Найважливіша анімація — гравець дивиться на неї більшу частину часу. Idle має бути живою: тихе дихання через slight chest movement, subtle weight shift. Довжина: 60–120 кадрів при 24fps, loop має бути непомітним (pose на початку і в кінці — однакова з matching velocity tangents).

Walk / Run cycle. Класична задача. У Spine оптимально робити як separate animation і blend через код, а не через mix. Walk cycle: 16–24 кадри при 24fps для cartoon-стилю, 24–32 кадри для реалістичного. Footplant — ступня не ковзає по землі — досягається через IK constraint і careful timing.

Hit / Death / Attack. Короткі, читабельні, з чітким anticipation перед ударом. Антиципація в 3–5 кадрів перед атакою робить анімацію «телеграфованою» — гравець бачить намір до удару. Це важливо і для чуйності керування, і для fair gameplay.

Тип анімації Довжина (24fps) Особливості
Idle 60–120 кадрів loop з matching velocity, непомітний стик
Walk 16–24 кадри (cartoon), 24–32 (realistic) footplant через IK
Run 12–18 кадрів більш виражене зміщення центру мас
Attack 10–15 кадрів anticipation 3–5 кадрів перед ударом
Hit 8–12 кадрів різке зміщення, повернення
Death 20–30 кадрів падіння з затуханням

Spine Runtime: інтеграція в Unity

Spine Unity Runtime — офіційний плагін, оновлюється для кожної версії Spine. Як зазначається в Wikipedia, слідкуйте за сумісністю: версія Spine Editor і версія Runtime мають збігатися (major.minor). Незбіг — бінарні дані .skel несумісні, персонаж не завантажується.

SkeletonAnimation vs SkeletonMecanim — два режими. SkeletonAnimation — пряме керування через Spine API (SetAnimation, AddAnimation). SkeletonMecanim — через Unity Animator Controller зі звичайними State Machine і Blend Tree. Для складних персонажів з безліччю станів SkeletonMecanim зручніший, тому що перевикористовує всі інструменти Unity Animator.

Draw calls. Кілька Spine-персонажів на екрані — кілька draw calls, якщо в них різні атласи. Об'єднання атласів через Spine Atlas Packer (або TexturePacker Spine export) скорочує draw calls: всі персонажі одного типу малюються за один pass. Це знижує навантаження на GPU і збільшує FPS.

Процес роботи над анімацією

  1. Reference і style guide — наскільки cartoon vs realistic, діапазон рухів.
  2. Part splitting — нарізка арту на частини по кістках.
  3. Скелет — ієрархія, pivot-точки, IK-ланцюжки.
  4. Mesh binding — створення мешів для деформованих частин, прив'язка ваг.
  5. Базові анімації — idle, walk, run.
  6. Геймплейні анімації — attack, hit, death, спеціальні.
  7. Експорт та інтеграція — збірка атласу, тест в рушії.
Масштаб Термін
Простий персонаж (casual, без mesh, 5–8 анімацій) 1–2 тижні
Стандартний персонаж (mesh, IK, 10–15 анімацій) 3–5 тижнів
Складний головний герой (mesh deform, skin variants, 20+ анімацій) 6–10 тижнів

Що входить в нашу роботу

Ми надаємо повний пакет: вихідний .spine файл з оптимізованим скелетом, налаштованими IK і вагами; всі анімації в окремих файлах; інтегрований у ваш рушій через Spine Unity Runtime; документація по слот-зв'язках і скінах; навчання команди, якщо потрібно. Гарантуємо, що персонаж не «зламається» при зміні скіна або міксі анімацій — перевірено на 50+ проєктах.

Складний персонаж: прикладДля одного з проєктів ми робили персонажа з 25 анімаціями, 5 варіантами скіна та меш-деформацією для кожного. Термін — 8 тижнів. Все працює в продакшені без жодного багу за рік.

Більше 10 років досвіду, 50+ завершених проєктів з 2D-анімації — зв'яжіться з нами, щоб обговорити вашого персонажа. Замовте консультацію — ми оцінимо проєкт і запропонуємо оптимальний план. Вартість розраховується індивідуально після аналізу скелета та кількості анімацій.