May 18, 2020

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

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

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

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

Импортируйте персонажа в новую сцену (File → Append). Также расположите 3D-курсор в центре оси координат.

Добавьте в сцену арматуру.

Чтобы видеть кости внутри персонажа без перехода в режим Wireframe отметьте опцию X-Ray в меню Display на вкладке Object Data.

Перейдите на вид сбоку, в режим редактирования арматуры и отодвиньте кость в сторону по оси Y.

Поверните кость на 90° и расположите ее в районе талии, как на изображении ниже.

Выделите верхушку кости и проэкструдируйте из нее новую (E).

Продолжаем экструдировать еще две кости (грудная клетка и шея).

Создаем еще одну кость для головы. На виде сбоку мы пытаемся повторить форму скелета человека, но на виде спереди должна сохраняться прямая линия.

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

Дайте осмысленные имена всем созданным костям. Основную назовите Base (остальные pelvis, stomach, chest, neck и head).

Чтобы видеть имена костей в окне 3D-вида отметьте опцию Names в меню Display.

Разместите 3D-курсор в том месте, где должна начинаться бедренная кость и нажмите Shift + A. В режиме редактирования данное сочетание клавиш создаст новую кость.

Расположите ее соответствующим образом.

Продолжаем экструдировать кости ног.

Еще две кости для ступни и пальцев.

Дайте осмысленные имена костям ног (thigh.l, lowerleg.l, foot.l, toe.l). При создании имен используйте суффикс .l или .L. Благодаря этому Blender будет знать, что данные кости относятся к левой части персонажа, что упростит задачу при создании костей и их имен для правой части.

Выделите кость thigh.l и привяжите ее к кости pelvis. Также, убедитесь, чтобы опция Connected была отключена.

Расположите 3D-курсор в районе ключицы и создайте новую кость (Shift + A).

Расположите ее должным образом.

Начините экструдировать из нее кость руки и предплечья.

На виде сверху должна сохраняться прямая линия.

Дайте костям осмысленные имена (collar.l, upperarm.l и lowerarm.l).

Выделите кость collar.l и привяжите ее к кости chest. Также, убедитесь, чтобы опция Connected была отключена.

Проэкструдируйте кость для кисти.

Создайте три кости для среднего пальца.

Выделите все три кости пальца, продублируйте их и расположите в соответствии с остальными.

Пунктирные линии указывают но то, что между вновь созданными костями и костью кисти существует связь родитель-потомок.

Дайте костям осмысленные имена (palm.l, f1a.l, f1b.l, f1c.l…).

Создайте кости для большого пальца и также дайте им имена (ta.l, tb.l, tc.l).

На данный момент мы закончили создавать деформирующие кости для левой части персонажа. Вернитесь в объектный режим и расположите 3D-курсор в центре оси координат (и в центре арматуры соответственно).

Снова перейдите в режим редактирования и выделите все кости имеющие суффикс l.

Продублируйте данные кости и оставьте их в том же положении (Shift + D).

Измените точку вращения на 3D-курсор.

В меню Armature выберите опцию X Local.

После того, как продублированные кости отразятся по оси X, к их суффиксам добавятся надписи .l.001. Нажмите W и выберите опцию Flip Names. Данная опция изменит все надписи .l.001 на .r.

Теперь все деформирующие кости созданы.

В режиме позирования (Pose Mode) можно увидеть текущий результат работы созданного вами скелета. После манипуляций с костями верните их в исходное состояние (Alt + G и Alt + R).

Теперь создадим инверсную кинематику (IK) для ног. Перейдите в режим редактирования арматуры и отметьте опцию X-Axis Mirror на вкладке Options.

Проэкструдируйте новую кость.

Назовите новые кости ik-leg.l и ik-leg.r. Также разорвите связь с родительской костью и снимите галочку с пункта Connected. Благодаря этому наша кость будет перемещаться независимо от остальных.

Из кости foot продублируйте новую и расположите ее перед коленом персонажа (верните точку вращения на median point для удобства работы). Назовите две новые кости knee.l и knee.r и укажите в качестве родителей для них кости ik-leg.l и ik-leg.r соответственно.

Перейдите в режим позирования и выделите кость lower-leg.l.

Назначьте для нее ограничитель Inverse Kinematics.

Установите для ограничителя следующие параметры.

После этого кости с большой вероятностью повернуться в сторону. Вернуть их в исходное положение можно с помощью параметра Pole Angle.

Теперь проделайте аналогичные операции для другой ноги.

В режиме позирования проверьте результат работы (после верните кости в исходное состояние).

Перейдите в режим редактирования арматуры и расположите 3D-курсор между ног персонажа.

Создайте новую кость и назовите ее root. Это будет основная кость всего ригга и перемещая ее мы будем перемещать персонажа по сцене.

Расположите ее горизонтально.

Привяжите кости инверсной кинематики и кость base к кости root.

Снова можете проверит результат работы ригга в режиме позирования. После всех манипуляций верните все в исходное состояние (Alt + G, Alt + R).

В режиме редактирования арматуры поочередно выделите все не деформирующие кости (ik-leg.l, ik-leg.r, knee.l, knee.r, base и root) и отключите для них опцию Deform. Данные кости помогают управлять риггом и никак не будут деформировать сам меш.

Вернитесь в объектный режим.

Выделите модель персонажа, затем с зажатой клавишей Shift арматуру, нажмите Ctrl + P и выберите пункт With Automatic Weights. Blender автоматически создать столько групп вершин, сколько деформирующих костей содержит указанная арматура и назначит для них веса оптимальным образом (с его точки зрения :) ).

Теперь в режиме позирования при вращении костей происходит и деформация меша.

Помимо всего вышесказанного, опция With Automatic Weights создает модификатор Armature для меша.

На вкладке Object Data вы можете найти все группы вершин. Их имена соответствуют именам костей.

При деформации персонажа можно заметить, что он деформируется не наилучшим образом. Исправить это можно в режиме Weight Painting изменив значения весов для нескольких групп вершин.

Измените способ отображения костей.

Выделите меш и включите для него отображение сетки (wire).

Выделите арматуру и перейдите в режим позирования. С зажатой клавишей Shift выделите меш и перейдите в режим Weight Paint.

На панели инструментов укажите назначаемый кистью вес (Weight), силу воздействия (Strength) и активируйте зеркальность работы кисти по оси X (X-Mirror).

Выделив любую из костей вы увидите текущие веса ее группы вершин.

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

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

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

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

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

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

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

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

источник урока