Использование Blender и Rigify
Теперь к Blender прилагается бесплатное дополнение Rigify, которое предоставляет вашим моделям гуманоидный риг, который будет работать с Mecanim. Это очень полезно для начинающих и казуальных игроделов.
Это руководство покажет вам, как сделать риг для вашей 3D модели при помощи Rigify и импортировать её в Mecanim Unity 4. Rigify генерирует полный риг для вашей модели и, путём использования основы в виде шаблона, вы сможете переделать его в хороший простой риг для гуманоидных персонажей. Вам следует начать с включения Rigify через Blender, чтобы вы могли воспользоваться его функционалом. Оттуда вы импортируете вашу 3d модель и начинаете корректно устанавливать вашу модель и основу, чтобы в дальнейшем избежать проблем. Как только всё будет настроено, вы сможете расположить кости и сгенерировать главный риг. Самая сложная часть, это привязка меша к костям, которые вы хотите использовать и проверка того, что они соединены корректно, и, наконец (после небольшой проверки и полировки), вы сможете импортировать модель в Unity.
Вот что вам понадобится:
- Unity
- Blender
- 3D модель гуманоида (MakeHuman очень полезная программа, если вам нужна помощь с моделированием).
Включите Rigify
Для начала вам нужно убедиться, что плагин Rigify установлен и включён в Blender:
- Проследуйте по пути File > User preferences.
- Выберите вкладку Addons и промотайте на самый низ и включите флажок рядом с “Rifify”
- Нажмите “Save as default”
Это активирует дополнение и позволит вам получить доступ к необходимым кнопкам и функциям. Установка этого по умолчанию включит Rigify во все ваши будущие проекты.
Настройка основы
Возьмите базовый риг гуманоида, который Rigify будет использовать как шаблон. Этот риг очень простой, но он позволит Rigify построить себя вокруг относительных позиций костей.
- Проследуйте по пути Add > Armature (Human)
- Убедитесь, что и основа и модель центрированы на 0,0,0
- Если вы масштабировали или двигали модель, убедитесь, что сбросили значения масштаба и/или смещения и у основы и у модели.

- Перейдите в режим изменения (Edit mode) (нажмите Tab)

- Начните размещать кости в их соответствующих местах на модели
- Используйте “X-Ray”, чтобы смотреть на кости сквозь модель
- Как только завершите, вернитесь обратно в объектный режим.
- Сместите основу в сторону, чтобы она не стояла на пути. (Если вы используете Make Human, возможно вы захотите соединить несколько разных мешей в один целый. Сделать это можно выбрав все меши и нажав CTRL + J)
Генерация рига
- Выбрав основу нажмите на вкладку Object data с самого права.
- В “Rigify Buttons” нажмите Generate.

- Переключитесь в режим позы (Pose mode) и сделайте следующее:

- Нажмите кнопку (А), чтобы выбрать риг и затем нажмите кнопку (H), чтобы скрыть ненужные слои.
- Нажмите на ниже слоя основы с зажатым SHIFT.

Это раскроет кости деформации. Кости деформации это то, что вы должны привязать к мешу и сделать к ним Weight-раскраску вашего меша.
If all deformation bones do not appear check the “Auto Run Python Scripts” option under File > User Preferences>File and re-generate
Удаление WGT костей
Вы заметите, что в верхнем правом углу, в иерархии сцены у вас будет много WGT-костей.

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

