Глава 7.1: Ригинг и Скининг. Теория

Материал из Blender3D.

Перейти к: навигация, поиск

Автор Райан Дэйл (Ryan Dale)

Перевод Дмитрий Гриценко (aka AzoDeeps)

Содержание


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


Процесс построения арматуры называется "ригинг", в то время как процесс, связывания арматуры и меша называется "скининг".


Общий рабочий процесс для ригинга арматуры и скининга меша приблизительно такой: - Создание арматуры внутри вашего меша, путем выдавливания и добавления костей; - Именование костей надлежащим образом; - При желании - добавление ограничения на риги, для более широкой функциональности и простоты в использовании; - Применение модификатора Armature для меша, а также - Использование либо Envelopes (влияние) либо групп вершин (или и то и другое), для определения костей, которые должны влиять на части меша.


Тогда всё будет готово! В различных пунктах, тем не менее, вам, вероятно, придется вернуться назад и изменить меш, чтобы сделать его работу с арматурой лучше, или даже изменить структуру вашей арматуры для улучшения функциональности. Этот процесс может повторяться несколько раз, особенно во время скининга. Вывод: Арматуры используются для деформации меша при сложных задачах, таких, как анимация персонажа.


Больше, чем арматура

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


На диске есть несколько примеров альтернативных подходов к ригингу в папке "rigs" с пояснениями, находящимися прямо в файлах. Вам предлагается самостоятельно изучить их.

Ригинг: Создание арматуры

Добавление арматуры

Чтобы добавить арматуру, нажмите пробел и выберите Add->Armature. Арматура, состоящая из одной кости, будет добавлена и помещена в точку 3D курсора в режиме редактирования. Как всегда, хорошо бы переключится в режим объектов с помощью клавиши Tab и использовать Alt+R для удаления любых вращений. Арматуры в персонажной анимации еще более чувствительны к вращению, чем другие виды объектов. Убедитесь, что создаете свои арматуры без вращений в объектном режиме, так как это позволит предотвратить неожиданное поведение костей и проблемы, которые могут возникнуть позже.


Примечание: Если у вас включен режим Solid, вы можете не увидеть кость, находящуюся внутри вашего меша. Вы можете использовать клавишу Z для перехода в режим wireframe, в котором сможете лучше видеть арматуру, или можете включить опцию X-Ray во вкладке Armature на панели Editing. X-Ray делает арматуру видимой через любые объекты, которые могли бы закрывать её.

Анатомия Кости

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

Рисунок RSD.01: Одиночная кость в режимах Wireframe и Solid. Наконечник выбран, а корень нет.
Увеличить
Рисунок RSD.01: Одиночная кость в режимах Wireframe и Solid. Наконечник выбран, а корень нет.
Рисунок RSD.01a: Одиночная кость в режимах Wireframe и Solid. Наконечник выбран, а корень нет.
Увеличить
Рисунок RSD.01a: Одиночная кость в режимах Wireframe и Solid. Наконечник выбран, а корень нет.

Режимы арматуры

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


Режим редактирования используется для построения арматуры, присвоения иерархических отношений между костями (например, родитель/потомок) и корректировки арматуры для лучшего соответствия мешу. Режим редактирования обозначается темно-розовым (для невыбранной) и желтым (для выделенной). Режим позы используется для присвоения ограничений на кости и установки поз в ходе анимации. Режим позы обозначается синим цветом окантовки вокруг костей.


Переключение режимов: после добавления арматуры вы окажетесь в режиме её редактирования, о чем свидетельствуют желтые и розовые окантовки кости. Вы можете использовать Ctrl-Tab для перехода в режим позы, обозначенный синим цветом окантовки кости. Обратите внимание на то, что клавиша Tab переключает между режимами редактирования и позы, а объектный режим пропускается. Чтобы вернуться в объектный режим, нажмите Ctrl-Tab.

Рисунок RSD.02: Та же арматура в режимах объекта, редактирования и позы.
Увеличить
Рисунок RSD.02: Та же арматура в режимах объекта, редактирования и позы.
Рисунок RSD.03: Та же арматура в режимах объекта, редактирования и позы.
Увеличить
Рисунок RSD.03: Та же арматура в режимах объекта, редактирования и позы.
Рисунок RSD.04: Та же арматура в режимах объекта, редактирования и позы.
Увеличить
Рисунок RSD.04: Та же арматура в режимах объекта, редактирования и позы.

Подсказка: Арматуры строятся в режиме редактирования, а анимируются в режиме позы.

Добавление и перемещение костей

Добавление кости: Чтобы добавить кости для арматуры, нажмите Пробел->Add->Bone в режиме редактирования. Новые кости будут добавлены в позицию 3D курсора и не будут иметь родителя.


