Skinning

Перед тем как приступить к скинингу для персонажа стоит создать proxy модель. Proxy имеет куда более упрощенную сетку чем итоговая модель и лупы располагают в местах расположения костей или между ними. Proxy создаётся для упрощения процесса скина и на первых этапах стоит работать именно с proxy, так можно экономить себе длительные часы работы.

big
Original size 1920x800

Прокси и финальная модель

Skinning — процесс привязки 3D персонажа к костям.

Как и в нашем теле, в 3D существуют кости, к которым присоединяют мышцы, а к мышцам — кожу. Мышечную систему в 3D делают только для реалистичных персонажей, для анимационных делают только кости, деформеры и бленд шейпы. Модель привязывают напрямую к костям и поверхность персонажа следует за костями.

Базовый функционал

big
Original size 1980x800

Bind Skin Options Maya

Bind to: 1. Joint hierarchy — выбранная геометрия привяжется ко всем костям в иерархии скелета. 2. Select object — геометрия привяжется только к выбранным костям. 3. Object hierarchy — геометрия привяжется ко всей иерархии выбранного скелета и элементам, не являющимися суставами. При помощи этого метода геометрию можно привязать к локаторам или группам. Данная функция работает только с объектами, которые не могут сами иметь веса. Привязать геометрию к геометрии при помощи этого метода нельзя.

Bind method 1. Closets distance — точки геометрии привяжутся к кости, расположенной наиболее близко к этой точке. При таком распределении иерархия перестает иметь значение и, например, на пальцах, где все точки в относительной близости друг к другу и костям, привязка равномерно распределится между пальцами и получатся руки с перепонками. 2. Closets in hierarchy — основывается на иерархии скелета и поможет избежать нежелательных влиянии на соседние объекты. Наиболее корректный метод.

Original size 1948x459

1. Closest Distance 2. Closest In Hierarchy 3. Heat Map 4. Geodesic Voxel

3. Heat Map — из сустава испускаются тепловые лучи, которые по мере удаления от него теряют температуру. Распределение работает по принципу: где теплее, там и сила привязки больше. Самый корректный способ быстрого окрашивания, но если у геометрии присутствуют эн-гоны или дырки, то данный метод не сработает, поэтому первое правило 3дэшника: у полигонов всегда и без исключений 4 грани. 4. Geodesic voxel — такая привязка схожа по принципу с Heat Map, но модель заполняется не лучами тепла, а 3д пикселями или voxels. Данный способ менее требователен к качеству ретопологии, но с почти 90% вероятностью вызовет артефакты на персонаже далеком от человеческих пропорций.

Original size 5262x2052

Демонстрация работы Geodesic Voxel

Skinning method

1. Classic linear — такой метод создает плавные деформации при движении, но часто приводит к потере объемов в области суставов. 2. Dual quaternion — здесь происходит обратная ситуация: геометрия максимально стремится сохранить свой объем, но при этом выглядит более жесткой и топорной. 3. Weight blended — такой способ объединяет оба метода и при покраске позволяет переключаться между Classic linear и Dual quaternion.

Чаще всего используют первый или последний метод.

Original size 1116x464

Демонстрация работы разных методов скиннинга

Max influences — максимальное количество костей, которые могут влиять на один вертикс. Каждый вертикс имеет максимальное влияние 1 или 100% и эти сто процентов могут делиться между костями, которые влияют на вертиксы. Если влияет 2 кости, то они могут влиять каждая по 50 или 30/70 или в любом другом соотношении. Чем больше это значение, тем сильнее вертикс будет следовать за костью.

Если персонаж симметричный распределять вес имеет смысл только с одной стороны, на конечном этапе скиннинг можно отразить на другую сторону. Если персонаж имеет несимметричные части, то в местах, где нет симметрии нужно распределить веса с обеих сторон.

Original size 1980x800

1. Симметричный 2. Несимметричный

Joint Laibel‎ — с помощью этого инструмента можно отобразить названия костей во вьюпорте. Это можно быть полезно при skinning чтобы бы можно было сразу найти кость по названию.

Loading...

