Перейти к содержимому

Как привязать арматуру к мешу в blender

  • автор:

Как привязать арматуру к мешу в blender

Посетите сайт BlenderУкраина (русскоязычный ресурс о Blender) в интернете по адресу blender3d.org.ua — Плагины, Модели, Туториалы, Форум — Все о Blender3d по русски.

Глава 16: Арматуры (кости и скелет)

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

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

В этой главе мы будем изучать первый способ сложной деформации, то есть деформацию с применением арматуры. Мы рассмотрим только основные принципы работы арматурными объектами. Более подробную информацию о использовании арматуры ищите на сайтах www.blender.org и www.elysiun.com.

Рассмотрим работу арматуры на примере. Создайте цилиндр (Add >> Mesh >> Cylinder), и установите значение для Verties 32. Затем, выделите верхний ряд вершин, с помощью бокс-выделения (клавиша B) и экструдируйте(клавиша Е) их вверх. Немного увеличьте масштаб вершин. Снова экструдируйте вершины и немного уменьшите их масштаб. Продолжайте экструдировать и масштабировать вершины, пока у вас не получится форма как на рисунке ниже:

Установите 3D курсор внизу цилиндра. Нажмите Space >> Add >> Armature. Как Вы можете заметить в том месте, где находился 3D курсор появилось новое звено арматуры (кость). Нажмите клавишу «G» для того, чтобы удлинить звено арматуры. Направьте курсор вверх и кликните левой клавишей мышки в той позиции, где должна заканчиваться кость. Теперь необходимо создать вторую кость, для этого выделите верхушку первой и нажмите кнопку «E«, после этого из верхушки должна появиться вторая кость. Вы можете прекратить немедленное передвижение кости нажав кнопку «Esc«. Чтобы изменить положение кости, кликните по маленькому шарику в верху(или внизу) кости и нажмите клавишу «G«, переместите кость в нужную позицию. Вы сейчас находитесь в Режиме Редактирования арматуры, нажмите «Tab» для того, чтобы перейти к Объектному Режиму.

Далее нам необходимо связать арматуру и меш-объект способом Родитель-Потомок, где меш-объект будет выступать в роли Потомка, а арматура будет Родительским объектом. Удерживая кнопку «shift» выберите первым меш-объект, а затем арматуру. Нажмите «Ctrl P» для создания связи. В появившемся меню выберите опцию «Use Armature«.

Затем вам предложиться несколько вариантов, каким образом будут двигаться вершины привязанные к костям арматуры. Выберите «Create From Closest Bone» , каждой кости будут присвоены вершины, находящиеся рядом с ними. Иногда этот способ создания группы вершин не очень хорошо работает, если группы вершин находятся слишком близко друг к другу, как например вершины пальцев руки. Вершины одного пальца могут присвоиться к арматуре другого пальца, в этом случае Вы не получите желаемого эффекта.

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

При использовании скелетов или другие комплексных арматурных структур, Вам необходимо сделать следующее:

Объединить все части модели в один меш-объект. Это можно сделать, используя булевы операции (кнопка «W«) или выделить объекты и нажать кнопку «J«, для простого объединения. Перед объединением убедитесь, что для каждой части модели добавлен материал и текстура(если она подразумевается).

Анимирование модели с помощью арматуры (скелета):

Настало время анимировать нашу модель. Нам необходимо перейти в Режим Позы (Pose Mode). В меню режимов, выберите режим Pose Mode (см. рисунок). Это можно так же сделать с помощью «горячих клавиш» — «Ctrl Tab«.

Кликните Правой клавишей мышки по одной из костей. Нажмите кнопку «R» для того, что бы вращать ее. Если в предыдущих шагах все было сделано верно, то меш будет вращаться вместе с костью. Устанавливайте ключевые кадры, для создания анимации.

Автоматическое добавление ключевого кадра для Арматурных объектов