Кости также можно добавить к арматуре, выбрав существующие кости и использовав команду Extrude (Выдавливание). Часть кости, из которой вы выдавливаете, определяет поведение и взаимоотношения новой кости. Выдавливание из наконечника (сустава): ПКМ выберите наконечник кости и используйте клавишу E для выдавливания. Новая кость будет автоматически потомком кости, из которой она выдавливается, и автоматически будет подключена к этой кости.


Выдавливание из корня: выберите корень кости и используйте клавишу E для выдавливания. Кости, выдавливаемые из корня, не будут потомками и не будут связаны с первой костью. Это эквивалентно добавлению новой кости. В дополнение к использованию клавиш E для выдавливания, новая кость может быть выдавлена с помощью Ctrl+ЛКМ в 3D окне. Наконечник новой кости будет установлен там, где вы нажали, а корень будет на наконечнике ранее выбранной кости.


Симметричное выдавливание - чрезвычайно полезная функция. Включается кнопкой X-Axis Mirror во вкладке Armature на панели Editing (Редактирование). Включение этой функции позволяет использовать команду Shift+E для симметричного выдавливания. Если вы симметрично выдавливаете от наконечника кости, новые кости будут потомками кости, из которой они выдавливаются. Когда вы перемещаете только одну сторону симметричной пары, другая тоже будет двигаться, экономя много времени при построении симметричной арматуры.


Кроме того, кости автоматически получаются с суффиксами "_L" и "_R". Эти суффиксы являются важными. Если вы удалите один, симметричная взаимосвязь нарушается. Добавление симметричной кости: Чтобы добавить кости симметрично, выдавите (Shift-E) от корня любой кости. Это создаст кости без родителей.


Если вы предпочитаете работать одновременно с одной стороны арматуры, вы всегда можете создать только, скажем, левую сторону, а затем с помощью Shift+D дублировать вашу работу, масштабируя вдоль оси X (используйте -1 для значения масштаба) и используя клавишу W для вызова функции "Flip Left-Right Names" (Поменять левые-правые имена), отзеркаливающей арматуру.

Рисунок RSD.05: Одиночная кость была добавлена как обычно, с помощью команды Add->Bone. Два комплекта цепей кости были добавлены с помощью симметричного выдавливания.
Увеличить
Рисунок RSD.05: Одиночная кость была добавлена как обычно, с помощью команды Add->Bone. Два комплекта цепей кости были добавлены с помощью симметричного выдавливания.


Перемещение кости: Для организации арматуры внутри меша вы можете перенести целые кости или отдельные корни и наконечники. Когда две кости соединены, можно двигать только соединение между ними. Не забывайте меню привязки (Shift+S), которое позволяет использовать 3D курсор в качестве точки отсчета как для костей, так и для объектов. Подсказка: Кости могут быть добавлены из меню Add->Bone или выдавлены из существующих костей с помощью клавиши E или нажав Ctrl+ЛКМ. -- Когда включена кнопка "X-Axis Mirror" во вкладке Armature на панели «Editing” (Редактирование), изменения на одной стороне арматуры также происходит на другой. Shift+E выдавливает симметрично.

Родитель/потомок кости и связанные отношения

Как и другие объекты в Blender'е, кости могут быть связаны отношениями родитель/потомок. Правильное создание этих отношений имеет важное значение для надлежащего функционирования рига. Если вы вспомните из вводной главы по анимации, объект потомок может двигаться независимо от своего родителя, однако он будет двигаться как единый объект с родителем, если будет перемещен родитель. Эта функция так же работает с арматурами и костями.


Например, кости человеческой руки расположены именно с помощью таких отношений родитель/потомок. Кисть руки может перемещаться сама по себе, как и предплечье. Однако, если плечо движется, и предплечье и кисть должны двигаться вместе с ним. Таким образом, в данном примере кисть - потомок предплечья, которое, в свою очередь, потомок плеча. Как мы упоминали ранее, кости, которые выдавливаются из наконечников других костей, создаются по умолчанию как потомки. Это делает создание таких цепей костей как руки очень простым.


Если у вас есть уже существующие кости, для которых хотите создать отношение родитель/потомок, в случае если они не были созданы по умолчанию, это можно легко сделать. Точно так же, как вы создаете такие же отношения с обычными объектами, сначала выберите объект потомка, затем Shift+ПКМ выберите родителя и нажмите Ctrl+P.


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


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


Когда вы используете Ctrl+P для создания отношения костей родитель/потомок, вы получаете возможность связать кости с соединенными отношениями или держать их отдельно с отсоединенными отношениями.


