Привязка персонажей в 3ds Max: Physique, Skin
Грибанов Юрий – работаю Game Developer’ом около 8 лет. Участвовал в разработке таких проектов как: Златогорье, С.М.Е.Р.Ш, Спарта (SPARTA), Золотая Орда (Golden Horde, The), Восточный Фронт (UberSoldier), Восточный Фронт. Крах Эненербе (Crimes of War), Трудно быть Богом (Hard To Be a God), Пушечное мясо (Cannon Folder).
Начнем с того, что у нас есть некая модель человека, для которой нам надо сделать скелет и привязать физикой (рис. 1). За основу возьмем простую модель.
Рис. 1
Большинство любопытных, которые пытались сами изучить Интерфейс и панели 3ds Max, читая ту или иную литературу, скорей всего находили стандартный скетелет, очень похожий на человеческий (Biped). Напомню:
Вкладка Create – Systems – Biped (рис. 2)
Теперь в окне Perspective создаем Biped до размера более-менее схожего с нашей моделью, после чего отпускаем клавишу мышки (рис. 3).
Рис. 3
Скажу сразу, что в Max’e скелет имеет несколько типов: мужской, женский, классический, современный. На самом деле как выглядит скелет, не имеет значения, нас интересует больше всего расположение суставов, где и под каким углом они находятся. Чтобы с оптимизировать работу, я делаю скелет в виде отображения боксов, для простоты его настройки. Для этого необходимо выделить весь скелет и перейти на кладку: Edit – Object - Properties и в открывшемся диалоговом окне поставить галку Display as Box.
Перейдем на вкладку Motion (рис. 4)
Рис. 4
Включаем режим редактирования скелета (Figure Mode), и начинаем двигать, скалировать, вращать Biped так, чтобы суставы конечностей совпадали с моделью человека. Обратите внимание, что если вы не включите данный режим, а начнете сразу скалировать перемещать или вращать скелет, то после нажатия данной кнопки, ваш скелет сбросит параметры на начальные. Также появилась вкладка Structure, в ней находятся параметры созданного нами скелета (Количество пальцев, суставы ног, шейные позвонки и т.п.). Экспериментируйте, и посмотрите, что из этого у вас получится.
Настройка скелета начинается с центра масс, у человека в данном случае центром масс является область таза, а у созданного нами скелета – это кость Bip01, переходя во фронтальный режим, а потом в режим слева, подвиньте скелет так, чтобы центр скелета совпадал с центром модели. Потом настраиваем ноги, спину, руки, ну и, в конечном счете, заканчиваем головой.
В итоге, у вас должно получится, что - то подобное (рис 5.).
рис. 5.
В 3ds Max существует несколько модификаторов для привязки модели к костям, оба они находятся на вкладке Modify, и называются Physique и Skin. Разница в них не велика, а именно: модификатор Skin имеет возможность работать не со всей иерархией костей, а только с выбранными вами, так как Physique не имеет такой возможности, конечно можно извратиться и порезать модель на несколько кусков и каждый кусок модели привязывать отдельно, но мне кажется это чересчур. А второе преимущество Skina в том, что у него есть возможность привязывать кисточкой, для особо ленивых, кому не хочется выделять вертексы (Vertex (вершины)), достаточно выбрать кость и нарисовать степень влияния кости на ту или иную область модели. В данном уроке я разберу привязку модели модификатором Physique.
Перейдем на вкладку Modify, выделяем нашу модель и в раскрывающемся списке находим модификатор Physique (рис. 6).
Рис. 6
Чтобы осуществить привязку, необходимо при выделенной модели нажать на клавишу Attach to Node и дальше выбрать главную кость, в нашем случае - это Bip01. Если вы все сделали правильно, то появятся линии связи, отображающиеся оранжевым цветом, как на рисунке 6. При этом у вас выскочит диалоговое окно с параметрами привязки, на данный момент они нас не интересуют и вполне устраивают настройки по умолчанию, единственное что, можно по экспериментировать и сначала выбрать Deformable (мягкая), а потом Rigid (жесткая) привязку и посмотреть какая разница между ними и что вам больше подходит. При использовании деформируемой привязки, в местах сгиба у модели будет более ровная и округлая форма.
Рис.7
Рассмотрим модификатор Physique изображенном на рисунке 7, у него есть 5 режимов работы: Envelope, Link, Bulge, Tendons, Vertex. При выборе режима Envelope вокруг выбранной вами кости будет появляться 2 сферы (сфера в сфере), внутренняя будет отображать 100 % влияние кости на область, внешняя сфера, то - что будет влиять с каким- то коэффициентом. Vertex режим – это когда выбранным вами вертексам вы будете назначать кости и вручную задавать степень влияния кости на вертекс. Остальные режимы предназначены для работы с костями и создания мускул.
Рассмотрим набор кнопок, операции работы при осуществлении привязки (рис. 8).
Vertex Type (в данном случаем подразумевается выделение вертексов):
Синий цвет – вертексы, которые ни к чему не привязаны и не подвержены влиянию костей.
Зеленый – вертексы, привязанные Rigid режимом.
Красный – Deformable режимом.
Вертексы привязанные к одной кости отображаются более светлым светом, к 2 и более – темным.
Blending Between Links – ставит ограничение, количество костей на вертекс.
Операции:
Select – режим выбора вертексов.
Select by Link – режим выбора костей (если выбрать кость, то отобразятся вертексы, на которые оказывает влияние данная кость).
Assign to Link – на выбранный вами вертекс добавляет влияние выбранной вами кости.
Remove from Link – обратное действие от Assign to Link.
Lock Assignments – заблокировать выбранные вами вертексы (Это нужно для того чтобы назначит степень влияния кости на вертекс, иначе не будет доступна кнопка Type-In Weights).
Unlock Assignments – разблокировать вертексы.
Type-In Weights – открывает окно для редактирования влияния костей на вертекс.
Hide – Скрыть. UnHide ALL – показать/отобразить скрытые вертексы.
Начнем привязывать модель. Для удобства визуально разобьем модель на секторы, начиная с простых участков и переходя к более сложным (рис. 9).
Ноги, область таза, руки, голова, живот и плечи.
Рис. 9
Возьмите скелет за стопу и поставьте ногу в положение похожее на положение ноги при ходьбе, это облегчит вам распределением весов между костями. Для того чтобы назначит степень влияния (вес) вертексу, как говорилось выше, вам нужно заблокировать вертекс.
Выделите вертексы, находящиеся на пересечении стопы и голени, блокируем (Lock Assignments) и назначаем веса для вертексов (Type-In Weights) (рис. 10).
Рис. 10
Места сгибов (область суставов), лучше всего привязывать к 2 и более костям, для получения более ровной и округлой формы модели (рис. 11, 12).
Рис. 11
Идеальная привязка считается та, когда все вертексы модели привязаны как минимум к 2 костям, пусть даже не с незначительным коэффициентом. Тогда при изготовлении анимации модель будет казаться более живой и реалистичной.
После того как вы завершили привязку ноги, щелкните на кнопке Figure Mode (режим редактирования скелета), чтобы скелет модели снова встал в стандартную позу.
Рис. 12
Вот так, сгибая и разгибая нашу модель, постепенно привязываем участок за участком. Пока в конечно счете вся модель не окажется привязанной.
Чтобы проверить, не осталось ли не привязанных вертексов, выбираем в опции Vertex Type синий цвет и выделяем модель, если вертексы остались они отобразятся на экране.
Для проверки привязки модели, на будущее, не плохо было бы сделать анимацию, в которой модель выписывает невероятные вещи, и степень сгибов модели максимальная, но все таки приближенные к реальности.
Skin
По сути Skin такой же модификатор, как и Physique, принцип работы у него аналогичен.
Перед тем как приступить к привязке с помощью модификатора Skin, необходимо сделать несколько манипуляций с объектом, чтобы в дальнейшем они нам не вышли боком.
Начнем с того что перейдем на вкладку Hierarchy (Иерархия) и обнулим параметры трансформации нашей модели (рис. 1). После чего для удобства выставим центр модели (pivot) в нули по всем координатам.
Рис. 1
Применим Утилиту для сброса трансформации Reset XForm (рис. 2). Вы можете задаться вопросом для чего столько манипуляций, зачем, они одинаковы! На самом деле, работая, не раз сталкивался с вопросом: «Почему?!», функция у них одна и та же по сути, но принцип работы разный. К примеру при привязке Skin`ом у вас не получается отобразить веса вертексов с одной половинки на другую, и вам придется вторую половинку так же вязать вручную, соответственно и время вы потратите больше.
Рис. 2
Переходим на вкладку Modify, выделяем модель, если вы сделали подготовку, то в стеке модификаторов у вас должен отображаться XForm, он нам не нужен, щелкаем правой клавишей по нему и выбирать Collapse To. Открываем список модификаторов и находим в нем Skin (рис. 3).
рис. 3
Если вы хоть раз пробовали привязывать Physique, то легко справитесь и со Skin. Как говорят лингвисты, если знаешь один язык, второй изучить проще.
Если вы сразу читаете Skin, то лучше потратьте пару минут и просмотреть принцип работы модификатора Physique.
Вкладка Mirror Parameters – предназначена для отображения привязки с одной половинки модели на другую. Все просто, активируете кнопку, у вас появится плоскость, выбираете ось для отображения, задаете смещение плоскости, т.е. выставляете плоскость по центру за счет смещения, и выбираете копировать веса вертексов или кости.
Вкладка Parameters - здесь в первую очередь добавляем кости, к которым мы будем привязывать модель, и здесь же выбираем, как будет осуществляться привязка.
Edit Envelopes – настройка влияния костей за счет сфер, принцип такой же как и в Physique, сфера в сфере.
Если поставить галку Vertices – то можно выбирать конкретные вертексы на самой модели и назначать степень влияния индивидуально. Также имеются варианты выделения вертексов: Shrink, Grow, Ring, Loop – попробуйте каждый вариант и посмотрите что из этого у вас получится, лучше выделять пару вертексов, с одним вертексом не всегда срабатывает.
Cross Sections – это функция позволяет на Envelopes (сферах) добавить дополнительные ребра для удобства привязки.
Ну и самое интересное, назначения весов через таблицу (Weight Table) (рис. 4), через панель весов (Weight Tool) (рис. 5) и рисуя кисточкой (Paint Weigths) (рис. 6).
Рис. 4
В таблице весов вы можете выбирать: отобразить все вертексы, только выделенные, или те на которые влияет кость. В столбцах вы задаете вес влияния кости на тот или иной вертекс.
Рис. 5
В Панели весов, отображаются кости, которые оказывают влияние на выбранные вами вертексы.
Рис. 6
При выборе режима рисования кистью, можно настроить влияние кисти, минимальный и максимальный вес. Для привязки кистью необходимо выбрать кость, а потом только уже выбирать инструмент рисования кистью. Есть кисть будет краем проходить по вертексу, она окажет минимальное влияние, чем ближе к центру кисти, тем сильней степень ее влияния.
Файлы к уроку: Start_model.rar, create_biped.rar, final_physique.rar.