В этой статье речь пойдёт о том как быстро и качественно выполнять скининг моделей в 3ds max. Первым делом убедитесь, что ваш персонаж смотрит в нужную сторону (о том, по какой оси должен смотреть персонаж в вашем проекте, лучше всего будет спросить у программистов). Убедитесь что вы соблюли масштаб (лучше всего это проверяется привязкой модели к одной кости и экспортом модели в движок). Так же будет полезно сделать на модели 100% скейл, убить position (чтоб она стояла в нуле координат) и rotation. А лучше всего прогнать всю модель через бокс, как этой описано в этой статье. Только бокс создавать надо в нуле координат. Тогда вы гарантированно сможете потом мирорить (отражать) веса на модели через mirror mode, а это как никак половина работы. После назначения модифера skin ориджин у модели менять не рекомендуется, так как может случиться баг, когда в максе персонаж на месте, а в движке уезжает куда-нибудь в пол.
Применяем на нашу модель skin modifier, нажимаем Add и добавляем в него все нужные кости. Не забудьте поставить ваш бипед перед этим в figure mode. Под нужными костями я понимаю те кости, которые будут реально участвовать в будущей анимации, то есть как-то сдвигаться, поворачиваться или скейлиться. Часто бывает, что в скин добавляют всё что нужно и всё что не нужно. Например рутовую кость (обычно bip01), даммики nub (например Bip01 HeadNub), кость footsteps и т.д. Рутовая кость в скине не нужна, так как есть pelvis, да и к тому же к ней нельзя прискинивать, если в анимации будет использоваться ballance factor (тогда bip01 будет смещаться относительно pelvise). Nub'ы вообще не анимируются и нужны только самому максу для корректной работы бипеда, ну а про футстепсы я вообще молчу. Так же если вы используете твисты (twists), то их основные кости тоже добавлять не надо. Сами твисты разумеется unfreez'ите и добавляете в скин. Кстати, если ваш экспорт позволяет, то добавлять в скин можно не только бипедные кости, но и обычные bones, даммики и геометрические объекты (как я уже писал в статье по созданию скелета biped: c точки зрения скина - это ось или точка, а не геометрическое тело). Далее не забудьте узнать, нужна ли вам неразрывная иерархия в скелете, который вы добавляете в скин (если нужна, то не должно быть непривязанных костей, кроме рутовой). Иерархию в сцене можно посмотреть, нажав на кнопку schematic view. Кроме того, если вы привязываете модель, которая относится только к какой-то определённой группе костей (например штаны) и вам обязательно нужно сохранять иерархию, то следует помнить, что в бипеде есть пара неочевидных вещей: бедренные кости (R Thigh и L Thigh)привязаны не к pelvis а к первому от него позвоночнику (хотя выглядит, что как буд-то бы к пелвису). И второй такой-же момент с шеей и плечами. Плечи в бипеде привязываются не к верхнему позвоночнику, а к шее, хотя наследуют движение от верхнего позвоночника. Зачем было так мудрить - знают только одни разработчики character studio, но факт остаётся фактом. Link constraint за привязку не считается. Вообще же лучше всего, если ваш формат экспортёра позволяет вам делать анимацию на скелетах без иерархии. Это вам многое позволяет. Но не будем углубляться в анимацию, а пойдём дальше по нашей теме.
В скине есть такая вещь как энвелопы (envelopes). Вокруг каждой кости рисуется гизмо, похожее на колбасу, через которое можно настраивать веса точек, попадающих в это гизмо. Энвелопы бывают очень полезны, когда нужно привязывать модель с большим количеством полигонов (highpoly), или очень быстро сделать тестовую привязку lowpoly модели. Но так как нам надо качественно привязать низкополигональную модель, то они нам не подходят, потому что возни с ними много, а результат не всегда адекватен (двигаешь один конец энвелопа, а веса меняются на всех окружающих его точках). Чтобы не вызывать споров, хочу сказать что это моё ИМХО, и если вы с ним не согласны, то привязывайте энвелопами :-). Ну а всем остальным я рекомендую дальше осуществлять поточечную привязку вручную, и сейчас расскажу как это лучше всего сделать.
Ставим галочку на vertex и смело убиваем все веса, которые модифер автоматически назначил от envelopes (выделяете все точки модели и привязываете их к пелвису (pelvis) на 100%). Не сожалейте о них, так как скоро вы сами быстро пройдёте по всем точкам модели и назначите им веса без всяких ошибок. Кстати в восьмом максе для ускорения назначения весов в скине сделали специальную кнопочку с гаечным ключом. Теперь можно отказаться от забивания весов руками в строку Abs Effect. Жмём на weight tool и выделив нужные точки просто щёлкаем на кнопку с нужным коэффициентом.
Чтобы сразу видеть результат привязки и не назначать веса вслепую, очень хорошо сделать небольшую тестовую анимацию, на которой бы было видно как ведёт себя привязка на разных местах сгибов. На нулевом кадре ставим на все кости ключи дублирующие позу привязки (выделяем все кости, жмём на кнопку автокей (auto key)а за одно сразу и на key mode toggle, делаем правый клик на ползунке на кадровой шкале и жмём ОК), а дальше делаем через несколько кадров одну - две позы персонажа, в которых бы ноги и руки сгибались, спина гнулась, голова поворачивалась бы в сторону и т.д. чтобы сразу можно было оценить скининг и правильно выстраивать веса. Ключи можно копировать перетаскиванием с зажатым shift'ом.
Когда тестовая анимация создана, можно спрятать всё кроме самой модели и работать с весами. Начинаем с ног. Выделяем в скине бедренную кость (например Bip01 R Thigh) и все точки, которые хоть на сотую долю будут к ней привязываться. Так же выделяем все точки ноги, к которой относится выбранная кость. Дальше потихоньку начинаем назначать веса. Сначала меньшие (0.1 или 0.2), для точек на которые влияние будет слабее всего. Потом, зажав alt (так чтобы возле курсора появился знак минуса), убираем из выделения эти точки, а для всех остальных делаем вес побольше. Далее снова убираем из выделения точки, для которых нужные веса уже назначены, а для оставшихся продолжаем повышать вес, и таким образом до единицы. Потом выделяем следующую по цепочке кость - Bip01 R Calf (если в максе до 8 версии, то удерживая ctrl, чтобы не потерять selection точек, если в восьмом, то просто кликом - селекшн не потеряется), и таким же образом назначаем веса, начиная со слабых и переходя к сильным, постепенно убирая лишние точки из выделения. Таким образом:
- во-первых мы не потеряем ни одной точки (не будет
непривязанных точек).
- во-вторых не нужно выделять одни и те же точки по нескольку
раз.
- назначать веса удобнее и быстрее.
Когда вся нога привязана, выделяем все её точки, включаем в скине mirror mode и жмём на кнопку с чемоданом (она привязывает противоположные по оси симметрии точки к соответствующим им костям). Бывает так, что точки, имеющие веса на кости pelvis отражаются некорректно - привязываются с теми же весами к той же кости, а не к своей кости. Если такое случилось, то можно выделить все точки c дробными весами между пелвисом и бедренной костью и привязать их на 100% к бедренной кости R Thigh. Потом привязать противоположные точки так же на 100% к их бедренной кости L Thigh. Потом выбрать Pelvis и все точки между ним и обеими бедренными костями и постепенно привязывать их к пелвису, всё так же убирая из выделения точки с малыми весами (те которые ближе к ногам) и повышая веса для всех остальных. Главное следить за симметрией выделения точек.
Все остальные точки выше пояса привязываем по такому же принципу, как я описал выше. Руку привязываем только одну, а на вторую просто мирорим веса с первой. Для плечевой области сделайте разные ключи на руку в разных крайних положениях. Хотя опять же всё зависит от той анимации которая предположительно будет у персонажа. Веса между твистами должны переходить равномерно. На одну кость не рекомендуется больше двух твистов, так как возникает вопрос: зачем? Если вы делаете анимацию в том же файле где и привязку, то вы всегда сможете поправить скининг в тех местах, где допустили неточности. Кроме того всегда можно добавить недостающие кости в список, главное делать это в позе привязки.
Со временем, если вы будете много работать, то сможете качественно привязывать персонажей и без тестовой анимации, а нужные веса будете определять на глаз. Если какие-то моменты остались неясными, то качайте и смотрите видео.
Источник: http://www.3dforge.ru/stati-po-animatsii-v-3ds-max-character-studio/bystryi-i-korrektnyi-skining-v-3ds-max-skin-modifier |