Этими отношениями можно также управлять с вкладки Armature Bones панели Editing. Родительские кости устанавливаются из выпадающего меню "child of", а кнопка "Con" переключает между соединением и отсоединением.

Рисунок RSD.06: Управление родителем/потомком на вкладке Armature Bones.
Увеличить
Рисунок RSD.06: Управление родителем/потомком на вкладке Armature Bones.


Подсказка: Кости с отношениями родитель/потомок могут быть соединены или отсоединены. Подключенная кость потомок не может быть перемещена самостоятельно.

Наименование кости

Наименование костей имеет очень важное значение, оно дает понять Blender-у, какие кости следует считать симметричными. Универсальная арматура может иметь несколько десятков костей, и когда вы анимируете, последнее что вам нужно - это догадываться, будет ли "bone.001", "bone.015" или "bone.007" являться тем, что нужно выбрать. Несмотря на то, что это утомительно, найдите время, понятно назовите ваши кости, и это спасет вас от головной боли позже. Выделенной кости присваивается имя во вкладке Armature Bones панели Editing или с помощью клавиши N, вызвав панель Transform Properties.

Фиксация вращения кости

Кости могут вращаться вокруг своей оси по длине. Хоть это и может быть полезно при анимации, но если заданы ненадлежащие значения вращения, включенные в первоначальную структуру в режиме редактирования, может нарушиться качество работы арматуры. После того как вы создали арматуру, крайне важно выбрать все кости и использовать клавиши Ctrl+N для полного пересчета вращения костей, чтобы убедиться, что вы начинаете анимировать с "чистого листа".


Подсказка: Никогда не начинайте работать в режиме позы прежде чем вы выбрали все кости в режиме редактирования и фиксировали вращение с помощью Ctrl+N.


Для некоторых эффектов вы можете вручную изменить вращение костей. Если Вы сделали это, то убедитесь, что не уничтожаете свой тяжелый труд, применив Ctrl+N к этой кости.

Обзор вкладки Armature (Арматура)

Рисунок RSD.07: Вкладка Armature (Арматура) на панели Editing (Редактирование).
Увеличить
Рисунок RSD.07: Вкладка Armature (Арматура) на панели Editing (Редактирование).


Вкладка Armature

Эта вкладка имеет параметры, которые применяются на уровне объекта. Эти настройки распространяются на все кости в арматуре.


Editing Options (Функции редактирования)

X-Axis Mirror: Включает симметричное редактирование для всех симметричных костей. Это прекрасный инструмент делает строительство арматуры гораздо проще. Когда она активирована, вы можете использовать Shift-E чтобы сделать симметричное выдавливание, которое обсуждалось ранее.


X-Ray: Заставляет арматуру быть видимой через все другие объекты, за исключением других арматур, для которых X-Ray активно. Это полезно, когда вы хотите управлять арматурой, но также желаете видеть, как она деформирует меш и не хотите использовать каркасный режим. Это часто используется при создании и позиционировании арматуры.

Display Options (Функции отображения)

Bone Layers (Слои Костей): Эти кнопки работают также как и основные кнопки слоя. Каждая кнопка представляет собой слой. Если кнопка включена, этот слой является видимым. Назначьте кости слой, нажав на кнопку слоя в прилегающей вкладке Armature Bones (см. ниже). Кнопки слоев в этой группе управления отображают слои. Иногда при использовании рига, который сделал кто-то другой, вы можете заподозрить, что имеются кости или органы управления, которые не видно. Скорее всего, они были перенесены на слой, который не отображается. Включите больше слоев, нажав Shift+ЛКМ на другие кнопки слоев, чтобы найти любые скрытые кости.


Display Modes (Режимы отображения): Эти кнопки устанавливают режим отображения арматуры. Только один тип отображения кости может быть задействован одновременно. Каждый тип отображения полезен для отображения чего-то другого, а так как у арматуры есть слишком много возможностей, то нет возможности их все визуализировать в рамках единого режима.


Octahedron (Октаэдр): тип отображения по умолчанию, который позволяет легко различать корни и наконечники костей. Полезен для работы над арматурой в режиме редактирования.


Stick (Палка): минималистский режим отображения хорош для снижения визуальной загроможденности. После завершения рига обычно используется режим Stick для чистого отображения.


B-Bone: "B-Bone" является аналогом "B-spline", математического способа описания кривых. В Blender B-Bone кость может изгибаться вдоль её длины. Вы можете добавлять сегменты в кость (кое-какие возможности визуализизации могут использоваться только с B-Bone костями) с тем, чтобы она могла изгибаться. B-Bones также позволяют масштабировать отображение размера кости без ущерба для любых других параметров. Это может быть полезно, если вы хотите сделать кости таза выглядящими большим блоком, или пальцы как небольшие тонкие кости. Некоторые аниматоры при работе с арматурой не используют присоединенный меш, а при необходимости регулируют B-Bones для имитации объемов персонажа. Помните, что это только визуальное изменение, не влияющее на функциональность арматуры.


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


