Blender Basics 3-rd edition/Chapter 16- Armatures

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Глава 16: Арматура

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

Возможности Blender великолепны для большинства случаев анимации объектов, кроме ситуации с анимацией движений персонажа или дерева, изгибающегося на ветру. Эти случаи требуют изменений формы меша которые невозможно сделать с помощью традиционных модификаторов. Мы можем деформировать меш двумя способами. Создать скелет и использовать его для деформации меша (арматура) и изменить положение вершин в режиме редактирования и создать слайдер контролирующий положение вершин между начальным и конечным положениями (ключ относительного положения вершин). Эта глава описывает способ с созданием арматуры. Система арматур в Blender находиться в стадии постоянной разработки. Мы поговорим с вами о базовых вещах. Более подробную информацию вы можете найти на www.blender.org и www.blenderartists.com.

BlenderBasics 3rdEdition2009b-112 1.jpg

Первая вещь, которую нам нужно сделать - создать меш с несколькими группами вершин в местах, где он будет сгибаться. Подойдет любой меш и для получения дополнительного количества вершин вы можете экструдировать (extrude) или подразделить (subdivide) его. Но будьте осторожны, не создавайте слишком большого количества вершин. Это может замедлить работы компьютера и, соответственно, скорость моделирования. Давайте используем цилиндр для создания руки. Я использую цилиндр со значением количества вершин по умолчанию - 32. Затем, я переключаюсь в вид спереди и с помощью инструмента выделения прямоугольником ("B") выберите вершины верхней части цилиндра и экструдируйте их вверх. Я предпочитаю использовать экструдирование вместо подразделения (subdivide) для сохранения количества вершин в меше минимальным. Поле экструдирования я использую масштабирования и немного уменьшаю диаметр получившейся части руки.


BlenderBasics 3rdEdition2009b-112 2.jpg

Теперь, поместите курсор в самый низ созданной вами формы. Нажмите Пробел, выберите Add, Armature. Вы увидите кость появившуюся на месте 3D-курсора. Нажмите "G" для захвата вершины кости и увеличте ее длину до нужного размера. Для создания следующей кости, нажмите "E" и экструдируйте ее из конца предыдущей. Если вы вышли за пределы 3D-окна, просто нажмите "Esc" и отмените создание следующей кости. Как и в случае с другими объектами для редактирования костей вы должны находиться в Режиме Редактирования. Для размещения последней кости в правильном положении кликните Правой Кнопкой Мыши по вершине кости. Нажмите "G" и перемещайте ее. После завершения расположения кости, нажмите Tab для выхода из режима редактирования. Проверьте арматуру еще раз и убедитесь что все кости размещены именно так как нужно. Для добавления костей, сного нажмите Tab и перейдите в режим редактирования и воспользуйтесь кнопкой Пробел для вызова меню.


BlenderBasics 3rdEdition2009b-112 3.jpg

Следующим шагом будет создание связи Родитель-Потомок между мешеи и арматурой, где мешь будет потомком, а арматура - родителем. Удерживайте "Shift" и выберите меш, затем арматуру. Нажмите "Ctrl-P" для создания связи. В появившемся меню выберите опцию "Parent to Armature". Под арматурой подразумеваются обе кости вместе. После этого у вас будет несколко вариантов способа создания групп вершин, которые будут двигаться с каждой костью.

BlenderBasics 3rdEdition2009b-113 4.jpg

Сейчас воспользуемся опцией "Name Groups" и компьютер сам определит какие вершины объекта связать с каждой из костей и проименует их в соответствии с этим. Иногда такой способ работать не будет. Обычно это происходит когда вершины находятся близко друг от друга (как в случае с пальцами на руке). Вершины одного пальца могут оказаться связанными с костью другого. Мы обсудим вопрос изменения групп вершин чуть позже. А пока это все! Самое время проверить получившуюся модель!


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

Объединить меши и сделать общий меш тела. Это можно сделать спомощью булевых операций по "W" или простым объединением мешей по "J". Убедитесь что все текстуры и материалы наложены до объединения объектов. Возможно, после объединения, вам понадобиться сделать небольшую настройку текстур. Так же, это должно быть сделано до создания связи родитель-потомок меша с арматурой.

