Как связать кости в blender

Обновлено: 24.04.2024

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Я уже достаточно давно печатаю и крашу фигурки. Но не всегда можно найти подходящую. Надо двигаться дальше, и вот решил создать интересную фигурку уже не из готовой модели, а из того, что осталось, то есть из заготовок. А заодно и рассказать, как делать Rigging модели в Blender’е.

Риггинг – это процесс создания скелета у 3д модели, при помощи которого впоследствии создаются позы персонажа и анимация.

Также придётся столкнуться с таким понятием как «инверсная кинематика». Это мне напомнило обратную задачу кинематики в робототехнике (я робототехник). Если не вдаваться в научные объяснения в обратной кинематике по положению конечного звена определяются расположения всех остальных звеньев. Например, у нас есть ладонь и по положению ладони Blender автоматически сгибает запястье, локоть и плечо. Это удобно и одновременно позволяет делать позу более естественной.

Итак, что же мне досталось?

Магосы кузней Марса прислали мне СШК файлы из неведомых архивов с изображением ассасина храма Каллидус. Изображения были в формате OBJ были разъединены на отдельные плоскости и с кучей ошибок. Предположительно это модель для модификации какой-то игры из Вархаммера.

Масштаб также был микроскопический, модель была в позе «раскоряки», а лечение её в Netfabbe не давало результата. Поэтому пришлось лечить модели вручную каждую по отдельности, а потом соединять их булевыми операциями. Пистолет и оружие ближнего боя я оставил как отдельные модели. Сохранил модель как STL файл.


1) После этого я импортировал модель в Blender: File – import — .Stl . Перед началом работы важно так спозиционировать модель, чтобы её линия симметрии располагалась на центре координат (это важно).


2) Для того чтобы создать скелет нужно нажать Add (Shift + A) – Armature – single bone. Для того, чтобы наш скелет был виден сквозь предметы нужно поставить галочку X-Ray во вкладке Арматуры (рисунок человечка). Также стоит поставить галочку Names там же, чтобы видеть названия костей.


3) Появится маленькая кость в виде пирамидки. Ее можно крутить, масштабировать и перемещать, как и привычный объект в Блендере. В Edit Mode при Экструдировании (E) вытягивается ещё одна новая кость. Для создания кости не связанной с остальными работает комбинация Shift + A. Каждую кость нужно перемещать внутри тела так чтобы она была на своём месте. Это не значит, что у нас должно быть 33 позвонка, но в остальном нужно стараться придерживаться реальной анатомии, повторяя те кости, которые имеют суставы. Коса у нашей девушки тоже должна изгибаться под своим весом, поэтому в ней много костей. Чтобы было более удобно и быстро размещать кости лучше пользоваться ортогональными видами (клавиши Numpad ’а).


4) Таким образом, мы прописываем кости везде, где считаем нужным (кроме тех конечностей, которые симметричны).

5) Добавляем к каждой кости имя на вкладке с костями. Это лучше заранее сделать т.к. в скелете риггинга человека несколько десятков элементов, которые будут мешать своими непонятными именами. Симметричные кости нужно именовать по типу «имя».L, где L – обозначает левую кость. Это очень поможет, когда мы будем копировать элементы на правую сторону.


6) Теперь нужно добавить инверсную кинематику. Перейдём на вид сбоку и добавим как бы шпору и отдельную кость около колена.

Для того чтобы кость инверсной кинематики не была соединена ни с одной из костей скелета, выбираем в Edit Mode эту кость, затем Alt + P и Clear parent .


Для каждой из созданных костей заходим во вкладку костей и снимаем галочку с Deform. Теперь эти кости не будут деформировать нашу модель при движении.


7) Выберем кость Foot1.l зажмём Shift и добавим к ней LegIK.L, а затем Make parent (Ctrl + P) и пункт Keep offset. Теперь наша стопа крутиться, если покрутить LegIK.L


8) Для добавления инверсной кинематики в режиме Pose Mode выберем кость LegIK.L зажмём Shift и добавим к ней Leg.L, а затем выберем Add constraint (Ctrl + Shift + C) — Inverse Kinematics. Кость ноги при этом окрасится в желтоватый цвет.