Добавление ключевых кадров анимации для сложных арматурных объектов может оказаться весьма сложным занятием, если Вам необходимо в добавлять ключевые кадры поворотов для 20 костей арматуры. Поэтому очень удобно пользоваться опцией автоматического добавления ключевого кадра. Эту опцию можно активировать в окне Пользовательских Настроек. Наведите курсор мышки на верхнюю горизонтальную линию, разделяющую 3D окно и меню. Затем нажмите левую клавишу мышки и оттяните эту линию вниз. Выберите «Edit Methods» и нажмите кнопку «Action and Object» в пункте Auto Keyframing. После этого ключевые кадры буду добавляться после каждого изменения положения костей арматуры. Не забудьте отключить эту опцию после того, как вы закончите работу с анимацией арматурного объекта, иначе могут возникнуть некоторые проблемы.

Вверх страницы
© 2007 Юлия Корбут некоторые права соблюдены. По любым вопросам о материалах сайта, а также по вопросам о правах на материалы обращайтесь:
© 2007 Julia Korbut some rights reserved. With any legal questions feel free to contact me:

Привязка меша к арматуре

Изображение

В общем нашел готовый анимированный скелет (bvh формат).
Решил для начала как в учебнике прикрепить к одной из кости цилиндр.
Вроде все сделал как надо, но не совсем получилось.
У цилиндра создал группу по названию кости к которой хочу прикрепить сам цилиндр. Выделил все вершины цилиндра, нажал «присвоить». Далее выделил цилиндр затем арматуру. Ctrl+p -> Арматура ->NameGroup. Вершины прикрепились, но почему то не все. Часть осталась на месте, а часть прикрепились. В ощем цилиндр растянулся. Что я делаю не так?

#1
14:48, 21 мая 2010

Значит вершины имеют нулевой вес и никуда не сдвигаются.

лучше использовать «bone heat» режим привязки и\или вручную назначить веса на вершины.

И заранее группу делать не надо, она сама создатся.

#2
14:16, 22 мая 2010

Изображение

Все равно почему-то часть вершин привязывается к другой кости.
Вот:

И почему-то через boneheat вершины привязываются к кости правой ступни, хотя эта кость гораздо дальше чем та к которой нужно.

#3
15:20, 22 мая 2010

Попробуй отключить Envelopes в модификаторе Арматура. Оставь только VertexGroup.

как привязать кость, связанную с арматурой одного объекта к другому

Буква Ж, превращенная в меш, «держит в руке» плоскость. Эта рука оснащена костьми.Из конца последней экструдирую еще одну кость и всю арматуру привязываю к плоскости. Для плоскости устанавливаю вес 1. Арматура перемещается правильно, «рука» буквы машет, плоскость не движется. Может,это нужно сделать другим способом? Буква машет рукой с поздравлением.

30.10.2015 в 16:46 #9348
С 4:50, рассказывает как «прилепить» мячик к кисти руки
30.10.2015 в 20:26 #9349
Ура! Заработало! Спасибо!
04.02.2016 в 21:34 #10244
Можно совместно с «Child of» еще использовать «Copy location».
Просмотр 4 сообщений — с 1 по 4 (из 4 всего)

  • Форум «Анимация и ригинг» закрыт для новых тем и ответов.

Авторизация

blender course

Рубрики

  • Анимация и риггинг
  • Загрузки
  • Материалы и текстуры
  • Моделирование и скульптинг
  • Новости и обзоры
  • Основы Blender
  • Рендеринг и освещение
  • Симуляция и частицы
  • Скриптинг на Python
  • Создание игр в Blender

Метки

О сайте

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

Контакты

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

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

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

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

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

Серия уроков по риггингу в Blender. Урок 2: Скиннинг, оживляем меш

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

Веса и группы вершин

Собственно, как определить, влияет ли кость на вершину, и если да — то насколько? Правильно — ввести значение, которое будет силой воздействия кости. В блендере это значение называется весом (Weight) кости. Оно не выделено в уникальный элемент датаблока, а базируется на так называемых группах вершин (vertex groups) — этаких контейнерах со своим именем, где хранится вес для каждой вершины меша от 0 до 1
Вес измеряется в диапазоне от нуля до единицы, соответственно 0 — не влияет, 1 — влияет на полную силу, вершина идет точно за костью. Вес выше 1 логика группы вершин иметь не позволяет, но — группа вершин хранит вес для каждой вершины, и пересечения не запрещаются: т.е. наши Group и Group.001 могут спокойно хранить единичный вес для одной и той же вершины. С этим связана одна очень неприятная подлянка, мы разберем ее ниже