Draw Axes (отображение осей): Отображает оси каждой кости в арматуре. Полезно при работе с ограничениями, когда нужно по осям определить как они должны функционировать.

Draw Names (Отображение имен): Показывает имена костей в 3D окне рядом с каждой костью.

Deform Options (Параметры деформации):

Vertex Groups(группы вершин)/Envelopes(влияние): Эти кнопки служат для определенных методов скининга.


Rest Position (Свободная позиция): Включение Rest Position отображает арматуру без любой информации позы. Вы не можете устанавливать какие-либо позы для костей в то время как арматура находится в Rest Position. Полезен для "замораживания" арматуры на месте, например, при работе с ключами формы.

Вкладка Armature Bones (Кости арматуры)

Рисунок RSD.08: Вкладка Armature Bones (Кости арматуры).
Увеличить
Рисунок RSD.08: Вкладка Armature Bones (Кости арматуры).


Когда кость выбрана в 3D окне, на этой вкладке отображаются её настройки.


BO: Название кости. Вы можете изменять его, нажав ЛКМ на названии и набрав новое. Hinge: Эта опция позволяет кости использовать отношения родитель/потомок. Включение этой функции заставляет кости наследовать местоположение от родителей, но игнорировать размеры и вращение. Иными словами, потомок остается связан с родителем, но не масштабируется и не вращается вместе с родителем.


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


Bone Layers (Слои костей): Показывает, каким слоям принадлежит выделенная кость. Shift+ЛКМ добавляет или удаляет назначение слоя точно так же как кнопки слоев для объектов. В сложных арматурах может быть множество костей, которые делают "закулисную" работу и только загромождают вид. Чтобы сделать жизнь проще, когда речь заходит об анимации, кости могут быть перенесены на слой, который не отображается. Кроме того, средства управления различных функций анимации могут быть организованы вместе на разных слоях.

Constraints (Ограничения)

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


Ограничения могут быть добавлены только в режиме позы. В режиме позы вкладка Constraints появится в панели Editing. Чтобы добавить ограничение, выберите его из выпадающего меню Add Constraint. Все ограничения имеют схожие средства управления:

Рисунок RSD.09: Вкладка Constraints отображает ограничение Copy Rotation (Копировать Вращение), добавленное к выбранной кости.
Увеличить
Рисунок RSD.09: Вкладка Constraints отображает ограничение Copy Rotation (Копировать Вращение), добавленное к выбранной кости.


Ограничения изменяют нормальную функцию и преобразование кости, связывая её в некотором роде с другой костью или объектом в сцене, называемыми "целью".


Все ограничения имеют текстовое поле OB:. Когда добавляется ограничение, это поле становится красным, поскольку ещё нет назначенного объекта. Введите имя объекта цели в этой области. Все ограничения требуют объекта: или обычный объект, или кость. Чтобы добавить кость как цель, сначала введите название своего объекта арматуры в поле OB:. Средство управления ограничением определяет, что это арматура, и появляется другое поле OB:. Введите имя кости, которую вы хотите иметь в качестве цели в этом новом поле.


Примечание: Если введенное имя исчезает после нажатия Enter, то вероятно потому, что вы ввели неправильное имя объекта. Помните, что имена объектов в Blender вводятся с учетом регистра.


Стек ограничений

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

Подробности ограничений

Более широко использование ограничений подробно описано ниже.

Copy Location (Копировать Место)

Рисунок RSD.10: Ограничение Copy Location (Копировать Место).
Увеличить
Рисунок RSD.10: Ограничение Copy Location (Копировать Место).
Рисунок RSD.10.a: Две кости, до и после добавления ограничения Copy Location (Копировать Место) на кость слева.
Увеличить
Рисунок RSD.10.a: Две кости, до и после добавления ограничения Copy Location (Копировать Место) на кость слева.


Copy Location принуждает объект иметь то же самое местоположение как и его цель. Перемещение цели также вызывает перемещение кости с ограничением, но ограниченная кость не может быть перемещена отдельно. Цель может быть или объектом или другой костью. Кнопки X,Y,Z указывают, какие оси копируются из цели. Все три включены по умолчанию, но отключения любого из них освободит ограниченную кость для самостоятельного движения вдоль этой оси.


Добавление двух ограничений Copy Location на объект или кость, которые указывают на разные цели, вызовет ограничение объекта всегда находиться на середине между целевыми объектами, если ползунок Influence (влияние) на нижнем в стеке ограничении настроен на 0,5.


