Скіннінг меша персонажів для анімації ігор

Наша компанія з розробки відеоігор веде незалежні проекти, спільно з клієнтом створює ігри та надає додаткові операційні послуги. Досвід нашої команди дозволяє нам охопити всі ігрові платформи та розробити приголомшливий продукт, що відповідає баченню клієнта та перевагам гравців.

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Скіннінг меша персонажів для анімації ігор
Середня
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

Скіннінг меша персонажів для анімації ігор

Скіннінг — те місце, де риг з технічної схеми перетворюється в робочий інструмент анімації. Можна зібрати відмінну ієрархію костей і отримати неприйнятний результат на етапі деформації: лоскути тканини на плечах, перекручені запястя, складки на животі при нахилі. Все це — проблеми 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-експорт з параметром DeformerSkin обов'язковий. У 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 днів

Вартість визначається після оцінки меша: кількість вершин, наявність окремих мешів одежи та снаряження, вимоги до максимальної кількості інфлуенцій та цільова платформа.