Розробка скелетного ригу персонажів ігор
Ми знаємо, що риг для гри — це не те саме, що для кіно. Тут кістки працюють у реальному часі, вкладаються в бюджет draw calls і не ламаються при імпорті через FBX. Художники з кіно-пайплайну часто дізнаються це, коли переробляти пізно. Скажімо прямо: типовий кіношний скелет на 300+ кісток, nCloth і деформери — гарантований stutter на мобільній платформі. Наш досвід (понад 50 проектів за 9 років) показує, що збалансований скелет економить до 30% часу на анімації. Згідно з Unity Manual, Humanoid Avatar підтримує обов'язковий набір з 15 кісток (Body, Head, руки, ноги) та опціональні пальці.
Як відрізнити ігровий риг від кіношного
У кіно можна 300+ кісток, деформери та nCloth. У реальному часі це нереалістично. Unity Humanoid Avatar підтримує обов'язковий набір з 15 кісток (Body, Head, руки, ноги) та опціональні пальці. Generic риг — без обмежень, але без Humanoid-функцій.
Кількість кісток на платформу:
- Мобільні (GPU skinning): рекомендуємо до 75 кісток, hard limit залежить від GPU.
- PC/Console (Compute skinning): 100–150 реалістично без втрат.
- VR: через Frame Budget не більше 60–80.
Кожна зайва кістка — це кістка, яку аніматор змушений враховувати або виключати через Avatar Mask. Мінімальна достатність — принцип, який економить гроші на всіх етапах.
Скільки кісток потрібно вашому персонажу?
Оптимальне число залежить від завдань. Для NPC — 15–25 кісток достатньо. Для головного героя з опрацьованими пальцями та мімікою — до 100. Ми тестуємо на цільовій платформі, щоб уникнути просадок FPS. Наприклад, на минулому проекті скоротили кількість кісток з 120 до 70 — stutter зник, а якість деформації не постраждала. Порівняйте: Humanoid Avatar в Unity обробляє до 100 кісток швидше, ніж Generic з тією ж кількістю, завдяки оптимізованому блендингу.
Ієрархія та угоди про іменування
Коренева кістка — Root (або Hips у Mixamo). Все інше — дочірні. Root стоїть на підлозі під персонажем, не в центрі мас. Це критично для Root Motion: Unity зчитує переміщення з Root, і якщо він на рівні таза, персонаж «летить».
Стандарт іменування без проблем:
-
Hips,Spine,Spine1,Spine2,Chest,Neck,Head -
LeftShoulder,LeftUpperArm,LeftLowerArm,LeftHand -
LeftUpperLeg,LeftLowerLeg,LeftFoot,LeftToe
Це Mixamo-сумісні імена, які Unity мапить автоматично. Будь-яке відхилення (L_Thigh, Bip001) вимагає ручного маппінгу при кожному реімпорті.
Чому важлива правильна ієрархія?
Неправильна ієрархія — причина 90% проблем з IK і ретаргетингом. Наприклад, якщо LeftUpperArm не є дочірнім LeftShoulder, Unity не зможе коректно розрахувати поворот плеча. Це призводить до «вивихів» в анімації.
Орієнтація осей і Bind Pose
Орієнтація осей у Blender (Y вздовж кістки) і Maya (X вздовж) — різна. Це враховуємо при налаштуванні IK-розв'язувачів. Перевірка: Edit Mode, Display → Axes. Всі осі мають дивитися від батька до дитини. Якщо хаос — Recalculate Roll через Ctrl+N з опцією Global Positive X.
T-Pose для Bind Pose — стандарт для Humanoid Avatar. A-Pose технічно допустима, але при авто-маппінгу Unity може помилитися. Безпечніше: експорт у T-Pose, потім додатковий кліп з A-Pose для скіннінгу.
Як уникнути проблем з деформацією?
Використовуйте Twist-кістки. Без них обертання передпліччя при пронації/супінації створює «скручену трубку». Unity Humanoid підтримує Upper Arm Twist і Lower Arm Twist як опціональні. Додаються між Shoulder → Forearm і Forearm → Hand.
Вага для Twist-кістки: 0.5 на середній ділянці, 0 на кінцях. У Maya — Advanced Twist Controls в IK Handle. У Blender — Bone Constraint → Copy Rotation з Factor 0.5.
Порівняння Humanoid і Generic ригів
| Параметр | Humanoid Avatar | Generic |
|---|---|---|
| Підтримка IK | Автоматична | Ручне налаштування |
| Ретаргетинг анімацій | Вбудований | Вимагає конвертації |
| Макс. кількість кісток | Обмежена (практично до 200) | Не обмежено |
| Продуктивність | Оптимізовано під Unity | Залежить від реалізації |
Процес розробки ригу
Аудит мешу та ТЗ → Збірка ієрархії → Орієнтація осей → Bind Pose перевірка → IK setup → Тест-анімація → Експорт → Перевірка в Unity Avatar Configuration.
| Тип персонажа | Орієнтовний термін |
|---|---|
| Humanoid без пальців (NPC, simple character) | від 3 до 6 годин |
| Повний humanoid з пальцями + Twist кістки | від 1 до 1.5 днів |
| Квадрупед або нестандартна істота | від 2 до 4 днів |
| Риг з динамічними елементами (хвіст, плащ) | від 3 до 5 днів |
Що входить в роботу
- Готовий FBX з коректним скелетом (ієрархія, осі, іменування).
- Налаштування IK і Twist-кісток.
- Перевірка в Unity: Avatar Configuration без попереджень.
- Документація по ригу (список кісток, ваги, обмеження).
- Підтримка після здачі: виправлення багів, адаптація під двигун.
Фінальний результат: персонаж, який працює в реальному часі без сюрпризів. Замовте розробку ригу — зв'яжіться з нами для консультації. Наш досвід і сертифіковані спеціалісти гарантують якість. Отримайте консультацію з оптимізації скелета для вашого проекту.