Примечание: Кости потомки других костей будут игнорировать ограничение Copy Location, так как они не могут свободно перемещаться.

Copy Rotation (Копирование вращения)

Рисунок RSD.11: Ограничение Copy Rotation (Копирование вращения).
Увеличить
Рисунок RSD.11: Ограничение Copy Rotation (Копирование вращения).
Рисунок RSD.11.a: Две кости. На первой части левая свободно вращается, но на второй левая кость была ограничена с помощью Copy Rotation и вынуждена следовать другой.
Увеличить
Рисунок RSD.11.a: Две кости. На первой части левая свободно вращается, но на второй левая кость была ограничена с помощью Copy Rotation и вынуждена следовать другой.


Copy Rotation заставляет ограниченный объект соответствовать вращению целевого объекта. Подобно ограничению Copy Location, выбор опции кости появляется, если цель ограничения - другая кость. Как и в ограничении Copy Location, кнопки X,Y или Z позволяют запрещать вращение кости для этой оси. Можно изменить ее только путем вращения целевой кости.

Track To (Следить за)

Рисунок RSD.12: Ограничение Track To.
Увеличить
Рисунок RSD.12: Ограничение Track To.
Рисунок RSD.12.a: Кость слева имеет ограничение Track To, ориентированное на кость справа.
Увеличить
Рисунок RSD.12.a: Кость слева имеет ограничение Track To, ориентированное на кость справа.


Track To вынуждает ограниченный объект следить за целевым объектом. Когда вы перемещаете цель, ограниченная кость будет указывать на него. Кроме того, когда вы перемещаете ограниченную кость, она будет указывать на цель. Кнопки To: позволяют выбирать, какая ось ограниченной кости должна отслеживать цель (минус указывает на негативные X, Y и Z соответственно). Кнопки Up: позволяют выбирать, какой осью ограниченный объект повернут. Хорошая идея - включить Draw Axes во вкладке Armature, чтобы выяснить, где именно находятся оси.


Примечание: Одной осью нельзя одновременно отслеживать объект и поворачиваться к нему. Если вы попытаетесь это сделать, поле Const станет красным, и ограничение не будет работать корректно.

Locked Track (Замкнутое Слежение)

Рисунок RSD.13: Ограничение Locked Track.
Увеличить
Рисунок RSD.13: Ограничение Locked Track.

Ограничение Locked Track немного похоже на ограничение Track To, но позволяет ограничить движение ограниченного объекта. Это позволяет одной оси объекта быть заблокированной или игнорировать отслеживание. При работе с костями часто используется блокирование оси Y так, чтобы кость только поворачивалась к объекту.

Рисунок RSD.13.a: Центральная кость ограничена по оси Y. Дополнительная выдавленная из наконечника кость показывает, как она поворачивается к целевой кости.
Увеличить
Рисунок RSD.13.a: Центральная кость ограничена по оси Y. Дополнительная выдавленная из наконечника кость показывает, как она поворачивается к целевой кости.

Floor (Пол)

Рисунок RSD.13.5: Ограничение Floor
Увеличить
Рисунок RSD.13.5: Ограничение Floor


Ограничение Floor позволяет использовать целевой объект для указания местоположения плоскости, через который не может пройти ограниченный объект. Иными словами, оно создает пол (потолок или стену)! В обычном режиме он использует простое глобальное местонахождение объекта для определения барьера. С включенной опцией "Rot" вращение целевого объекта будет учитываться для создания наклонных полов.


Группа кнопок Макс/мин позволяют выбрать местоположение целевого объекта, где кости не могут пройти. Для пола используйте Z. Для потолка используйте -Z. Для стен используйте +/-X или Y. Цифра в ползунке Offset позволяет сдвигать пол или потолок, чтобы некоторые части вдали от центра объекта принимали глубину меша ног во внимание.

Рисунок RSD.13.5.a: В арматуре контроллеры ног, оба ниже уровня плоскости. На правой части было добавлено ограничение Floor для одного из контроллеров.
Увеличить
Рисунок RSD.13.5.a: В арматуре контроллеры ног, оба ниже уровня плоскости. На правой части было добавлено ограничение Floor для одного из контроллеров.


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


Keyframing Подсказка: Когда вы анимируете размещение ноги с ограничением Floor, всегда обязательно используйте опцию VisualLoc из меню Insert Key (Вставить ключ).

Stretch To (Натяжение В)

Рисунок RSD.13.7: Ограничение Stretch To.
Увеличить
Рисунок RSD.13.7: Ограничение Stretch To.

