Риггинг и позирование персонажа в Blender

Подписаться на 3Dtoday
Argon
Идет загрузка
Загрузка
27.08.18
2730
7
печатает на Prusa
3D-моделирование
54
Здравствуйте, уважаемые читатели портала 3D Today.
Я уже достаточно давно печатаю и крашу фигурки. Но не всегда можно найти подходящую. Надо двигаться дальше, и вот решил создать интересную фигурку уже не из готовой модели, а из того, что осталось, то есть из заготовок. А заодно и рассказать, как делать Rigging модели в Blender’е.
Риггинг – это процесс создания скелета у 3д модели, при помощи которого впоследствии создаются позы персонажа и анимация.
Также придётся столкнуться с таким понятием как «инверсная кинематика». Это мне напомнило обратную задачу кинематики в робототехнике (я робототехник). Если не вдаваться в научные объяснения в обратной кинематике по положению конечного звена определяются расположения всех остальных звеньев. Например, у нас есть ладонь и по положению ладони Blender автоматически сгибает запястье, локоть и плечо. Это удобно и одновременно позволяет делать позу более естественной.
Итак, что же мне досталось?
Магосы кузней Марса прислали мне СШК файлы из неведомых архивов с изображением ассасина храма Каллидус. Изображения были в формате OBJ были разъединены на отдельные плоскости и с кучей ошибок. Предположительно это модель для модификации какой-то игры из Вархаммера.
Масштаб также был микроскопический, модель была в позе «раскоряки», а лечение её в Netfabbe не давало результата. Поэтому пришлось лечить модели вручную каждую по отдельности, а потом соединять их булевыми операциями. Пистолет и оружие ближнего боя я оставил как отдельные модели. Сохранил модель как STL файл.
988ac726af3fac8308533af0d80a7140.png
1) После этого я импортировал модель в Blender: File – import - .Stl . Перед началом работы важно так спозиционировать модель, чтобы её линия симметрии располагалась на центре координат (это важно).
473c80b812a0ab9c1a0ad2c393301d5b.png
2) Для того чтобы создать скелет нужно нажать Add (Shift + A) – Armature – single bone. Для того, чтобы наш скелет был виден сквозь предметы нужно поставить галочку X-Ray во вкладке Арматуры (рисунок человечка). Также стоит поставить галочку Names там же, чтобы видеть названия костей.
40e4a5f10f3a6239273c7acb4cf3de5f.png
3) Появится маленькая кость в виде пирамидки. Ее можно крутить, масштабировать и перемещать, как и привычный объект в Блендере. В Edit Mode при Экструдировании (E) вытягивается ещё одна новая кость. Для создания кости не связанной с остальными работает комбинация Shift + A. Каждую кость нужно перемещать внутри тела так чтобы она была на своём месте. Это не значит, что у нас должно быть 33 позвонка, но в остальном нужно стараться придерживаться реальной анатомии, повторяя те кости, которые имеют суставы. Коса у нашей девушки тоже должна изгибаться под своим весом, поэтому в ней много костей. Чтобы было более удобно и быстро размещать кости лучше пользоваться ортогональными видами (клавиши Numpad ’а).
b7d3dc6992b42ef0ad606eb2e0fde5ef.png
4) Таким образом, мы прописываем кости везде, где считаем нужным (кроме тех конечностей, которые симметричны).
5) Добавляем к каждой кости имя на вкладке с костями. Это лучше заранее сделать т.к. в скелете риггинга человека несколько десятков элементов, которые будут мешать своими непонятными именами. Симметричные кости нужно именовать по типу «имя».L, где L – обозначает левую кость. Это очень поможет, когда мы будем копировать элементы на правую сторону.
1140a0a68bd8de0aa5202120979be0d1.png
6) Теперь нужно добавить инверсную кинематику. Перейдём на вид сбоку и добавим как бы шпору и отдельную кость около колена.
Для того чтобы кость инверсной кинематики не была соединена ни с одной из костей скелета, выбираем в Edit Mode эту кость, затем Alt + P и Clear parent .
8896a4f2faf91c098d9c144200bc1933.png
Для каждой из созданных костей заходим во вкладку костей и снимаем галочку с Deform. Теперь эти кости не будут деформировать нашу модель при движении.
39d603ee9abcbfe04aa053126c264974.png
7) Выберем кость Foot1.l зажмём Shift и добавим к ней LegIK.L, а затем Make parent (Ctrl + P) и пункт Keep offset. Теперь наша стопа крутиться, если покрутить LegIK.L
5f073839c19baaaf3ad72556cb492d18.png
8) Для добавления инверсной кинематики в режиме Pose Mode выберем кость LegIK.L зажмём Shift и добавим к ней Leg.L, а затем выберем Add constraint (Ctrl + Shift + C) - Inverse Kinematics. Кость ноги при этом окрасится в желтоватый цвет.
bef137e2415aacd85e73fe5623ca5117.png
9) Выберем жёлтую кость и зайдём во вкладку ограничений и настроим инверсную кинематику, установим Chain Length – 2, то есть наша кость инверсной кинематики будет увлекать за собой 2 кости. Также чтобы наша нога могла поворачиваться из стороны в сторону, сделаем ограничение Pole Target – Armature – Target . L. Попробуем согнуть нашу ногу за LegIK.L. Если нога сгибается неправильно, возможно, следует поиграться с параметром Pole Angle .
Сделаем таким же образом ещё и руку и косу.
3b9f1433969175cee3a6a7be05acc28d.png
10) Сделаем зеркальную копию нашей ноги. Для этого перейдём на вид спереди (клавиша 1) и заменим Центр вращения на 3д курсор и поместим сам курсор в начало координат зажав Shift + S и выбрав Cursor to center.
e3ca3bf24f2cd39af47151084dc28c15.png
После чего в Edit Mode выберем все наши кости для копирования и нажмём следующую волшебную комбинацию: Shift+D , S , X , -1, Enter . Теперь наши кости продублировались, и чтобы написать им правильные имена не снимая выделения с них, зайдём в меню Armature – Flip Names.
11) После того как все кости созданы, соединим их между собой: Выберем кость бедра в Edit Mode затем, затем зажмём Shift и добавим Spine3, выполним операцию Make parent (Ctrl + P) – Keep offset
dffdf8fcc207623e7fe3fdddc06df568.png
У вас всё правильно, если при сдвиге костей позвоночника ноги сами сдвигаются и картинка соединения похожа на такую:
4ddfa96035d0a1afc5b8a408e78baded.png
12) Выберем в Object Mode наше тело, затем через Shift скелет и нажмём на Set parent to (Ctrl+P) - Armature Deform - With Automatic Weights. Теперь наша модель соединена со скелетом и при движении костей она будет деформироваться, но не всегда правильно.
7ef7105b5b450aa6986ff2af938e2813.png
13) Теперь выберем нашу модель и перейдём в режим Weight Painting, где начнём раскрашивать веса.
ac6919e65843edd26d00121d485b56cb.jpg
Вот так выглядит кость с автоматически проставленными весами. Как мы видим тут цветовая палитра от красного к синему. Красные части строго следуют за моделью, а на синие части влияние у кости отсутствует. При промежуточных цветах происходит деформация полигонов при движении.
5cb024479d2131cefae6318d1a2c481d.jpg
Раскрашивать нашу модель следует так: красным - там где нет деформации при движении, например грудная клетка, а также всякие навесные элементы, как подсумки. ремешки, бляхи и пр. Промежуточными цветами нужно красить места сочленения костей, стараясь сделать переход как можно более плавным.
2def693cfab6faafa59f391946ed595e.png
Есть кисточки, которыми мы будем раскрашивать нашу модель:
5272470cfe17a1d6addba1f5770f3b10.jpg
Две самые часто распространённые кисти это Mix и Blur. Первая кисть лучше подходит для покраски вершин в нужный цвет. Вторая кисть лучше всего подходит для растушёвывания цвета, т.е. для создания плавных переходов.
Параметр Weight – это сила закрашивания вершин, Для кисти Mix: 0 – синий цвет, 1 – красный. Radius – размер кисти, хотя я предпочитаю масштабировать саму модель, а не менять её размер. Strength – отвечает за силу применения эффекта кисти (я её не трогал при работе).
То, что я пометил стрелочкой - это и есть сама кисть, т.е. курсор превращается в такой вот кружочек.
Самая распространённая новичковая ошибка при распределении весов – это случайная покраска весом совершено не соответсвующей части тела. Поэтому если вдруг у вас при сгибании руки внезапно деформируется также пятно на животе – ищите в костях руки покрашенное пятно и убирайте его.
Как понять, что вы всё сделали правильно? Да очень просто (ирония)– нужно лишь проверить каждую кость, крутя её в Pose Mode и наблюдая, есть ли неестественная деформация. И справлять, исправлять, исправлять! Процесс не то чтобы сложный, но скорее муторный, если модель имеет много костей.
Поэтому запасаемся терпением и красим каждую кость.
И это ещё не всё! У нас также есть 2 оружия, которые существуют отдельно от нашей модели. Для того чтобы исправить это подведём их в те места, где они должны располагаться, а потом в Object mode выбираем наш предмет, и жмём Add constraint (Ctrl + Shift + C) - Child Of .
В этом ограничении стоит указать нужную кость: Target – Armature , Bone – Palm.L, т.к. крепится пистолет будет к кости ладони.
Если наш предмет внезапно пропал из виду, нужно нажать Set Inverse.
3d75a653679b20d4c7e46328cf515b04.jpg
Теперь при движении наши предметы будут следовать за руками. Проделаем ту же операцию и с ножом.
Осталось только правильно расположить нашего персонажа, просто передвигая кости. Для того, чтобы поза получилась естественной, попрактикуйтесь перед зеркалом (это реально помогает прочувствовать, на сколько куда и что нужно повернуть).
Если Вы сделали что-то не так, то выделите в режиме Pose Mode нужные кости и выберите Pose - Clear Transform – All. Это вернёт их в первоначальное положение.
f9aebced09c337eac5238e704750e9a0.png
В получившейся позе я специально сделал 1 ногу выше другой, чтобы она опиралась на бортик подставки, которую я замоделил во Fusion 360.
830aed20e152f121a455bc1e2551aa34.jpg
Я опасался, что руки выйдут кривыми, но вот такие кулачки у меня получились, пока я загибал пальчики один за другим:
512ea6f999a8ef85170758fa574407d3.png
b501409086fe148c67e22cb3d34ced47.png
В конце получился вот такой вот пафосный ассасин, которого я конечно же буду печатать, красить и дорабатывать.
PREVIEW
Долго не решался делать риггинг, ибо первые попытки были не сильно удачными, но я надеюсь, что эта статья покажет, что это не так сложно и не так страшно.
Подписаться на 3Dtoday
54
Комментарии к статье

