Содержание |
Автор: James Chronister
Оригинальный перевод: Юлия Корбут aka Balista
Переработка текста: Азовцев Юрий aka gumanoed
Все описанные ранее инструменты Blender великолепны для большинства случаев анимации объектов, кроме ситуации с анимацией движений персонажа или дерева, изгибающегося на ветру. Эти случаи требуют изменений формы меша, которые невозможно сделать с помощью традиционных модификаторов. Мы можем деформировать меш двумя способами. Создать скелет и использовать его для деформации меша (арматура) или изменить положение вершин в режиме редактирования и создать слайдер, контролирующий их положение между начальным и конечным состоянием (ключ положения вершин - vertex keys). Эта глава описывает работу с арматурой. Система арматур в Blender находится в постоянном развитии. Мы поговорим лишь об основных вещах. Более подробную информацию вы сможете найти на b3d.mezon.ru, www.blender.org и www.blenderartists.com.
![]() | Экструдирование костей, как мы это только что делали, хорошо работает для простых арматур. Если вам понадобиться создать более сложный скелет вам нужно освоить еще несколько вещей, кроме экструдирования одной кости из конца предыдущей. Наверняка, вы заметили, что первая созданная кость является Родителем для всех остальных костей системы и вы можете экструдировать не только из ее верхнего но и из нижнего конца. Проблема лишь в том, что экструдированная из нижней части кость в режиме Pose не будет связанна с ней родительской связью. Вы можете создавать различные арматуры и объединять их с помощью команды Ctrl-"J". Но в режиме Pose эти цепочки арматур так же не будут связанны родительской связью между собой. Как же это исправить? |
При анимации арматуры есть несколько приемов, которые сделают вашу жизнь проще. Они обсуждались в главе про анимацию, но мы еще раз вспомним их. При анимации вам нужно будет работать с большим количеством костей, имеет смысл воспользоваться инструментом Автоматического Создания Ключей Анимации (Automatic key-framing). Так же, будет полезным использование графического виджета вращения и шкалы времени для перехода между кадрами. Возможно, будет полезным еще раз просмотреть главу об анимации. Ниже на иллюстрации указаны основные инструменты, которые будут использоваться при анимации арматуры:
![]() |
РобоЧувак Спрашивает: Почему анимация моей арматуры начинается не с 1-го кадра? |
Использование опции автоматического назначения весов влияния перемещения кости на меш (Automatic Weights) отлично работает для простых цепочек костей и простых форм меша. Но когда кости или вершины меша расположены близко друг к другу либо очень далеко, у Blender могут возникнуть сложности с решение какие кости на какие вершины должны влиять. На примере справа вы можете видеть как вершины меша на одном пальце были связаны с костью из другого. Мы можем избежать этого используя Группы Вершин. | ![]() |
| ![]() |
Включите отображение названий костей что бы вы могли видеть для какой кости вы создаете эффект на меше. Выделите меш и перейдите в режим редактирования. Редактирование групп вершин для костей похоже на работу с обычными группами вершин, отличие лишь в уже имеющихся названиях каждой группы и их связи с соответствующей костью. Все это было сделано автоматически при создании связи между мешем и арматурой. Если вы перейдете в раздел Object Data (мы все еще находимся в Режиме Редактирования меша), то увидите на панели Vertex Groups список всех имеющихся групп вершин на меше. Вы так же увидите стандартные кнопки "Assign" (назначить) и "Remove" (снять назначение) под списком групп вершин.
Для исправления проблемы с нашем мешем, сначала нужно выделить проблемные вершины, затем выделить группу вершин, к которой они ошибочно были назначены и нажать кнопку "Remove". После этого данные вершины больше не будут связанны с этой группой вершин. В моем случае они были ошибочно связанны с костью "Bone.004". Я выбираю группу вершин, с которой они в действительности должны быть связаны (Bone.010) и нажимаю кнопку "Assign". Выйдите из режима редактирования, выберите арматуру и включите режим Pose для проверки работы системы арматур после изменений. | ![]() |
Вершины, расположенные близко к месту соединения пальцев, могут принадлежать сразу нескольким группам. Вы можете использовать слайдер "Weight" для определения степени влияния кости на деформацию меша, но обычно используется значение 1.000.
Вам нужно вернуть арматуру из некоторого положения в изначальное? В разделе Object Data на панели Skeleton вместо "Pose Position" нажмите кнопку "Rest Position". | ![]() |
Инверсная Кинематика используется для манипуляции скелетом простым перемещением (G) конечной кости, при этом все остальные связные кости двигаются за ней. Инверсная Кинематика постоянно развивается и имеет большое количество опций в зависимости от необходимых вам параметров поведения скелета. Посетите сайты www.blender.org и b3d.mezon.ru для более подробного знакомства с ней.
![]() | Для использования Инверсной Кинематики выберите кость в конце цепочки, перейдите в раздел Bone Constraint и добавьте ограничитель Iverse Kinematics. Вы можете контролировать количество костей в цепочке, для которых будет производить расчет движения (Chain Length), а так же можете выбрать Цель (Target), перемещением которой будет задаваться движение скелета (например Пустышку). Здесь есть и другие опции, включая Influence (влияние, количество эффекта). После добавления ограничителя вы можете перемещать ("G") крайнюю кость и остальные кости в цепочке будут следовать за ней. |
![]() |
РобоЧувак Говорит: Используйте команду Ctrl-"A" для сброса параметров поворота и масштабирования костей. Это поможет при работе с ограничителем Inverse Kinematics! |
При анимировании объекта (как, например, палец), вам наверняка захочется ограничить направления и углы поворота его частей. Иначе при создании ключей анимации могут получаться неестественные позы. Использование ограничителя Limit Rotation может значительно помочь в этом. На примере справа я добавил ограничитель к двум верхним костям пальца, установив ограничения поворота по осям Y и Z (0 градусов) и установил ограничение поворота от 0 до -60 градусов по оси X. Это отлично работает, потому что я переключил опцию Convert со значения "World Space" в "Local Space". | ![]() |
Ограничитель Copy Rotation может сделать процесс анимации арматуры гораздо проще. Для примера я создал отдельную арматуру из одной кости (не в составе существующей арматуры) и связал ее с арматурой руки (связь типа Потомок-Родитель). Эта кость может быть расположены где угодно. Я расположил кость над пальцем, которым он будет управлять. Установите и настройте ограничители поворота, как мы это делали чуть раньше. Затем, добавьте ограничитель "Copy Rotation" к каждой кости, которая будет копировать движения управляющей. В поле Taret выберите имя управляющей кости. В моем случае, для правильной работы пришлось инвертировать (Invert) копируемое движение. | ![]() |