9) Выберем жёлтую кость и зайдём во вкладку ограничений и настроим инверсную кинематику, установим Chain Length – 2, то есть наша кость инверсной кинематики будет увлекать за собой 2 кости. Также чтобы наша нога могла поворачиваться из стороны в сторону, сделаем ограничение Pole Target – Armature – Target . L. Попробуем согнуть нашу ногу за LegIK.L. Если нога сгибается неправильно, возможно, следует поиграться с параметром Pole Angle .

Сделаем таким же образом ещё и руку и косу.


10) Сделаем зеркальную копию нашей ноги. Для этого перейдём на вид спереди (клавиша 1) и заменим Центр вращения на 3д курсор и поместим сам курсор в начало координат зажав Shift + S и выбрав Cursor to center.


После чего в Edit Mode выберем все наши кости для копирования и нажмём следующую волшебную комбинацию: Shift+D , S , X , -1, Enter . Теперь наши кости продублировались, и чтобы написать им правильные имена не снимая выделения с них, зайдём в меню Armature – Flip Names.

11) После того как все кости созданы, соединим их между собой: Выберем кость бедра в Edit Mode затем, затем зажмём Shift и добавим Spine3, выполним операцию Make parent (Ctrl + P) – Keep offset


У вас всё правильно, если при сдвиге костей позвоночника ноги сами сдвигаются и картинка соединения похожа на такую:


12) Выберем в Object Mode наше тело, затем через Shift скелет и нажмём на Set parent to (Ctrl+P) — Armature Deform — With Automatic Weights. Теперь наша модель соединена со скелетом и при движении костей она будет деформироваться, но не всегда правильно.


13) Теперь выберем нашу модель и перейдём в режим Weight Painting, где начнём раскрашивать веса.


Вот так выглядит кость с автоматически проставленными весами. Как мы видим тут цветовая палитра от красного к синему. Красные части строго следуют за моделью, а на синие части влияние у кости отсутствует. При промежуточных цветах происходит деформация полигонов при движении.


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


Есть кисточки, которыми мы будем раскрашивать нашу модель:


Две самые часто распространённые кисти это Mix и Blur. Первая кисть лучше подходит для покраски вершин в нужный цвет. Вторая кисть лучше всего подходит для растушёвывания цвета, т.е. для создания плавных переходов.

Параметр Weight – это сила закрашивания вершин, Для кисти Mix: 0 – синий цвет, 1 – красный. Radius – размер кисти, хотя я предпочитаю масштабировать саму модель, а не менять её размер. Strength – отвечает за силу применения эффекта кисти (я её не трогал при работе).

То, что я пометил стрелочкой — это и есть сама кисть, т.е. курсор превращается в такой вот кружочек.

Самая распространённая новичковая ошибка при распределении весов – это случайная покраска весом совершено не соответсвующей части тела. Поэтому если вдруг у вас при сгибании руки внезапно деформируется также пятно на животе – ищите в костях руки покрашенное пятно и убирайте его.

Как понять, что вы всё сделали правильно? Да очень просто (ирония)– нужно лишь проверить каждую кость, крутя её в Pose Mode и наблюдая, есть ли неестественная деформация. И справлять, исправлять, исправлять! Процесс не то чтобы сложный, но скорее муторный, если модель имеет много костей.

Поэтому запасаемся терпением и красим каждую кость.

В этом ограничении стоит указать нужную кость: Target – Armature , Bone – Palm.L, т.к. крепится пистолет будет к кости ладони.

Если наш предмет внезапно пропал из виду, нужно нажать Set Inverse.


Теперь при движении наши предметы будут следовать за руками. Проделаем ту же операцию и с ножом.

Осталось только правильно расположить нашего персонажа, просто передвигая кости. Для того, чтобы поза получилась естественной, попрактикуйтесь перед зеркалом (это реально помогает прочувствовать, на сколько куда и что нужно повернуть).

Если Вы сделали что-то не так, то выделите в режиме Pose Mode нужные кости и выберите Pose — Clear Transform – All. Это вернёт их в первоначальное положение.


В получившейся позе я специально сделал 1 ногу выше другой, чтобы она опиралась на бортик подставки, которую я замоделил во Fusion 360.


Я опасался, что руки выйдут кривыми, но вот такие кулачки у меня получились, пока я загибал пальчики один за другим:



В конце получился вот такой вот пафосный ассасин, которого я конечно же буду печатать, красить и дорабатывать.


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

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