Создайте все необходимые системы костей и объедините их, как в случае с мешами или воспользуйтесь связями Родитель-Потомок.

Анимирование арматуры

BlenderBasics 3rdEdition2009b-113 1.jpg
BlenderBasics 3rdEdition2009b-113 2.jpg

Самое время анимировать модель руки. Для этого нам нужно перейти в "Pose Mode" (режим поз). Измените режим в заголовке 3D-окна c Object Mode на Pose Mode. Так же, это можно сделать по нажатию клавиш "Ctrl-Tab". Выделите кость, с которой вы хотите работать, Правой Кнопкой Мыши. Нажмите "R" и вращайте ее. Если все пойдет хорошо, меш будет вращаться вместе с костью. Сделайте несколько ключей анимации в разных кадрах, как мы это делали при анимации других объектов.

Автоматическое создание ключей анимации с арматурой

Создание ключей анимации для сложной системы костей может оказаться очень длительным процессом. К тому же, очень просто пропустить кость когда в одном кадре нужно сделать вращение для 20 таких же. Именно для этого и была создана опция automatic keyframing, доступная в меню Пользовательских Настроек. Потяните вниз за гранизу заголовка над окном 3D-вида и вы увидите нужные вам настройки. Выберите "Edit Methods" и нажмите кнопку "Auto Keyframing". Это создаст ключи для каждой кости, перемещенной или повернутой в конкретном кадре. Не забывайте отключать эту функцию при завершении анимации скелета, иначе при неаккуратных действиях ваша анимация может превратиться в "кашу". Если вы столкнулись с какими то сложностями - загляните на страницу 71 в раздел Auto Keyframing.

BlenderBasics 3rdEdition2009b-113 3.jpg


BlenderBasics 3rdEdition2009b-13 5.jpg

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


Создание групп вершин

Как было замечено выше, иногда при расположении вершин слишком близко друг к другу у Blender могут возникнуть затруднения в процессе автоматического создания групп вершин. Вам потребуется определить группы вершин вручную. Сначала, создайте ваш меш и арматуру, затем свяжите их отношением Родитель-Потомок, выберите опцию "Use Armature" и сного выберите "Name Groups". Компьютер проименует группы вершин самостоятельно и свяжите их с костями. Сейчас мы поговорим о создании собственных групп вершин и их именовании.

Для примера, я создал меш, который мы будем называть Палец. Затем, я создал арматуру и продублировал оба объекта для создания второго пальца. Следующим шагом будет объединение (Ctrl-J) двух арматур и подобное действие для двух мешей. Создайте связь Родитель-Потомок между Арматурой и Мешем и выберите опцию "Name Groups".

BlenderBasics 3rdEdition2009b-114 3.jpg
BlenderBasics 3rdEdition2009b-113 4.jpg
BlenderBasics 3rdEdition2009b-114 1.jpg
BlenderBasics 3rdEdition2009b-114 2.jpg

Теперь, для назначения вершин костям нам нужно видеть названия (имена) костей. Выберите арматуру и перейдите в раздел Edit в Окне Кнопок. Найдите там кнопку "Names". Ее нажатие приведет к появлению имени каждой кости в 3D-окне. Имена будут расположены на конце костей и иметь вид Bone.001, Bone.002 и т.д. Вам нужно будет использовать имена именно в таком виде.

Теперь, выделите меш и перейдите в Режим Редактирования (Tab). В разделе Edit в Окне Кнопок вы заметите набор кнопок для создания/редактирования Групп Вершин (блок кнопок для работы с Vertex Groups будут видны только если вы находитесь в Режиме Редактирования). Выберите имя группы (group name) для кости, с которой вы работаете. Если вам потребуеться создать новую группу вершин - нажмите "New". Помните что для каждой кости должна быть назначенна группа вершин и имя группы вершин должно совпадать с именем кости (Bone.001, Bone.002 и т.д.).

BlenderBasics 3rdEdition2009b-114 2.jpg

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

BlenderBasics 3rdEdition2009b-115 1.jpg