Чтобы привязать модель выбираем необходимые кости и все объекты персонажа, которые вы хотите привязать, и применяем Bind skin с наиболее подходящими вам настройками (первоначальные настройки наиболее оптимальные и комфортные).

При покраске важно помнить, что красить нужно именно вертиксы, а не полигоны.

Original size 1440x600

Назначение веса

Метод от общего к частному

При таком методе создается грубая раскраска с влиянием одной кости на один вертикс, без сглаживания. Каждая кость полностью влияет на соответствующий отдел. Бедро на 100% влияет на бедренную часть, плечо на плечевую и так со всеми костями.

Для такой покраски необходимо выбрать прокси модель и сделать привязку к костям со значением Max influences 1.

Original size 3960x1600

Раскраска веса с влиянием на одну кость

Для того чтобы перейти в режим покраски нужно нажать правой кнопкой во вьюпорте и выбрать режим Paint Skin Weights Tool.

Original size 1980x800

1. Переход в режим покраски 2. Окно управления 3. Выход в режим выбора объектов

Не используйте инвертированный replace так как при стирании веса с кости очень часто вес вертикса переносится на любую кость вне зависимости от того, где она находится. Когда все кости разблокированы и вы стираете вес с вертиксов, то дается команда: сними вес с этой кости и перенеси на другую наиболее близкую к ней, но нередко при этой операции происходит некорректный перенос и вес перескакивает на очень удаленную кость. Ситуация что персонаж хлопнет ресницами и все улетит вполне вероятна. Можно переключиться на кость, на которую необходимо перенести вес, и там с помощью replace выкрасить нужные вертиксы.

Также есть скрипт Skin magic, который позволяет выбирать вертиксы и назначать на них числовое значение веса кости. Этот скрипт в последствии можно использовать и для сглаживания.

Original size 1440x600

Skin Magic

Следующий этап — сглаживание. На этом этапе на вертикс может влиять только 1 кость поэтому первым делом нужно заблокировать все кости и изменить Max influences с 1 до 5-8 костей. Блокировать кости нужно для то, чтобы при изменении Max influences вес не распределился автоматически.

Самый безопасный способ сглаживания вручную — это выставление lock на всех костях, кроме тех, которые в данный момент собираетесь сгладить между собой и с помощью инструмента smooth вручную сглаживать влияние.

Original size 1980x800

Set Max influences

Или использовать скрипт Skin magic, который дает куда больше контроля над влиянием. В нем всегда можно увидеть какие кости влияют на вертикс. Это дополнительный инструмент, если единичные вертиксы ведут себя некорректно, можно использовать этот скрипт.

Перенос веса с прокси на итоговую геометрию

После сглаживания с одной стороны можно отразить вес на другую половину персонажа. Если персонаж частично ассиметричный, можно выбрать симметричные на другой стороне вертиксы и применить Mirror skin weight только к ним.

Original size 1020x425

Mirror Skin Weight

Для переноса веса используется функция Copy skin weight. Чтобы ей воспользоваться нужно привязать модель к тем костям, что привязана прокси. После этого нужно выбрать прокси, затем итоговую модель и использовать Copy skin weight.

Original size 1980x800

Copy skin weight

Далее нужно будет поработать со сглаживанием. Итоговая модель имеет куда больше полигонов и не всегда все перенесенный вес работает также хорошо, как на прокси модели. Перенос веса с прокси модели в разы сократит время вашей работы, потому что гораздо проще настроить веса у модели из 2 тысяч полигонов, чем из 20 тысяч, а доработать практически готовую разрисовку весов проще, чем делать все с нуля.

В 24 версию Maya добавили возможность делать несколько слоев привязки к костям. Допустим вам нужно чтобы у головы персонажа была возможность сделать сжатие и растягивание, но при этом моделька должна быть пригодна для игрового движка. В такой ситуации можно сделать основной риг лица на всех необходимых костях для век, губ, челюсти, щек и создать еще три или две кости, которые будут отвечать за сжатие и растягивание и на них создать отдельный skincluster.

Chapter:
5
6
7
8
9
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more