В этом уроке вы узнаете, как создать базовый риг для персонажа в Blender. Несмотря на то, что в Blender существует аддон Rigify позволяющий автоматизировать процесс создания ригга для двуногих, вам не помешают знания по созданию скелета и инверсной кинематики самостоятельно. В конце урока мы соединим арматуру с меш-объектом и настроим веса для вершин.

Для выполнения данного урока вам понадобится персонаж. Можете использовать того, что прилагается к уроку или воспользоваться собственным (так даже лучше будет).

Финальный результат

  • Синий – нет воздействия (0)
  • Зеленый – 50% воздействия (0.5)
  • Красный – 100% воздействия (1)

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

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


Проверяйте работу всех прилегающих костей на предмет корректной деформации меша.

В местах изгибов две кости могут воздействовать на одни и те же вершины. Старайтесь равномерно распределять между ними веса, чтобы сумма всех весов была равна 1. Например, 0.5 для одной кости и 0.5 для другой. Это даст наилучшие результаты.


Вы также можете редактировать сам меш в режиме редактирования для достижения лучших результатов деформации.


Проверьте работу всех костей и настройте веса для достижения наилучшего результата. В этом вся суть ригга (или лучше скиннига). Чем лучше распределены веса, тем качественнее и правильнее деформации персонажа.




Вот собственно и все! Персонаж готов к анимации 🙂

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

Путем добавления скелетной системы к объекту, этот объект может быть деформирован так, что геометрия не должны быть анимирована вручную.

Для более подробной информации использования скелета смотри Эту главу.

Опции¶


Имя объекта скелета которое будет использовать этот модификатор.

Использование кватернионов для сохранения объема объекта в процессе деформации. Это может быть лучшим вариантом во многих ситуациях.

Имя группы вершин объекта, веса которых будут использованы для определения влияния модификатора на вершины.

Смысл только при наличии по крайней мере двух из этих модификаторов на один и тот же объект с включенной опцией Мультимодификатор

Инвертирует влияния установленных группой вершин, определенные в предыдущий параметре (т. е. инвертирует значения веса этой группы).

Использует те же данные, что предыдущий модификатор (обычно такой же модификатор Скелет) в качестве входных данных. Это позволяет вам использовать несколько скелетов для деформации одного и того же объекта, все они основаны на “недеформированных” данных (т. е. это избавляет от необходимости второго модификатора скелет).

Результаты модификаторов скелет затем смешиваются вместе, используя весы группы вершин как “смесь направляющих”.

Способ для привязки скелета к полисетке.

Когда эта функция включена, кости с заданным именем будут деформировать вершины, которые принадлежат к группе вершин с одноименным названием.

Когда эта функция включена, кости будут деформировать вершины рядом с ними (определяется для каждой кости оборачивающим радиусом) включить/отключить обертку костей для определения деформации (т. е. деформации костей вершин в своем районе).

Модификаторы скелета могут быть быстро добавлены к объектам с помощью ( Ctrl-P ) если активный объект является скелетом.


Как прикрепить кости 1 и 2 в точке 3? Через Ctrl-P в Edit Mode они почему-то накладываются друг на друга.

Выглядит немного странно. Попробуй присоединять кости с помощью ctrl-j, потом в edit mode на вкладке в окне properties > bone > relations на вкладке parent установить взаимоотношения между костями.

В том-то и дело, что они по Ctrl-j не соединяются. А свойство parent у костей 1 и 2 уже заполнены.

задай основную кость и к ней крепи Оо

  • Для ответа в этой теме необходимо авторизоваться.

Авторизация

blender course

Рубрики

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

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

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.

Из данного урока Вы научитесь создавать простой ригг на примере низкополигонального динозавра. Данный урок является логическим продолжением первых двух частей по моделированию и текстурированию динозавра в Blender.

Видеоурок

Текстовая версия

Создание арматуры

Добавьте в сцену кость (Shift + A — Armature — Single Bone). Расположите ее по центру корпуса динозавра и отметьте в меню Display пункт X-Ray, чтобы кости было видно сквозь меш:

При помощи экструдирования кости в режиме редактирования создайте еще 3 кости как показано на изображении:

