Скиннинг меша персонажей для анимации игр

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

От иммерсивных приложений до игровых миров и 3D-сцен

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

Посетить персонализированный сайт
Показано 1 из 1 услугВсе 242 услуг
Скиннинг меша персонажей для анимации игр
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    671
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • 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 с прямым вводом значений. Удобно для точечной правки вершин в суставах.

Нормализация и Export

Финальный шаг перед экспортом: все веса нормализованы (сумма = 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 дней

Стоимость определяется после оценки меша: количество вершин, наличие отдельных мешей одежды и снаряжения, требования к максимальному количеству инфлуенций и целевая платформа.