- Привяжите модель к костям деформации.
Прежде чем начать, убедитесь, что вы в режиме Object mode и выберите mesh, затем зажмите SHIFT и выберите hbu, нажмите CTRL + P и выберите Armature deform > With Automatic weights. Это назначит меш костям, создав группы вертексов. Это то, что мы будет использовать для процесса привязки. Если вы плохо или вообще не знакомы с привязкой в Blender нажмите здесь, чтобы перейти к уроку. Учтите, что кости деформации будут использовать две кости на каждый верхний и нижкий лимбы. Не привязывайте ко второй кости и убедитесь, что они связаны, чтобы Mecanim мог их правильно связать.
- Привяжите плечи к “DEF-shoulder.R” + “DEF-shoulder.L” и убедитесь, что он являются дочерними для “ORG-ribs”
- Привяжите верхние части рук к “DEF-upper_arm.R.01” + “DEF-upper_arm.L.01” и убедитесь, что он являются дочерними к “DEF-shoulder.R” или “DEF-shoulder.L” соответственно.
- Привяжите предплечья к “DEF-forearm.R.01” + “DEF-forearm.L.01” и убедитесь, что они являются дочерними к “DEF-upper_arm.R.01” или “DEF-upper_arm.L.01” соответственно.
- Привяжите бёдра к DEF-thigh.R.01 + DEF-thigh.L.01 и убедитесь, их материнской костью является “ORG-hips”.
- Привяжите голени к DEF-shin.R.01 + DEF-shin.L.01 убедившись, что эти кости являются дочерними к “DEF-thigh.R.01” или “DEF-thigh.L.01” соответственно. Это предоставит вам риг, который привязан к не перечёркнутым костям. Лишние кости не должны быть привязаны ни к чему.
Do the same thing to the hands, just remember Mecanim will only take the hand bone and three bones for each finger and thumb. This means you skin the model’s hands to the bones without crosses through them as shown in the picture below. 
Для каждого пальца вы будете использовать следующее (левая рука в качестве примера):
- Большой палец: “DEF-thumb.01.L.02”, “DEF-thumb.02.L”, “DEF-thumb.03.L”
- Указательный: “DEF-finger_index.01.L.02”, “DEF-finger_index.02.L”, “DEF-finger_index.03.L”
- Средний: “DEF-finger_middle.01.L.02”, “DEF-finger_middle.02.L”, “DEF-finger_middle.03.L”
- Безымянный: “DEF-finger_ring.01.L.02”, “DEF-finger_ring.02.L”, “DEF-finger_ring.03.L”
- Мизинец: “DEF-finger_pinky.01.L.02”, “DEF-finger_pinky.02.L”, “DEF-finger_pinky.03.L”
Помните, что каждая кость пальца всегда должна быть дочерней по отношению к предыдущей и первая кость должна быть дочерней по отношению к руке, в результате предоставляя аккуратную связь для Mecanim.
Экспорт и Импорт
Экспортируйте модель как .FBX файл и поместите его в папку, отдельную от ваше проекта. File > Export > AutoDesk FBX (.fbx) > Export. Как только экспорт будет завершён, вы сможете начать импорт модели в Unity и связать её с Mecanim.

- Откройте Unity 4 и создайте новый проект названный, например, “Rigify Test”. Как только он откроется, просто перетащите вашу модель в окно проекта.
- Выберите префаб модели в окне проекта и нажмите Rig в инспекторе. Смените Animation Type на Humanoid и нажмите Configure.
Все кости должны без проблем связаться в Mecanim.


- Убедитесь, что все кости на своих местах, и что нету никаких ошибок.
- Таким же образом рука должна быть дочерней соответствующих костей. Привяжите ладони к “DEF-hand.R” + “DEF-hand.L” и убедитесь, что их(костей) материнскими костями являются “DEF-forearm.R.01” или “DEF-forearm.L.01” соответственно.
Риггинг в blender

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

Человеческая модель (Источник : Blender Stack Exchange)
Когда ваша модель готова, откройте Blender. Обратите внимание, что мы будем использовать Blender 2.8 для этого урока, хотя шаги не должны сильно отличаться для предыдущих версий Blender.
Сначала нам нужно создать каркас:
- Выберите модель, затем перейдите в режим объекта.
- Нажмите «Ctrl + Numpad 3», чтобы перейти в вид сбоку.
- Выберите вид каркаса.
- Нажмите «Shift + A», чтобы добавить каркас. Поздравляем, теперь у вас есть основная кость для вашей модели!
Каркас — это в основном набор костей. Это «основа » для всей вашей оснастки модели.
Установка и добавление костей

Более полная человеческая модель. (Источник : answers.unity.com)
С первой созданной костью, пришло время поместить ее в центр нашей модели.
- Войдите в режим редактирования и выберите кость, затем переместите ее к центру. Для человеческого тела этот центр должен находиться у таза.
- Вы можете перемещать кость двумя разными способами. Если вы выбираете основание, вся кость движется. В противном случае, выбор наконечника перемещает только эту часть.
Для следующего шага нам нужно создать больше костей:
- Выберите кончик кости и нажмите «Shift + E». После этого из наконечника будет вытеснена новая кость, и вы сможете расположить ее рядом с первой сделанной костью.
- Продолжайте делать это для всех костей в скелете модели. Для человеческого тела вы захотите подняться на грудную клетку, пока не достигнете шеи.
Риггинг костей