Сделайте это для оставшихся костей. После этого выйдите из режима редактирования и выберите арматуру. Нажмите "Ctrl-Tab" для перехода в Режим Поз (Pose Mode) и проверьте работу вашей арматуры. Если вам нужно изменить группы, выделите меш и перейдите в Режим Редактирования.

Помните, мы обсуждали преимущества использования опции "Name Groups" при создании связи Родитель-Потомок между мешем и арматурой? Это сэкономит нам целый шаг по присвоению имен для каждой группы вершин.


Использование Инверсной Кинематики (IK)

BlenderBasics 3rdEdition2009b-115 2.jpg

Инверсная кинематика используется для манипуляции скелетом простым перемещением (G) оконечной кости, при этом все остальные связные кости двигаются за ней. Инверсная Кинематика постоянно развивается и имеет большое количество опций в зависимости от необходимых вам параметров поведения скелета. Посетите сайт www.blender.org для более подробного знакомства с ней.


BlenderBasics 3rdEdition2009b-115 3.jpg

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

Дальше, переместите 3D-курсор вниз меша и добавьте кость (Пробел-Add-Armature). Используйте "G" для перемещения вершины кости к первой точке перегиба меша. Нажмите "E" и экструдируйте другую кость до второй точки перегиба меш. Повторите операцию еще 2 раза для получения арматуры из 4 костей.

BlenderBasics 3rdEdition2009b-115 4.jpg

Создайте связь Родитель-Потомок между мешем и арматурой нажав "Ctrl-P" и выберите в появившемся меню "Name Groups".


BlenderBasics 3rdEdition2009b-115 5.jpg

Перейдите в Режим Поз (Pose Mode, Ctrl-Tab). Повращайте кости и убедитесь что каждая группа вершин назначена своей кости.


BlenderBasics 3rdEdition2009b-116 1.jpg

Если в режиме поз все выглядит хорошо, выделите последнюю кость и перейдите в объектный режим. Найдите панель ограничителей (Constrant). Под кнопкой "Add Constrrant" вы увидите набор опций для арматур.

BlenderBasics 3rdEdition2009b-116 3.jpg

Вы можете ограничить вращение, перемещение и масштабирование кости, следить за ней, растягивать ее и т.д. Для нашего примера выберите ограничитель "IK Solver". Теперь попробуйте переместить последнюю кость. Вы должны заметить как ее перемещение деформирует все остальные кости арматуры. Вы так же можете связать кость с объектом, который будет менять форму цепи костей.

BlenderBasics 3rdEdition2009b-116 2.jpg


Дополнительные настройки арматуры

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


BlenderBasics 3rdEdition2009b-116 4.jpg


  • Опция включения базовой Инверсной Кинематики
  • X-Ray - позволяет видеть кости при отображении меша в режиме Solid
  • Различные способы отображения арматуры
  • Показывать имена костей

Практическое Задание. Создание скелета

Автор: James Chronister
Перевод: Азовцев Юрий aka gumanoed


BlenderBasics 3rdEdition2009b-117 2.jpg

Создайте новый Blender-файл и назовите его Hand. Создайте UV-Сферу (UV Sphere), для кисти и цилиндры, для пальцев. Используйте экструдирование для придания нужной длинны пальцам. Предусмотрите набор вершин для места перегиба (у нас будет только одна фаланга у каждого пальца). Продублируйте палец и сделайте 3 пальца на руке. Измените форму сферы с помощью инструмента Пропорционального Редактирования вершин (клавиша "O"). Соедините все меши вместе. Создайте арматуру из двух костей для каждого пальца и объедините их.

BlenderBasics 3rdEdition2009b-117 3.jpg

Создайте связь Родитель-Потомок меша с арматурой и создайте группы вершин (у вас может быть а может и не быть возможности использовать автоматические настройки). Назначте материал для меша. Добавьте освещение и создайте анимацию длинной 100 кадров.


Сложное задание:

Попробуйте использовать арматуру для анимации других объектов. Попробуйте создать простое тело и анимировать процесс ходьбы.

BlenderBasics 3rdEdition2009b-117 4.jpg
BlenderBasics 3rdEdition2009b-117 5.jpg


** После завершения задания позовите инструктора **