Stretch To заставляет ограниченный объект масштабироваться вдоль его Оси Y (его длина в случае с костью) в направлении целевого объекта. Это также имеет объемные особенности, которые вынуждают ограниченный объект сплющиваться, когда цель придвигается ближе, или вытягиваться, когда цель перемещается дальше. Этот объемный эффект можно отключить, нажав кнопку "NONE" (НЕТ).


Rest Length контролирует длину кости, когда арматура находится в положении покоя. Маленькая кнопка "R" рядом с Rest Length пересчитывает натяжение костей, установив натянутую кость в её первоначальное состояние.

Рисунок RSD.13.7.a: Кость слева с ограничением Stretch на кость справа. Как видите, кости могут значительно деформироваться при растяжении, поэтому используйте эту возможность с осторожностью.
Увеличить
Рисунок RSD.13.7.a: Кость слева с ограничением Stretch на кость справа. Как видите, кости могут значительно деформироваться при растяжении, поэтому используйте эту возможность с осторожностью.

Среди прочего, ограничения Stretch To используется для мультяшного типа ригов со сжатием и растяжением.

IK Solver (вычислитель инверсной кинематики)

Рисунок RSD.14: Ограничение IK Solver.
Увеличить
Рисунок RSD.14: Ограничение IK Solver.

Ограничение IK Solver - Blender вычисление инверсной кинематики, которое разъясняется ниже. IK Solver, вероятно, наиболее часто используемое ограничение. На самом деле, оно так часто используется, что имеет свою собственную клавишу, и определенные ограничения препятствий, которые требуют отдельной цели, были удалены. Хотя IK Solver может иметь обычную цель, которая полезна во многих ситуациях ригинга, она может быть удобно использоваться без неё.


ChainLen (длина цепи) позволяет предотвратить эффекту IK распространятся по всей цепочке костей, без отключения отношения родителей или отсоединения этих костей. Это было бы полезно, например, если в цепочку костей включены все, от костей шеи до кистей рук, с кистями имеющих IK Solver ограничения. Если вы не хотите, чтобы шейные кости были затронуты IK Solver, вы должны установить ChainLen на 2, указав, что IK эффект должен работать только для двух костей вверх по цепи.


Когда ChainLen равна нулю по умолчанию, IK Solver будет использовать все имеющиеся кости в цепи.

Рисунок RSD.14.a: Кость голени имеет IK Solver, указывающий на отдельный контроллер кости стопы. Поскольку контроллер движется, он тянет IK цепочки за собой.
Увеличить
Рисунок RSD.14.a: Кость голени имеет IK Solver, указывающий на отдельный контроллер кости стопы. Поскольку контроллер движется, он тянет IK цепочки за собой.

Прямая и инверсная кинематики

Цепочка из костей является рядом костей, где каждая кость - потомок другой кости, независимо от того, соединена или смещена она. Представьте, что вы анимируете руку и кисть, берущую яблоко. Сначала вы хотели бы установить позу для плеча. Остальные кости будут следовать за ней, поскольку все остальные в цепи - потомки плеча. После того, как вы добились установки плеча, вы хотели бы позиционировать предплечье, и кисть будет двигаться с ним. Наконец, вы хотите установить позу для кисти. Этот способ анимации, где вы начинаете в начале цепи и выставляете позу каждой кости индивидуально, называется прямая кинематика.


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


Когда нужно использовать FK (прямую кинематику), а в каких случаях - IK (инверсную кинематику)? Это вопрос личных предпочтений, хотя есть и практические соображения. Вообще, любая цепь, конечная точка которой будет оказывать физическое давление на окружающие предметы, будет использовать IK. Итак, ноги и ступни почти всегда используют IK, так как они контактируют с землей, перенося вес персонажа и отталкиваются от земли. Остальная часть тела, в том числе руки, обычно используют метод FK. Исключение - когда кистям необходимо связаться с внешним миром, когда они берут яблоко или хватаются за перила. Некоторые люди предпочитают риг с руками IK, но устанавливают влияние на 0 и используют только в случае необходимости. Другие предпочитают создавать такие цепи с AutoIK, но оставляют их в качестве ригов прямой кинематики.

Skinning (Скининг): Подключение арматуры к мешу

Создание и ригинг вашей арматуры - только полдела для анимации персонажей. Для того, чтобы ваша арматура делала что-то полезное, арматура должна быть присоединена к мешу объекта.


Armature Modifier (Модификатор Арматуры)

Если вы работали с главой 4, вы уже знакомы с модификаторами меша. Если нет, вот короткая версия: модификаторы являются функциями, которые изменяют меш. Присоединение модификатора арматуры для меша подобно ограничениям на арматуре: вы указываете вашу целевую арматуру, и это изменяет поведение объекта хозяина. Модификатор арматуры добавляется в меш первого выбранного меш объекта, а затем изменяется с помощью панели Editing. На вкладке Modifiers нажимаете кнопку "Add Modifier" и выбираете "Armature".