Рука с именованными костями и снаряжением. (Источник : Pinterest)
Хотя мы могли бы сделать целую оснастку из соединенных костей, иногда это утомительно, излишне и непрактично. Решение для этого называется воспитанием детей. Воспитание позволяет вам создать изолированную кость и привязать ее к основной установке, эффективно, но не физически, сделав ее частью основной установки.
Это может быть особенно полезно для моделей, где кости обычно не связаны друг с другом, поэтому вам не придется создавать ненужные кости между ними, чтобы соединить их.
Воспитание кости очень просто:
- Выберите кость, которую вы хотите использовать в качестве родителя.
- Нажмите на иконку кости в правом меню Blender. В разделе «Отношения » вы увидите поле с надписью «Родитель ».
- Нажмите на пустое место в коробке и выберите кость, которую вы хотите стать ее «дочерью ».
Разъяснение еще проще: просто зайдите в тот же ящик и удалите текущую родительскую кость, если она есть.
Зеркальное отражение костей

Каркас модели кролика с половиной буровой установки. (Источник : Blender Stack Exchange)
Для тех из вас, кто работает с очень сложными, но симметричными моделями, есть быстрый способ сделать кости симметричными без необходимости делать их с нуля:
- Перейдите в режим объекта и выберите свой скелет.
- Войдите в режим редактирования и выберите кости, которые вы хотите отразить.
- Щелкните правой кнопкой мыши и выберите «Symmetrize ».
Именование костей

Каркас с именованными костями. (Источник : docs.blender.org)
А теперь последний шаг: именование.
Чтобы назвать или переименовать кость, вы можете просто щелкнуть по ней и настроить имя в меню костей, расположенном справа, по умолчанию. Назовите каждую кость после места в вашей модели, к которому она принадлежит. Для зеркально отраженных костей вы должны добавить к имени». L» или». R», чтобы сообщить Blender, к какой стороне (левой или правой) принадлежит эта кость.
Если вы только начинаете работать с Blender, вы найдете эти учебники Blender 2.8 полезными.
Прикрепить две кости друг к другу

Как прикрепить кости 1 и 2 в точке 3? Через Ctrl-P в Edit Mode они почему-то накладываются друг на друга.
20.09.2017 в 14:38 #15822
Выглядит немного странно. Попробуй присоединять кости с помощью ctrl-j, потом в edit mode на вкладке в окне properties > bone > relations на вкладке parent установить взаимоотношения между костями.
20.09.2017 в 17:47 #15823
В том-то и дело, что они по Ctrl-j не соединяются. А свойство parent у костей 1 и 2 уже заполнены.
15.04.2018 в 16:15 #17150
задай основную кость и к ней крепи Оо
Просмотр 4 сообщений — с 1 по 4 (из 4 всего)
- Форум «Анимация и ригинг» закрыт для новых тем и ответов.
Авторизация

Рубрики
- Анимация и риггинг
- Загрузки
- Материалы и текстуры
- Моделирование и скульптинг
- Новости и обзоры
- Основы Blender
- Рендеринг и освещение
- Симуляция и частицы
- Скриптинг на Python
- Создание игр в Blender
Метки
О сайте
На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.
Контакты
Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:
Следите за нами
Подписывайтесь на наши страницы в социальных сетях.
На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.
Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.
Риггинг и позирование персонажа в Blender
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Здравствуйте, уважаемые читатели портала 3D Today.
Я уже достаточно давно печатаю и крашу фигурки. Но не всегда можно найти подходящую. Надо двигаться дальше, и вот решил создать интересную фигурку уже не из готовой модели, а из того, что осталось, то есть из заготовок. А заодно и рассказать, как делать 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 и наблюдая, есть ли неестественная деформация. И справлять, исправлять, исправлять! Процесс не то чтобы сложный, но скорее муторный, если модель имеет много костей.
Поэтому запасаемся терпением и красим каждую кость.
И это ещё не всё! У нас также есть 2 оружия, которые существуют отдельно от нашей модели. Для того чтобы исправить это подведём их в те места, где они должны располагаться, а потом в Object mode выбираем наш предмет, и жмём Add constraint (Ctrl + Shift + C) — Child Of .
В этом ограничении стоит указать нужную кость: Target – Armature , Bone – Palm.L, т.к. крепится пистолет будет к кости ладони.
Если наш предмет внезапно пропал из виду, нужно нажать Set Inverse.

Теперь при движении наши предметы будут следовать за руками. Проделаем ту же операцию и с ножом.
Осталось только правильно расположить нашего персонажа, просто передвигая кости. Для того, чтобы поза получилась естественной, попрактикуйтесь перед зеркалом (это реально помогает прочувствовать, на сколько куда и что нужно повернуть).
Если Вы сделали что-то не так, то выделите в режиме Pose Mode нужные кости и выберите Pose — Clear Transform – All. Это вернёт их в первоначальное положение.

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

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


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

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