Установите 3D-курсор в том месте, где начинается хвост и нажмите Shift + A. Так как мы уже находимся в режиме редактирования арматуры, то автоматически создастся новая кость. Для хвоста, также при помощи экструдирования и перемещения, создайте еще две кости:

Такая же процедура и для ноги:

Теперь необходимо создать управляющие кости. Для стопы проэкструдируйте ее из ноги (я назвал ее IK.L), а для колена создайте новую кость перед ногой динозавра (knee.L):

Хорошей практикой при создании риггинга является давать осмысленные имена костям. В меню Display отметьте пункт Names, чтобы отобразить имена костей для окна 3D-вида и затем выделяя каждую кость, на ее вкладке дайте ей осмысленное название.

rigg6


Сейчас необходимо отключить связь кости IK.L от остальных. Для этого выделите ее в режиме редактирования и нажмите Alt + P — Clear Parent. Теперь мы можем свободно ее перемещать в режиме Pose Mode.

Также необходимо отключить меню Deform для управляющих костей, чтобы после связи арматуры с мешем данные кости не участвовали в создании групп вершин. Выделите по очереди кости IK.L и knee.L и снимите галочку с меню Deform:

Для того, чтобы мы имели возможность вращать стопу, выделите ее (foot.L, режим редактирования), затем с помощью Shift выделите кость IK.L и нажмите Ctrl + P — Keep Offset. Теперь Вы можете вращать кость IK.L в режиме Pose Mode и она будет управлять стопой:

После того как мы создали управление стопой, приступим к созданию управления всей ногой. Оставаясь в режиме Pose Mode выделите IK.L и с помощью Shift ближайшую к ней кость ноги:

Нажмите Ctrl + Shift + C и в появившемся меню выберите ограничитель Inverse Kinematicks. Перейдите на появившеюся вкладку Bone Constraint и установите параметр Chain Length равным количеству костей в ноге (в данном случае 3).

Также нога должна вращаться в области коленного сустава. Для этого укажите в качестве управляющей кости knee.L на вкладке ограничителя. Как только Вы укажите данную кость, колено динозавра может вывернутся в произвольную сторону. Регулируя параметр Pole Angle верните колено в исходное положение:

Выделив кости IK.L и начав перемещать ее, Вы увидите результат работы:

Теперь все кости левой ноги нужно продублировать для правой. Для этого в режиме редактирования выделите все кости с окончанием .L. Установите 3D-курсор строго по центру динозавра и измените центр вращения на 3D-cursor:

Чтобы скопировать кости на правую сторону наберите Shift + D — S — X — (-1) — Enter. К продублированным костям в конце прибавится .001. Перейдите в меню Armature и выберите пункт Flip Names. Как видите, ко всем правым костям в конце добавилось .R:

Применение скелета к мешу

На этом создание простого скелета завершено и мы можем применить его к мешу. Перейдите в объектный режим, выделите меш, затем арматуру и нажмите Ctrl + P — With Automatic Weights. Данная опция автоматически создаст группу вершин для каждой кости и назначит вершинам вес. Если результат работы данной функции Вас не устроит, вы всегда сможете отредактировать группы в режиме Weight Paint:

Поигравшись со всеми костями в режиме Pose Mode мы заметим, что при перемещении кости body динозавр ведет себя немного неестественно:

Необходимо сделать так, чтобы вместе с корпусом опускался хвост и сгибались ноги. Для этого выделите в режиме редактирования кости leg.L, leg.R, tail и последней кость body. Нажмите Ctrl + P — Keep Offset. Теперь наш динозавр умеет приседать:

Финальные штрихи

Напоследок создадим управляющую кость, которая будет перемещать и меш и арматуру и изменим внешний вид костей для красоты и удобства (по желанию).

Добавьте еще одну кость внизу динозавра и привяжите к ней все управляющие кости и кость body (Ctrl + P — Keep Offset):

Чтобы изменить внешний вид костей knee.L, knee.R и той, которую мы только что добавили, создайте на отдельном слое любые меш объекты и затем укажите использовать их в качестве костей. Также можете отключить отображение пунктирных линий связи, если они Вам мешают в меню Display:

На этой все! В четвертой части серии уроков я покажу как создать анимацию ходьбы с помощью данного ригга ;)

