Як скіннінг моделей впливає на деформацію в VR?
Під час експорту ригінгу в Unity ви помічали, що плече персонажа «ламається» при підйомі руки? Це типовий артефакт некоректного скіннінгу. Кожній вершині меша призначається вплив (0–1) кожної кістки скелета.
На практиці — одна з найтрудомісткіших стадій пайплайну, особливо для персонажів з одягом, зачісками та анатомічно складними суглобами. За 5+ років роботи ми відригіли понад 50 персонажів — від інді-ігор до AAA-ексклюзивів.
Наш підхід гарантує відсутність артефактів деформації в VR, де якість скіннінгу безпосередньо впливає на presence.
Гарантія якості досягається завдяки комбінації автоматичних і ручних інструментів. Automatic Weights у Blender або Heat-map скіннінг у Maya працюють у більшості випадків, але на складних суглобах їхній результат потребує доопрацювання. Ми використовуємо еталонні контрольні пози та corrective blendshapes для усунення типових проблем.
Як скіннінг впливає на продуктивність у VR?
Кількість кісток, що впливають на вершину, — ключовий фактор GPU-навантаження. Згідно з документацією Unity, для мобільних платформ, таких як Quest, рекомендується 2 кістки, для PC VR — 4. Ми оптимізуємо скіннінг під цільове залізо, не жертвуючи якістю для ключових персонажів.
| Платформа | Рекомендована кількість кісток | Примітка |
|---|---|---|
| Quest (мобільний VR) | 2 | Для NPC і фонових об’єктів |
| PC VR (SteamVR, Oculus PC) | 4 | Для головних персонажів і аватара гравця |
| Консолі (PS5, Xbox Series) | 4 | Оптимізація під Vulkan/Metal |
Чому автоматичний скіннінг не підходить для VR?
Плече — найскладніший суглоб. Automatic Weights дають неприйнятний результат: вершини пахвової западини тягнуться за рукою, втрачаючи об’єм. Техніка: Volume Preservation через Corrective Blendshapes.
Створюється blendshape для пози «рука піднята 90°» з відновленим об’ємом, він прив’язується через Driver до ротації кістки плеча. У Unity це реалізується через SkinnedMeshRenderer.SetBlendShapeWeight(). Такий підхід дає на 30% кращу деформацію, ніж чистий скіннінг.
Пальці — на кистях має бути мінімум 4 кістки впливу на вершину. Менше — кутова деформація. Скіннінг суглобів пальців потребує акуратного градієнта, інакше фаланги ламаються при стисканні кулака.
Шия при повороті голови — часта помилка: занадто високий вплив кістки голови на вершини шиї. При різкому повороті голови в VR шия скручується неприродно. Правило: вершини нижньої третини шиї повинні мати ≤ 20% впливу від Head кістки.
Чому тестування на контрольних позах обов’язкове?
Ми перевіряємо деформацію на наборі з 6 поз: T-pose, опущені руки, рука піднята вгору, рука за спину, присідання, нахил, поворот голови максимальний. Кожна поза виявляє конкретні проблеми.
Для рук додатково проганяємо всі стандартні позиції з Meta Hand Tracking SDK: стиснутий кулак, відкрита долоня, щипок, вказівний жест. Це займає 1–2 години, але запобігає багам у білді.
Практика скіннінгу під VR-аватар
Починаємо з перенесення ваг через Data Transfer Modifier (Blender) або Copy Skin Weights (Maya) від референсного «голого» меша до мешів одягу. Це прискорює процес: одяг у більшості зон слідує за тілом, лише краї потребують ручної корекції.
Вплив платформи на налаштування. Для Quest (мобільний VR) обмежуємо Skin Weights до 2 Bones — це знижує GPU-навантаження. Для hero-персонажів і аватара гравця залишаємо 4 Bones, для NPC другого-третього плану — 2. Така стратегія балансує якість і продуктивність.
Normal transfer — часто пропущений крок. Нормалі меша одягу мають бути перенесені з меша тіла, що лежить нижче, інакше на стиках освітлення розривається. У Blender використовуємо Data Transfer Modifier з Face Corner Data → Custom Normals.
Що входить у роботу
- Скіннінг усіх мешів (тіло, одяг, аксесуари).
- Налаштування Skin Weights під цільову платформу (Quest/PC).
- Створення corrective blendshapes для плечей, пальців, шиї.
- Перевірка на 6+ контрольних позах.
- Normal transfer для всіх накладених мешів.
- Підсумкова перевірка в рушії (Unity/Unreal) з тестовою анімацією.
- Передача вихідників з коментарями для аніматора.
| Тип персонажа | Терміни | Особливості |
|---|---|---|
| Простий prop (зброя, предмет) | 1–3 години | Мінімум суглобів, один матеріал |
| Персонаж без одягу | 4–8 годин | Анатомія, corrective blendshapes |
| Персонаж з багатошаровим одягом | 2–4 дні | Перенесення ваг, нормал трансфер |
| VR-аватар (руки + голова) | 1–2 дні | Пріоритет на кисті, тест під Hand Tracking |
Типові помилки при скіннінгу
- Занадто багато кісток впливу на одну вершину — підвищує GPU-навантаження.
- Відсутність прогону контрольних поз — артефакти виявляються лише в білді.
- Некоректний нормал трансфер — світлові заломи на стиках одягу.
Терміни вказані орієнтовно. Вартість розраховується індивідуально після оцінки моделі та вимог. Зв’яжіться з нами — ми оцінимо ваш проєкт і запропонуємо оптимальне рішення. Отримайте консультацію зі скіннінгу для вашого VR-проєкту.
Сертифіковані фахівці з Unity і Unreal Engine гарантують якість, підтверджену відгуками замовників. Понад 5 років досвіду в геймдеві. Ми використовуємо актуальні версії інструментів: Unity LTS, Unreal Engine 5, Blender 4.0+.