Делаем арматуру

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

Начинаем! Перед нами есть куб с плотной сеткой. Это очень важно для рига, если он будет что-то деформировать, ибо как что-то сгибать, если сгибать нечего? 😀 В данном случае эта сетка — как раз идеальна для деформаций — она состоит из граней с 4-мя вершами — квадов Мы хотим, чтобы куб мог сгибаться и закручиваться вокруг своей оси вращения в нескольких местах Эти места мы выделили при помощи аннотаций — безумно удобного инструмента для всяких указаний и зарисовок прямо во вьюпорте. Это бывший Grease Pencil из старых версий. Где-то в районе 2.8 создали новую систему, а старую переделали в аннотации Основные настройки штрихов находятся на панели Annotations во вкладке View
Там можно установить цвет, толщину штрихов, независимость от проигрывания анимации и т.п. Сам инструмент работает просто: ЛКМ — рисовать, ctrl + ЛКМ — стирать. Там еще есть опции, но предлагаю посмотреть их уже самим Также чтобы включить отображение сетки меша без перехода в режим редактирования — надо включить WIreframe в панели оверлеев

Теперь переходим к арматуре Мы будем активно пользоваться 3Д курсором — некой точки в пространстве, от которой создаются новые объекты, и к которой можно привязаться
Аннотации можно скрыть, если они будут вам мешать Это можно сделать так и в настройках слоя, так и в оверлеях соответствующей галочкой Выделяем нижнее основание куба, потом используя хоткей Shift + S вызываем Пай меню по работе с 3Д курсором, и выбираем пункт Cursor to Selected. Это переместит курсор в центр выделения Выходим из режима редактирования, переходим в объектный режим, создаем арматуру. Одна-единственная кость появится на месте 3Д курсора
И тут мы видим проблему — меш загораживает собой арматуру. Увы, нам необходимо, чтобы арматура была внутри меша — а иначе деформации будут вести себя неправильно (все из-за пивота кости — центра, откуда идут трансформации). Можно вынести арматуру поверх меша — для этого у объекта есть опция In Front. Она расположена в панели Viewport Display
Чпоньк — и арматура будет отображаться поверх объекта, как нам и надо! Дальше необходимо построить саму арматуру. Вот сейчас мы и будет показано, насколько полезен 3д курсор. Как говорилось ранее, из-за пивота кости меш может некорректно деформироваться (не будет правильного изгиба). И вместо того, чтобы вручную двигать кость, можно просто выставить 3д курсор в центр лупа, который будет местом избига, и потом привязать кость Переходим в режим редактирования, выделяем луп, который будет первым изгибом, и перемещаем туда курсор при помощи Cursor to Selected
далее выделяем арматуру, переходим в ее режим редактирования, выделяем хвост кости, выбираем Selection to Cursor в Пай меню, и чпоньк
Теперь пивот для следующей кости готов. Используем экструдирование для создания новой кости, выставляем 3д курсор, привязываем хвост кости, повторяем. В конечном счете должна получится вот такая арматура Переименовываем кости, чтоб не было бардака. Кстати, вот еще одна плюшка — у арматуры тоже есть вкладка Viewport DIsplay. Нам нужна опция, чтобы отобразить имена костей — Names. Переименовываем кости как на скрине
Наша арматура готова. Теперь можно наконец-то перейти к скиннингу

Режим рисования весов

Редактирование весов осуществляется в соответствующем режиме — Weight Paint. По началу он может выглядеть необычно. Можно создать несколько пустых групп вершин, чтобы попробовать им попользоваться У нас есть несколько инструментов — Draw, Blur, Average, Smear, Gradient. В этом уроке мы будем пользоваться только первым. Стоит поподробнее изучить его настройки, они могут очень облегчить жизнь Нажав на поле с Draw, можно выбрать саму кисть для рисования
Иногда легче выбрать режим добавления или вычитания, чем постоянно крутить ползунок веса. А сам ползунок — это Weight. Рядом с ним радиус кисти и ее сила — Strength. У каждого параметра есть иконка с карандашиком — это позволяет включить в работу графический планшет. Это гораздо удобнее мыши, так что обязательно попробуйте потом порисовать с ним и без него, чтобы увидеть разницу Еще одна важная опция — это симметрия. Она находится в противоположной стороне заголовка, и может включаться отдельно для каждой оси