Рисунок RSD.15: Armature Modifier (Модификатор Арматуры).
Увеличить
Рисунок RSD.15: Armature Modifier (Модификатор Арматуры).


Выберите меш и во вкладке Modifier добавьте модификатор арматуры. Введите имя арматуры, с которой вы хотите связать свой меш. Не нажимайте кнопку Apply (Применить). Во вкладке модификаторов кнопка Apply удаляет модификатор и применяет любые изменения, которые были сделаны для меша.


После добавления модификатора арматуры к мешу и расположении должным образом самой арматуры, есть два варианта, как она будет деформировать меш: с помощью Envelopes (Оболочки) и Vertex Groups (Группы вершин). Вы можете использовать один из них или оба. Envelopes использует визуальные области эффекта для определения того, какие части меша перемещаются определенной костью. Vertex Groups дают вам прекрасный контроль, вплоть до уровня вершин меша, на которые можно влиять.

Envelopes (Оболочки)

Изображение:EB RSD.16.jpg
Рисунок RSD.16: Кости головы с Envelope на вкладке Armature Bones.

Многие люди считают Оболочки интуитивным способом работы. Чтобы увидеть Оболочку кости, включите тип отображения Envelope во вкладке Armature в панели Editing. Оболочка кости отображается белым эллипсом вокруг неё. Любая область меша, которая попадает в этот эллипс, будет деформирована при перемещении кости. Цель при использовании Оболочек заключается в том, чтобы изменить размер Оболочек так, чтобы они захватили только ту область меша, которую вы хотите деформировать с этой костью, но не более того.


Корректировка Оболочек может быть сделана и в режиме позы и в режиме редактирования. Используйте либо Alt+S или поле "Dist:" во вкладке Armature Bones, чтобы настроить распространения оболочек от кости. ПКМ выберите кость в режиме позы и нажатие Alt+S позволяет интерактивно изменять размеры envelopes без изменения размера самой кости. Кроме того, с помощью клавиши S в режиме редактирования, оболочки отображают только масштаб оболочек, а не костей. Находясь в режиме редактирования, вы можете масштабировать оболочки для всей кости, или масштабировать корни и наконечники индивидуально, в зависимости от того, что вы выбрали.

Изображение:EB RSD.17.jpg
Рисунок RSD.17: Арматура Хэнка с оболочками скорректирована для покрытия меша.


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

Vertex Groups (Группы вершин)

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


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


Для еще большего контроля вершинам, которые отнесены к группе, присваивают вес. Вес имеет значение от 0,0 до 1,0, и определяет, насколько сильно любые действия, выполняемые с группой вершин, повлияют на эту конкретную вершину. Например, если одна вершина появляется в двух различных группах вершин (что случается часто!), те группы вершин могут тянуть их вершины в двух различных направлениях. За какой группой последует вершина? Хорошо, если вес вершины в каждой группе - 0.5, группы имеют равное влияние на вершину, и она будет идти на компромисс. Однако, если вершина имеет вес 0,1 для первой группы и 0,9 для второй группы, вторая группа будет иметь большее влияние, и вершина будет следовать деформации второй группы в гораздо большей степени. Вес вершины всегда относителен с весом от конкурирующих групп.


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

Ручное Назначение Группы Вершин

Рисунок: вкладка Vertex Group.

Есть несколько путей для добавления вершины к группе вершин. "Ручной" способ дает наибольший контроль. В режиме редактирования на вашем меше выберите несколько вершин. На вкладке Link and Materials в панели Editing есть раздел Vertex Groups. Нажмите кнопку "New", чтобы создать новую пустую группу вершин.

Рисунок RSD.18: Органы управления группами вершин на вкладке Link and Materials в панели Editing.
Увеличить
Рисунок RSD.18: Органы управления группами вершин на вкладке Link and Materials в панели Editing.


Затем нажмите кнопку Assign для назначения отдельных вершин на только что созданную группу вершин. Когда вы нажмете Assign, выбранные вершин будут добавлены в список групп вершин, используя вес, который указан в поле Weight (Масса).


Примечание: Если вы изменили вес по какой-то причине либо вручную, либо через раскрашивание веса, нажмите Assign, и ваши вершины будут использовать любой вес, установленный в поле Weight, даже если он будет равен 0,0. Хорошая идея - убедиться, что он настроен на 1,0, прежде чем создавать и назначать новые группы вершин. Если группа вершин не действует так, как вы предполагали, виновником может быть назначение вершин с Weight, установленым в нечто иное, чем 1,0.


