Скіннінг меша персонажів для анімації ігор
Скіннінг — те місце, де риг з технічної схеми перетворюється в робочий інструмент анімації. Можна зібрати відмінну ієрархію костей і отримати неприйнятний результат на етапі деформації: лоскути тканини на плечах, перекручені запястя, складки на животі при нахилі. Все це — проблеми weight painting, і правляться вони вручну.
Де ломається автоматичний скіннінг
Automatic Weights у Blender — зручний старт, але не фінальний результат. Алгоритм працює через Heat Diffusion: кожна кість "прогріває" найближчі вершини пропорційно відстані. На відкритих ділянках меша це працює прийнятно. Проблеми починаються в чотирьох зонах:
Підпахва. Вершини плеча та торса геометрично близькі до обох костей — плечевої та хребта. Автовеса розмазуються на три-чотири кості, і при підйомі руки вище 90° тканина під підпахвою деформується нечитаємо. Правиться через чистий вес плечевої кості в зоні дельти та нульові ваги хребта на зовнішній частині плеча.
Запястя при пронації/супінації. Якщо у ригу немає окремої Twist-кості передпліччя, обертання кисті передається прямо на Forearm-кість — і mesh "скручується" як тряпка. Рішення: додати проміжну Forearm_Twist кість з вагою 0.5 на середній частині передпліччя, розподіляючи деформацію по довжині кінцівки.
Коліно. Автовеса дають занадто м'який перехід між стегном і гомілкою, і коліно при згинанні "пережимається". Потрібно вручну обмежити зону впливу кожної кості до приблизно 40% довжини сегменту, а не 60%, які виводить Automatic Weights.
Пальці. На кистях з детальним мешем (>500 вершин на руку) автовеса обов'язково дають cross-contamination — вес одного пальця торкається сусіднього. При анімації захоплення пальці слипаються. Лише ручна правка з Vertex Group Isolation.
Weight Painting у Blender: не пензель, а хірургія
Практичний workflow: після Automatic Weights — pose mode, згинаємо кожен суглоб на 90°, дивимось на деформацію. Фіксуємо проблеми. Повертаємось у weight paint mode.
Ключові параметри пензля, які змінюють усе: Blur для згладжування країв зони впливу, Gradient для лінійного розподілу уздовж кості (краще за автовеса у більшості випадків), Subtract для точного видалення випадкових ваг. Максимальна кількість костей на вершину у Unity — 4 (стандарт) або 8 (розширений режим, дорожче на GPU). Blender за замовчуванням не обмежує — потрібно явно нормалізувати через Limit Total з Max Influences = 4.
У Maya workflow інший: Smooth Skin Binding з опцією Closest in Hierarchy дає чистіший початковий результат для humanoid. Paint Skin Weights Tool з Flood по 0 для очищення, потім ручне додавання. Hammering — швидка правка через Component Editor з прямим вводом значень. Зручно для точної правки вершин у суглобах.
Нормалізація та експорт
Фінальний крок перед експортом: всі ваги нормалізовані (сума = 1.0 на кожну вершину), кількість інфлуенцій обмежена, вершини без ваг відсутні. У Blender останнє перевіряється через Mesh > Vertices > Select All by Trait > Without a Group — якщо щось виділилося, скіннінг неповний.
FBX-експорт з параметром Deformer → Skin обов'язковий. У Unity при імпорті: Rig → Animation Type → Humanoid, потім Avatar Configuration → Auto Map. Якщо скелет іменований за стандартом Mixamo/Unity — маппінг проходить без помилок. Якщо є кастомні імена — потрібен ручний маппінг, що займає додатковий час.
Перевірка у рушієві: підключити будь-який Humanoid animation clip, запустити Preview у Animator. Деформація при ходінні та бігу — основний тест. Руки при замахові — додатковий. Згинання коліна та локтя — мінімальний стрес-тест для ваг суглобів.
Терміни та обсяг роботи
Скіннінг займає в середньому стільки ж часу, скільки риггінг — іноді більше, якщо меш детальний або є складні зони.
| Масштаб завдання | Орієнтовна тривалість |
|---|---|
| Простий персонаж без пальців | від 3 до 6 годин |
| Повний humanoid з пальцями | від 1 до 1.5 днів |
| Персонаж з одягом (окремі меші) | від 2 до 3 днів |
| Істота з нестандартною анатомією | від 2 до 4 днів |
Вартість визначається після оцінки меша: кількість вершин, наявність окремих мешів одежи та снаряження, вимоги до максимальної кількості інфлуенцій та цільова платформа.