Скиннинг

Для начала удаляем все группы вершин, которые мы сделали, чтоб они не засоряли меш. После этого переходим в объектный режим, сначала выделяем меш, потом с зажатым Shift арматуру, и жмем Ctrl + P -> Armature Deform -> With Automatic Weights. На первый взгляд ничего не произошло, но если зайти в режим позы для нашей арматуры — и о чудо, меш будет двигаться за костями! Ctrl + P также как и в режиме арматуры, в объектном режиме позволяет установить родителя, но если родителем будет арматура — то появятся дополнительные опции — установка весов. Можно установить пустые веса, веса по так называемым Эвенлопам (областям вокруг костей), или более популярный вариант — автоматические веса После выполнения оператор добавит мешу модификатор Armature — именно так выполняется связывание меша и арматуры
А вот вес костей сохраняется при помощи групп вершин. Логика проста: модификатор выполняет сопоставление имени группы вершин и кости, и тем самым понимает, кто к чему принадлежит. Так как мы использовали авторазвесовку, то оператор сам создал группы вершин с нужными именами, и заполнил их. Если мы заменим имя группы на белеберду, то кость потеряет вес, а если на имя другой кости — то та кость станет использовать веса из этой группы вершин соответственно. Также после отвязки арматуры и даже ее удаления группы никуда не денутся, и если вы ее снова прицепите (условие — имена костей остались те же) — то веса уже будут назначены так, как были до отвязки Вот кстати еще одна мега полезная фишка — если сначала выделить арматуру, потом меш, и перейти со всем этим в режим развесовки, то мы сможем сразу просматривать веса костей, выделяя их через Shift + ЛКМ, и даже двигать (GRS комбинация также работает). Также если у кости нету своей группы вершин, и меш будет покрашен фиолетовым (прям как когда потеряна какая-то текстура), то стоит где-нибудь порисовать, и группа сама создастся. Так что вручную менять имена группам не придется Да, сейчас у нас нету необходимости вправить веса, авторазвесовка сработала нормально, но и модель — куб. В большинстве случаев понадобится дополнительная корректировка весов уже ручками

Нормализация

В модификаторе есть одна подлянка — если сумма всех весов на вершину больше 1, то модификатор сам усечет его до этого числа. Вроде бы ничего, НО Так как у bone_2 вес — 1 на проблемной области, и у bone_2.001 — тоже, то в сумме будет 2, и модификатор усечет веса. В свое время мне это знатно потрепало нервы, и проблема то в том — что ни в одном, по крайней мере в рунете, туторе о такой подлянке не говорилось, до этого момента) Чтобы такой гадости избежать, существует опция Auto Normalize. Оно делает определенные операции со всеми группами вершин, куда входит вершина, тем самым обеспечивая общую сумму весов в 1 И на последок — покажу скиннинг при помощи Эвенлоп (Evenlope) Суть собственно в том, что веса назначаются в зависимости от того, насколько сильно вершина попадает в зону действия кости. Эти зоны настраиваются при помощи параметра Evenlope у костей, и эффект виден только режиме отображения костей Evenlope
После этого можно перейти в режим позы, или в режим развесовки, и посмотреть на результаты. Да, все работало как и ожидалось, но в нашем и в большинстве случаев это никуда не годится, поэтому его очень редко используют

Итог

  • 3Д курсор — весьма полезная для риггинга вещь
  • Арматура и меш соединяются при помощи модификатора Armature
  • Сила влияния костей же определяется весом, который хранится в группах вершин на меше
  • Веса редактируются в Weight Paint mode
  • Без нормализации весов может быть очень плохо

На этом урок закончен. Пишите комментарии, делитесь с друзьями, набирайтесь сил, всем удачи, всем пока!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *