Зауважимо: коли персонаж у грі виглядає «гумовим» — кінцівки вигинаються неприродно, ступні ковзають по підлозі, а при зміні скіна ламається 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.
Процес роботи над анімацією
- Reference і style guide — наскільки cartoon vs realistic, діапазон рухів.
- Part splitting — нарізка арту на частини по кістках.
- Скелет — ієрархія, pivot-точки, IK-ланцюжки.
- Mesh binding — створення мешів для деформованих частин, прив'язка ваг.
- Базові анімації — idle, walk, run.
- Геймплейні анімації — attack, hit, death, спеціальні.
- Експорт та інтеграція — збірка атласу, тест в рушії.
| Масштаб | Термін |
|---|---|
| Простий персонаж (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-анімації — зв'яжіться з нами, щоб обговорити вашого персонажа. Замовте консультацію — ми оцінимо проєкт і запропонуємо оптимальний план. Вартість розраховується індивідуально після аналізу скелета та кількості анімацій.