Комментарии

27.08.18 в 13:01
0
Чтож... познавательная статья...
27.08.18 в 13:16
0
Спасибо))
Кажеся на Тудее такой ещё не было))
27.08.18 в 17:41
0
Нет, не было. Обычно кинематика движения персонажей обычно отходит на второй план по сравнению с экструзией, деламинацией и "посмотри что я напечатал". Статья интересна, но для осмысления требуется повторить на практике. Еще бы была бы из серии создание живых существ для полных "художников" (от слова - худо:) ). Теперь хоть коллекцию автокадовских раскоряк можно будет привести в нормальное положение. :))
28.08.18 в 07:51
0
Чтобы испытывать меньше боли при создании рига персонажа, лучше использовать аддон Rigify. Он позволит сделать более "естественные" сгибы и просто будет проще для освоения большинству. Делать риг самому, конечно, необходимо научиться, но это более сложный уровень.
28.08.18 в 14:34
0
лучше использовать аддон Rigify.
Нашёл иллюстрированную доку вот тут:

http://blender3d.org.ua/forum/animation/iwe/upload/Rigify.pdf
Вот теперь - можно аргументированно сравнить "сложность" - того и другого подхода.

Видосы по риггингу - вот тут, их авторы - другие:
https://youtu.be/PDLZRRGxvAs
https://youtu.be/dYiAd_08-0k
https://youtu.be/1-5ZR45y9RM
28.08.18 в 19:05
0
вот это интересное уточнение, спасибо))

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

XpreSki-11.8: Про Octoprint 2.0.0 - из первых уст Джины, с приветом от Томаса

Компания HRE Wheels занялась 3D-печатью титановых автомобильных колес

История одной вывески

Новинки XYZprinting на IMTS 2018: 3D-принтеры и роботы

Вернули голову на место: новосибирские хирурги провели уникальную операцию

АО «Полема» получило серебряную медаль отраслевой выставки «Металл-Экспо 2018»