В этом уроке вы узнаете, как создать базовый риг для персонажа в Blender. Несмотря на то, что в Blender существует аддон Rigify позволяющий автоматизировать процесс создания ригга для двуногих, вам не помешают знания по созданию скелета и инверсной кинематики самостоятельно. В конце урока мы соединим арматуру с меш-объектом и настроим веса для вершин.

Для выполнения данного урока вам понадобится персонаж. Можете использовать того, что прилагается к уроку или воспользоваться собственным (так даже лучше будет).

Финальный результат

  • Синий — нет воздействия (0)
  • Зеленый — 50% воздействия (0.5)
  • Красный — 100% воздействия (1)

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

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


Проверяйте работу всех прилегающих костей на предмет корректной деформации меша.

В местах изгибов две кости могут воздействовать на одни и те же вершины. Старайтесь равномерно распределять между ними веса, чтобы сумма всех весов была равна 1. Например, 0.5 для одной кости и 0.5 для другой. Это даст наилучшие результаты.


Вы также можете редактировать сам меш в режиме редактирования для достижения лучших результатов деформации.


Проверьте работу всех костей и настройте веса для достижения наилучшего результата. В этом вся суть ригга (или лучше скиннига). Чем лучше распределены веса, тем качественнее и правильнее деформации персонажа.




Вот собственно и все! Персонаж готов к анимации :)


Риггинг необходим для анимации и симуляции физики в Blender, но обычно это делается для того, чтобы иметь возможность анимировать модель, такую как например человеческое тело. Такелаж дает четкую модель артикуляции в нужных точках определенным образом, обычно для имитации работы скелета. Прежде чем приступить к установке модели, вам нужно подумать о том, какие части должны двигаться и каким образом. Например, если это ноутбук, единственное, что должно быть в движении, в нашем случае вращение, — это экран, когда ноутбук открывается или закрывается.

Создание каракаса


Когда ваша модель готова, откройте Blender. Обратите внимание, что мы будем использовать Blender 2.8 для этого урока, хотя шаги не должны сильно отличаться для предыдущих версий Blender.

Сначала нам нужно создать каркас:

  1. Выберите модель, затем перейдите в режим объекта.
  2. Нажмите «Ctrl + Numpad 3», чтобы перейти в вид сбоку.
  3. Выберите вид каркаса.
  4. Нажмите «Shift + A», чтобы добавить каркас. Поздравляем, теперь у вас есть основная кость для вашей модели!

Каркас — это в основном набор костей. Это «основа » для всей вашей оснастки модели.

Установка и добавление костей


С первой созданной костью, пришло время поместить ее в центр нашей модели.

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

Для следующего шага нам нужно создать больше костей:

  1. Выберите кончик кости и нажмите «Shift + E». После этого из наконечника будет вытеснена новая кость, и вы сможете расположить ее рядом с первой сделанной костью.
  2. Продолжайте делать это для всех костей в скелете модели. Для человеческого тела вы захотите подняться на грудную клетку, пока не достигнете шеи.

Риггинг костей


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

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

Воспитание кости очень просто:

  1. Выберите кость, которую вы хотите использовать в качестве родителя.
  2. Нажмите на иконку кости в правом меню Blender. В разделе «Отношения » вы увидите поле с надписью «Родитель ».
  3. Нажмите на пустое место в коробке и выберите кость, которую вы хотите стать ее «дочерью ».

Разъяснение еще проще: просто зайдите в тот же ящик и удалите текущую родительскую кость, если она есть.

Зеркальное отражение костей


Для тех из вас, кто работает с очень сложными, но симметричными моделями, есть быстрый способ сделать кости симметричными без необходимости делать их с нуля:

  1. Перейдите в режим объекта и выберите свой скелет.
  2. Войдите в режим редактирования и выберите кости, которые вы хотите отразить.
  3. Щелкните правой кнопкой мыши и выберите «Symmetrize ».

Именование костей


А теперь последний шаг: именование.

Чтобы назвать или переименовать кость, вы можете просто щелкнуть по ней и настроить имя в меню костей, расположенном справа, по умолчанию. Назовите каждую кость после места в вашей модели, к которому она принадлежит. Для зеркально отраженных костей вы должны добавить к имени». L» или». R», чтобы сообщить Blender, к какой стороне (левой или правой) принадлежит эта кость.

Если вы только начинаете работать с Blender, вы найдете эти учебники Blender 2.8 полезными.

Читайте также: