Скіннінг та розвесовка вершин (Weight Painting) моделей ігор
Скіннінг — процес призначення впливу костей кожній вершині меша. Чим точніше розвесовка, тим природніше деформується модель при анімації. Жоден алгоритм не замінює ручну правку в критичних зонах: суглоби, складки одежи, область шиї — все це потребує уваги та розуміння того, як деформується жива форма.
Automatic Weights як стартова точка, не фінал
Automatic Weights у Blender працює алгоритмом Heat Diffusion — кожна вершина отримує вес пропорційно тепловому впливу найближчих костей. Результат прийнятний на 60–70% меша. Залишок — суглоби, краї, зони перетину геометрії — потребує ручної правки.
У Maya Smooth Bind з Closest in Hierarchy дає трохи чистіший стартовий результат для анатомічно правильних мешів. Але на нестандартній геометрії (істоти, механізми) — та ж історія.
Перше, що робимо після Automatic Weights: тест у pose mode по кожному суглобу. Сгинаємо локіть на 90°, коліно на 90°, піднімаємо плечо, обертаємо шию. Фіксуємо всі проблеми до початку ручної правки — переробляти по одній проблемі за раз швидше, ніж після накоплення кількох.
Критичні зони: де автовеса ломаються завжди
Плечо. Між Shoulder-костю та Spine/Chest — зона, де геометрія підпахви належить обом. Автовеса розмазуються на 3–4 кості, та при підйомі руки вище 90° тканина під підпахвою деформується нечитаємо. Потрібно: вершини внутрішньої сторони плеча — лише UpperArm, вершини торса в зоні підпахви — лише Chest. Перехід — по чіткій лінії, не по плавному градієнту.
Запястя та пронація. Обертання кисті передається через Forearm-кість. Без Twist-кості передпліччя меш "скручується" як верв'ю. З Twist-костю: половина ваги передпліччя перерозподіляється на Twist, градієнт від 0 (локіть) до 0.5 (середина) до 0 (запястя). Це дає плавне раскручування по довжині.
Коліно. Помилка: занадто велика зона змішування між UpperLeg та LowerLeg. При сгинанні 90° виникає "пережим" — шкіра на передній частині колін теряє об'єм. Рішення: жорстке розділення по осі суглоба. Вершини вище — лише UpperLeg, нижче — лише LowerLeg. На самому суглобі — рівний вес (0.5/0.5) лише для 2–3 edge loop безпосередньо в місці згину.
Шия. Проблема зворотна — занадто жорстке розділення. Вершини позаду шиї повинні плавно переходити від Spine2 до Neck з невеликим вкладом Chest, інакше при нахилі голови назад з'являється "розрив" геометрії позаду.
Інструменти та техніки Weight Painting
У Blender режим Weight Paint — основний. Важливі нюанси:
Normalize All перед фіналізацією: кожна вершина повинна мати сумарний вес 1.0. Без нормалізації вершини з вагою 0.3 + 0.3 = 0.6 дають неповне влияння костей та меш "провисає".
Limit Total з Max Influences = 4: стандарт для Unity. GPU skinning з 4 костями на вершину — оптимальний баланс якості та продуктивності. На мобайлі іноді знижують до 2–3.
Smooth пензель з низькими значеннями Strength (0.3–0.5) — для згладжування країв зон впливу. Не використовувати на суглобах, лише на плавних переходах.
Vertex Group Lock — блокування груп, які вже готові. Запобігає випадковій зміні при роботі з сусідніми зонами. Maya еквівалент — Lock Influence через Paint Skin Weights Tool → Lock.
У Maya Component Editor дає прямий числовий доступ до ваг вибраних вершин — незамінний для точної правки. Виділяємо проблемні вершини в Vertex Mode, відкриваємо Component Editor, знаходимо потрібні Joint-стовпці, вводимо значення вручну.
Ваги для одежи та окремих мешів
Персонаж з окремими мешами одежи потребує скіннінгу кожного меша незалежно. Принцип: одежа повторює скіннінг тіла під нею, але з поправкою на тканину. Сорочка на торсі — ті ж кості, що й торс, але з меншим впливом кінцевих суглобів (кисті не впливають на рукав у плечі). Плащ додає кості самого плаща з вторинною динамікою.
Transfer Weights у Blender (Data Transfer Modifier) — швидкий перенос ваг з тіла на одежу. Працює коректно, якщо меші приблизно збігаються за формою. Після переносу — ручна правка на краях одежи, де геометрія розходиться з тілом.
Фінальна перевірка перед експортом
Чек-лист:
- Сумарний вес кожної вершини = 1.0 (Normalize All)
- Максимум 4 інфлуенса на вершину (Limit Total)
- Нема вершин без ваг (Select → All by Trait → Without a Group)
- Тест-пози: T-Pose, A-Pose, згинання всіх суглобів на 90°, крайні пози для боєвики
Терміни
| Меш | Орієнтовна тривалість |
|---|---|
| Простий NPC без пальців | від 3 до 6 годин |
| Повний humanoid з пальцями | від 1 до 2 днів |
| Персонаж з одягом (3–5 окремих мешів) | від 2 до 3 днів |
| Істота з нестандартною анатомією | від 2 до 4 днів |
Вартість визначається після огляду меша, кількості окремих об'єктів та вимог по платформі до максимального числа інфлуенсів.





