Ви отримали FBX персонажа від аутсорсера, навісили Humanoid риг у Unity, запустили анімацію ходьби — і при замаху руки плече провалюється всередину грудної клітки. Це знайома ситуація. Автоматичні ваги (Automatic Weights у Blender або Smooth Skin Binding у Maya) дають лише 70% коректної деформації. Решта 30% — це ручна робота з кожною вершиною, інакше при повороті зап'ястя на 180° або згинанні пальців меш розсипається. Навіть після автоматичного скіннінгу мешу потрібне ручне доведення ваг для складних зон.
Наш досвід показує: навіть на простому humanoid-персонажі без одягу правильне розставлення ваг займає від 3 до 6 годин. А якщо додати пальці, одяг або нестандартну анатомію — строки зростають до 4 днів. Ми накопичили більше 50 проєктів, де виправляли такі деформації, і в 95% випадків перша ітерація проходить без артефактів. Ручне доведення ваг у 3 рази ефективніше за автоматичне для зон пахв та зап'ясть. Крім того, воно у 2 рази швидше за повторний автоматичний розрахунок.
Де автоматика дає збій?
Пахва. Вершини плеча та тулуба геометрично близькі до обох кісток. Автоваги розмазуються на 3–4 кістки, і при підйомі руки вище 90° тканина під пахвою деформується нечитабельно. Типова деформація пахви виправляється через чисту вагу плечової кістки в зоні дельти та нульові ваги хребта на зовнішній частині плеча.
Зап'ястя при пронації/супінації. Якщо в ризі немає окремої Twist-кістки передпліччя, обертання кисті передається безпосередньо на Forearm — mesh «скручується». Скручування зап'ястя усувається додаванням проміжної Forearm_Twist кістки з вагою 0.5 на середній частині передпліччя, розподіливши деформацію по довжині.
Колінний суглоб. Автоваги дають занадто м'який перехід між стегном та гомілкою — коліно «перетискається». Деформація коліна виправляється вручну: обмеження зони впливу кожної кістки до ~40% довжини сегмента, а не 60%, які видає Automatic Weights.
Пальці. На детальному меші (>500 вершин на руку) автоваги дають cross-contamination — вага одного пальця зачіпає сусідній. При анімації захвату пальці злипаються. Злипання пальців — часта проблема, яка вирішується тільки ручним виправленням з Vertex Group Isolation.
Як ми чинимо ваги в Blender?
Наш workflow:
- Після Automatic Weights у Pose Mode згинаємо кожен суглоб на 90° і записуємо проблемні зони.
- У Weight Paint Mode використовуємо три інструменти: Blur для згладжування, Gradient для лінійного розподілу, Subtract для точного видалення випадкових ваг.
- Обмежуємо кількість кісток на вершину до 4 через
Limit Total з Max Influences = 4.
- Нормалізуємо ваги — сума повинна бути 1.0 на вершину. Нормалізація ваг обов'язкова після будь-яких ручних змін.
- Перевіряємо відсутність вершин без груп через
Mesh > Vertices > Select All by Trait > Without a Group.
У Maya використовуємо Smooth Skin Binding з опцією Closest in Hierarchy, потім очистку Flood по 0 і Hammering через Component Editor. Середній час на одну зону — 15–20 хвилин, на складні (пахва, зап'ястя) — до 40 хвилин.
Як тестувати скіннінг у Unity?
Після експорту FBX скіннінг проходить тестування в рушії. Налаштуйте Avatar: Rig → Animation Type → Humanoid, Auto Map. Якщо імена кісток нестандартні — ручний мапінг. Анімація в Unity демонструє якість скіннінгу. Запустіть будь-який Humanoid animation clip у Preview. Зверніть увагу на три зони:
- Руки при замаху — плечі не повинні деформувати грудну клітку.
- Згинання коліна — без «перетискання» в області суглоба.
- Пальці — при стисканні в кулак не злипаються.
Якщо всі три тести пройдені, скіннінг якісний. Ми гарантуємо проходження цих тестів.
Що входить у роботу
- Документація по вагам із зазначенням проблемних зон і методів їх виправлення.
- Доступ до вихідних файлів .blend/.ma та експортованих FBX.
- Навчання команди основам weight painting при необхідності.
- Підтримка протягом 14 днів після здачі: безкоштовні правки за зауваженнями.
Чому варто довірити правку ваг професіоналам?
Ригінг (комп'ютерна анімація) — це не тільки скелет, а й грамотний розподіл ваг. Джерело: Wikipedia. Сертифіковані інженери TrueTech мають досвід роботи з AAA-проєктами на Unity та Unreal Engine. TrueTech працює на ринку понад 10 років. Ми ручаємося за якість деформації на всіх етапах: від ригінгу до фінальної анімації. 50+ реалізованих проєктів, строки зриваємо рідко.
Приклад деформації пахви
У typical humanoid при підйомі руки вище 90° автоматичні ваги розподіляють вплив на 3-4 кістки, що спричиняє нечитабельну деформацію. Ручне доведення обмежує вплив плечової кістки до зони дельти, а хребта — до нуля на зовнішній частині плеча. Результат — чисте згинання без артефактів.
Процес роботи
| Етап |
Опис |
| Аналіз мешу та ригу |
Перевірка топології, відповідності кісток, виявлення проблемних зон |
| Ручне доведення ваг |
Корекція пахв, зап'ясть, колін, пальців з контролем кожної вершини |
| Перевірка деформації |
Тестування на всіх суглобах, запис артефактів |
| Експорт FBX |
Налаштування деформера Skin, стиснення, упаковка текстур |
| Інтеграція в рушій |
Налаштування Avatar у Unity або Skeletal Mesh в Unreal, тестовий прогін анімації |
| Підтримка та правки |
Безкоштовна корекція протягом 14 днів після здачі |
Строки та вартість
Точна вартість розраховується індивідуально, але орієнтири такі (вартість від 150$ за простого персонажа):
| Тип персонажа |
Час (години) |
Приблизна економія часу при замовленні у нас* |
| Простий humanoid без пальців |
3–6 |
до 40% за рахунок готових шаблонів |
| Повний humanoid з пальцями |
8–12 |
до 30% за рахунок автоматизації |
| Персонаж з одягом (3+ меша) |
16–24 |
до 25% за рахунок паралельної роботи |
| Нестандартна анатомія |
16–32 |
обговорюється індивідуально |
*Економія порівняно з самостійною роботою без досвіду. Наша методика дає стабільний результат з першої ітерації в 95% випадків.
Що важливо пам'ятати
- Не покладайтеся тільки на автоматику. Навіть у Maya з опцією Closest in Hierarchy доведеться правити пахви та пальці.
- Перевіряйте ліміт інфлюенцій. У Blender після Automatic Weights завжди виконуйте Limit Total до 4 кісток на вершину.
- Використовуйте Twist-кістки для зап'ясть та передпліч. Це виключає скручування мешу при обертанні кисті.
Зв'яжіться з нами для точної оцінки вашого персонажа — ми підберемо оптимальний бюджет і строки. Отримайте консультацію з ригінгу та скіннінгу прямо зараз.
Чому ріггінг персонажів для ігор часто ламає анімаційний пайплайн?
Модель готова, текстури на місці — але в Unity вона стоїть дерев'яною лялькою. Кістки виставлені довільно і не мапляться в Humanoid Avatar. Програміст підключає готовий Animator Controller з Asset Store — блендинг анімацій ламає позу, тому що root motion налаштовано невірно. Це типова ситуація, коли ріггінг персонажів для ігор не проєктувався під рушій з самого початку. Помилка на етапі ріггінгу тягне години переробок з боку аніматора та програміста, а бюджет проєкту збільшується на 30–50%.
Ріггінг — це не просто «додати кістки». Це проєктування системи управління, яка повинна працювати всередині конкретного рушія з конкретними вимогами до формату даних. Ми гарантуємо, що після нашої роботи персонаж готовий до анімації без переробок: всі кістки мапляться в Humanoid, ваги розподілені без артефактів, а Animator Controller спроєктований під конкретний геймплей. Наша команда займається ріггінгом персонажів для ігор понад 7 років і виконала роботи для 150+ персонажів у проєктах різних жанрів — від мобільних RPG до PC-екшенів. Ми на ринку геймдев-аутсорсингу 5+ років. Замовте ріггінг у нас — і отримайте скелет, готовий до анімації з першого імпорту.
Які вимоги до скелету для Humanoid Avatar?
Unity працює з двома типами ригу: Generic та Humanoid. Вибір впливає на весь анімаційний пайплайн.
Generic rig — довільна ієрархія кісток. Анімації прив'язані до конкретної моделі, ретаргетинг неможливий. Підходить для неперсонажної анімації (техніка, двері, істоти з нестандартною анатомією).
Humanoid rig — Unity маппить кістки на стандартну схему з 17 обов'язкових кісток (хребет, голова, руки, ноги) та до 32 опціональних. Після цього будь-яка Humanoid-анімація застосовна до будь-якого Humanoid-персонажа. Це основа для ретаргетингу та Animator Controller з Blend Tree. Humanoid-риг прискорює створення анімацій у 2–3 рази порівняно з Generic, оскільки готові анімації з Asset Store працюють без адаптації.
Помилки, які ламають Avatar mapping:
- Неправильна орієнтація кісток. Unity очікує, що вісь X направлена по кістці в бік дочірньої кістки. Якщо рука дивиться по Z або -Y — Avatar згенерується зі спотвореною T-pose.
- Зайві проміжні кістки в ланцюжку хребта. Якщо між Spine та Chest стоїть проміжна кістка без маппінгу — вона втрачається при ретаргетингу, анімація хребта виглядає дерев'яно.
- Roll-кістки (twist bones) — кістки для розподілу скручування передпліччя та стегна. У Humanoid їх потрібно додавати як додаткові (не обов'язкові) кістки та коректно налаштовувати ваги. Без twist-кісток передпліччя при повороті кисті складається некрасиво.
T-pose vs A-pose
Unity рекомендує T-pose як біндингову. A-pose (руки опущені під ~45°) технічно працює, але ретаргетовані анімації будуть давати невеликі помилки в плечовому суглобі — до 5° відхилення. Для персонажів з бронею або широкими плечима A-pose іноді кращий: менше розтягнення мешу при ретаргетингу. Рішення приймається на етапі ріггінгу, переробити потім дорого.
Avatar Mask
Avatar Mask — інструмент для часткового застосування анімацій. Наприклад: нижня частина тіла грає анімацію бігу, верхня — анімацію стрільби. Без Avatar Mask ці стани конфліктують. Правильна структура Animator Controller для шутера:
Base Layer (Full Body weight: 1.0)
└── Locomotion Blend Tree (idle / walk / run / sprint)
Upper Body Layer (Avatar Mask: верхня частина, weight: 1.0)
├── Idle_upper
├── Shoot
├── Reload
└── Aim_offset (2D Blend Tree по pitch/yaw)
Additive Layer (Avatar Mask: spine, weight: по параметру)
└── Lean_left / Lean_right
Приклад налаштування Avatar Mask: в інспекторі Unity виберіть Animator Controller, відкрийте Layer -> Add Layer -> виберіть Avatar Mask. Для Upper Body створіть маску, що дозволяє кістки плечового поясу, рук та голови. Для Additive — лише хребет. Зніміть галочки з ніг.
Additive layer для нахилу — типова оптимізація: замість 8 окремих анімацій (run_left, run_right, walk_left...) один additive lean застосовується поверх будь-якого стану. Економія часу на створення кліпів — до 40%. Для складних проєктів це знижує бюджет анімацій на 15–20%.
Як налаштувати Blend Tree для локомоції?
Blend Tree — система змішування анімацій за одним або двома параметрами. Для локомоції персонажа стандарт — 2D Freeform Directional з параметрами velocityX та velocityZ.
Мінімальний набір кліпів для базової локомоції:
| Анімація |
velocityX |
velocityZ |
| Idle |
0 |
0 |
| Walk Forward |
0 |
0.5 |
| Run Forward |
0 |
1.0 |
| Walk Backward |
0 |
-0.5 |
| Run Backward |
0 |
-1.0 |
| Strafe Left |
-0.5 |
0 |
| Strafe Right |
0.5 |
0 |
Freeform Directional інтерполює між кліпами за кутом та магнітудою вектора швидкості. При velocity (0.35, 0.35) змішуються Walk Forward та Strafe Right з вагами, обчисленими за відстанню до кожної точки в 2D-просторі.
Root Motion vs. In-Place анімації
Root Motion — рух персонажа керується зміщенням рут-кістки в анімаційному кліпі. Аніматор «вшиває» швидкість руху в анімацію. Unity читає це зміщення і рухає Transform персонажа. Плюс: анімація та рух завжди синхронізовані (кроки збігаються з переміщенням). Мінус: складніше керувати швидкістю через код, вимагає коректного налаштування в Animator (Apply Root Motion: true).
In-Place — кістка тазу залишається на місці, переміщення керується кодом (CharacterController або Rigidbody). Простіше інтегрувати у фізичну систему, але ризик розсинхронізації кроків зі швидкістю руху (slipping feet).
In-Place анімації з Foot IK через Animation Rigging пакет (Unity) краще підходять для ігор зі складним ландшафтом, оскільки забезпечують точне приземлення стоп на нерівній поверхні, економлячи 15–20% часу на коригування анімацій вручну.
Чому виникають проблеми зі скінінгом і як їх вирішити?
Скінінг (прив'язка мешу до кісток через ваги) — найбільш трудомісткий етап ріггінгу органічних персонажів.
Інструменти: Maya (Weight Paint tool + Component Editor), Blender (Weight Paint mode + Vertex Group Editor), 3ds Max (Skin modifier + Weight Table).
Проблемні зони та рішення:
| Проблема |
Причина |
Рішення |
Економія бюджету |
| «Цукерковий» артефакт у пахвах |
Стандартне скінінг-рішення |
Додавання corrective shape keys (blend shapes), що спрацьовують при куті плеча |
Зниження артефактів на 90% |
| Скручування колін/ліктів |
Відсутність twist-кісток |
Twist-кістки розподіляють деформацію на три суглоби (shoulder twist, elbow, forearm twist) |
Усунення «скручування циліндра» |
| Спотворення при ретаргетингу |
Неправильна орієнтація кісток у T-pose |
Перевірка через Unity Avatar Tester |
Економія 60% часу на доробки анімацій |
Правильний скінінг з першого разу економить до 60% бюджету на доробки анімації. Wikipedia: Rigging — і ми додаємо до цього математику ваг та blendshapes, щоб рухи виглядали природно. Щоб уникнути подібних проблем на вашому проєкті, отримайте консультацію з ріггінгу прямо зараз.
Бойові анімації та стани
Бойова анімаційна система — це не просто набір кліпів. Це граф станів з транзішн-умовами та interrupt priorities.
Типова помилка: транзішн з Idle → Attack з Has Exit Time: true та Exit Time: 0.9. Це означає, що атака почнеться тільки коли idle відіграє 90% (0.5 секунди). Гравець натиснув кнопку атаки і чекає півсекунди. Рішення: Has Exit Time: false, транзішн по trigger, Interruption Source: Current State з пріоритетом.
Структура бойових станів:
Any State → Hit Reaction (trigger: onHit, interrupts current)
Any State → Death (trigger: onDeath, interrupts all)
Attack Layer:
Idle → Attack1 (trigger: attack)
Attack1 → Attack2 (trigger: attack, exit time: 0.6)
Attack2 → Attack3 (trigger: attack, exit time: 0.6)
Attack1/2/3 → Idle (no trigger, exit time: 1.0)
Combo-window відкривається на ~40% довжини анімації і закривається на ~80%. Це створює відчуття responsiveness без руйнування анімації.
Коли варто використовувати Spine 2D?
Spine — стандарт для 2D-анімації в mobile RPG, idle games, action-platformers. Меш персонажа розбивається на частини, прив'язані до 2D-скелету. Анімація — трансформації кісток, mesh deformation через weighted vertices.
Переваги перед frame-by-frame:
- Файл анімації важить кілобайти замість мегабайт (спрайтлісти). Типова економія — 80–90% місця в збірці.
- Ретаргетинг: одні анімації атаки працюють на різних персонажах з ідентичною скелетною структурою.
- Змішування анімацій та IK — ті ж концепції, що в 3D.
Інтеграція в Unity: офіційний Spine Runtime для Unity. Компонент SkeletonAnimation керує відтворенням, SkeletonMecanim дозволяє використовувати Animator Controller поверх Spine-скелету. Для програмної анімації — пряме управління через API: skeletonAnimation.AnimationState.SetAnimation(0, "walk", true).
DOTween часто використовується в зв'язці з Spine для управління не-скелетними анімаціями UI-елементів, прив'язаних до персонажа (health bar, damage numbers) — не для самого скелету, а для синхронізації UI з ігровими подіями.
Як ми працюємо
- Аналітика — розбираємо геймплей, визначаємо список анімацій, тип ригу (Humanoid/Generic), вимоги до IK та шарів.
- Проєктування скелету — створюємо ієрархію кісток у Maya/Blender з урахуванням Humanoid Avatar, додаємо twist-кістки, corrective shapes.
- Скінінг — ручне доведення ваг у проблемних зонах, перевірка через Unity Avatar Tester.
- Створення анімацій — локомоція, бойові, реакції, сінематики. Налаштування Animator Controller з Blend Tree та Avatar Mask.
- Тестування та оптимізація — перевірка в цільовій сцені, профілювання draw calls, усунення stutter, налаштування asset streaming.
- Деплой — передача проєкту з документацією та підтримкою.
Що входить у роботу
- Скелетна модель з коректним Humanoid Avatar (або Generic) – файл FBX/glTF.
- Набір анімаційних кліпів – FBX з AnimationClips.
- Animator Controller з налаштованими шарами, Blend Tree та транзішнами.
- Документація за структурою контролера та використанням у коді.
- Доступи до репозиторію проєкту (Git), консультації по інтеграції — відповідаємо на питання, виправляємо неточності.
- Гарантія на коректну роботу анімацій протягом 30 днів після передачі — якщо виникають артефакти, правимо безкоштовно.
Орієнтовний строк: від 5 до 15 робочих днів залежно від складності (кількість анімацій, тип ригу, наявність Spine 2D). Вартість розраховується індивідуально після оцінки обсягу. Зв'яжіться з нами для консультації та приблизного кошторису. Замовте ріггінг персонажів для ігор — і ваші персонажі оживуть без багів анімації.