Разные группы вершин могут быть выбраны из выпадающего списка на вкладке Link and Materials. Вот некоторые из органов управления по работе с группами вершин: - Delete: удаляет группу вершин. При этом не будет удалены вершины из самого меша - помните, что группы вершин, это просто список вершин. Эта кнопка уничтожает список. -- Assign: добавляет вершины, которые в настоящее время выбраны в 3D окне, в активную группу вершин - Remove: удаляет вершины, которые в настоящее время выбраны в 3D окне, из активной группы вершин. Если вершины уже не были в группе, это никак не влияет. -- Select: выбирает в 3D окне вершины, которые относятся к активной группе вершин. Они добавляются к текущему выделению в 3D окне, но не заменяют его. -- Desel.: снимает выделение с вершин, которые выделены в 3D окне, и которые отнесены к активной группе вершин.

Назначение групп вершин раскрашиванием веса

Ручное добавление вершин к группам быстро становится утомительным. Иногда необходим такого рода уровень контроля вершин, но для более общего использования вы можете графически присвоить группам вершин вес. Это делается в режиме Weight Paint (раскрашивание веса), который может быть выбран в заголовке 3D окна.

Рисунок RSD.19: Выбор режима Weight Paint (раскрашивание веса).
Увеличить
Рисунок RSD.19: Выбор режима Weight Paint (раскрашивание веса).


Вы должны убедиться в том, что арматура находится в режим позы и установлена в X-Ray, чтобы она была видна через меш в то время как вы работаете. При переключении меша в режим Weight Paint он меняет цвет (все будет темно-синего цвета, если вы еще не добавили группы вершин), а курсор превращается в кисть.

Изображение:EB RSD.20.jpg
Рисунок RSD.20: Хэнк готов к раскрашиванию веса.

Как подходить к раскрашиванию веса

Выберите меш и переключитесь в режим Weight Paint. Выберите кость - если арматура в режиме позы, вы сможете выбрать ПКМ отдельные кости несмотря на то, что меш активен, - и нажмите клавишу W. Это отобразит сообщение "Apply Bone Envelopes to VertexGroups" (Применить Оболочки костей к группам вершин). Нажмите ЛКМ, чтобы подтвердить это, и вы увидите что меш изменит цвет. С точки зрения весов группы вершин, синий означает 0.0, красный означает 1.0, а остальная часть спектра между ними - промежуточные значения. Параметр клавиши W автоматически раскрашивает меш с влиянием оболочек отдельных костей, что является хорошим началом для настройки.


Фактически, если вы планируете использовать группы вершины для вашей деформации, нужно делать так: выключите Envelopes в меше на вкладке Modifiers и включите Vertex Groups. Выберите арматуру, переключитесь в режим позы и используйте клавишу A, чтобы выбрать все кости. Нажмите ПКМ на меше персонажа и переключитесь в режим Weight Paint. Прежде чем непосредственно выбрать любую кость, нажмите клавишу W и подтвердите, что вы хотите "Применить Оболочки к группам вершин". Даже если вы ничего не увидите, вы только что указали сначала раскрасить вес каждой кости в арматуре. Теперь выделения отдельных костей покажет вам свои веса на меше.

Рисунок RSD.21: Вкладка Paint для раскрашивания весов.
Увеличить
Рисунок RSD.21: Вкладка Paint для раскрашивания весов.


Фактически раскрашивать вес можно просто перетаскивая ЛКМ на меше модели в 3D окне. Контроль Weight (вес) на вкладке Paint устанавливает максимальный вес, каким будет красить кисть. Opacity (Прозрачность) означает, насколько вес будет раскрашиваться с каждым проходом кисти. Конечно, контроль Size (размера) указывает размер самой кисти. Некоторые люди считают полезным включения опции "Wire" в нижней части вкладки, которая наносит на меш каркасную структуру над раскрашиваемыми цветами. Если вы обнаружите, что вы внесли беспорядок в раскрашивание групп вершин, просто нажмите кнопку "Clear" для удаления любого веса для выбранной кости.


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


С выделенной костью можно использовать обычные инструменты позиционирования (вращение, перемещение) для преобразования ее, позволяя вам увидеть, насколько хорошо работает ваше раскрашивание веса. Фактически, вы можете установить позу для любой или для всех костей, а затем продолжать изменять вес раскрашивая в этой позе. Деформация будет обновляться в реальном времени, давая вам немедленную обратную связь, что повысит качество вашей работы. Если вы повернете руку вниз и увидите, что область ребер слишком деформируется, вы можете установить вес до 0,0 во вкладке Paint, Прозрачность примерно до 0,25 и начать раскрашивать в областях, которые искажаются слишком сильно.


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

Заключение

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


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

Личные инструменты