Cвязанная иерархия образуется при установке связи между двумя объектами. Впоследствии это позволяет трансформировать один из связанных объектов с помощью перемещения второго. Классическим примером связанной иерархии является человеческая рука — поворот плеча сопровождается перемещением локтя, запястья и пальцев. Определение связанных иерархий позволяет существенно упростить перемещение, позиционирование и анимацию многих объектов.
Система костей представляет собой уникальный случай связанной иерархии со специфической структурой. Скелетную систему можно получить из готовой связанной иерархии, а можно создать систему костей и постепенно присоединять к ней объекты. Основным преимуществом скелетной системы является то. что для управления структурой и для ее анимации предусмотрено такое средство, как IK Solver.
На созданную систему костей можно накладывать объекты с примененным модификатором Skin (Кожа). Данный модификатор объединяет объект-покрытие с находящейся под ним скелетной системой, после чего становится возможным синхронно их перемещать и сгибать.
Непосредственно под разворачивающейся панелью Advanced Parameters расположена разворачивающаяся панель Gizmos (Контейнеры). С ее помощью к выделенным вершинам "кожи" объекта применяют так называемые деформаторы (deformers). В разворачивающейся панели Gizmos представлено три типа деформаторов: Joint Angle Deformer (Деформатор угла пересечения). Bulge Angle Deformer (Деформатор угла выступа) и Morph Angle Deformer (Деформатор угла морфинга).
Каждый из перечисленных деформаторов по-своему уникален. Для них характерны следующие особенности.
Joint Angle Deformer. Деформирует вершины вокруг точки пересечения двух костей, где могут возникать проблемы с наложением кожи. Деформатор перемещает вершины как родительской, так и дочерней кости. Bulge Angle Deformer. Отодвигает вершины от кости, имитируя возвышающиеся над костями мускулы. Деформатор работает только с вершинами родительской кости. Morph Angle Deformer. Применяется к вершинам и родительских и дочерних костей для перемещения вершин на позицию морфа.Все примененные к коже объекта деформаторы перечислены в списке разворачивающейся панели Gizmo. Чтобы добавить или удалить деформаторы из списка, воспользуйтесь соответственно кнопками Add Gizmo и Remove Gizmo. Деформаторы допустимо копировать (Сору) и вставлять (Paste), применяя к другим наборам вершин. Прежде чем применить контейнер деформатора, необходимо выделить вершины кожи. Для этого достаточно установить флажок Vertices (Вершины) в разделе Select разворачивающейся панели Parameters и в окне проекции перетащить указатель мыши вокруг нужных вершин.
Параметры деформатора, указанного в разворачивающейся панели Gizmo, появятся после того, как этот же деформатор будет выделен в разворачивающейся панели Deformer Parameters. Здесь же перечислены родительские и дочерние кости для выделенных вершин, а также указан текущий угол между ними (Current Angle). Элементы панели Deformer Parameters изменяются в зависимости от выбранного деформатора.
Для деформаторов Joint Angle Deformer и Bulge Angle Deformer на панели Gizmo Parameters представлены кнопки редактирования контрольных решеток и ключей кривых. Кнопка Edit Lattice (Редактировать решетку) позволяет перемещать точки решетки в окне проекции. При щелчке на кнопке Edit Angle Key Curves (Редактировать кривые ключей угла) откроется окно Graph (График) с кривыми трансформации выбранного деформатора.
Средство Bone Tools предназначено для редактирования и дальнейшей работы с ранее созданной скелетной системой. Для доступа к этому средству в главном меню программы выберите команду Character>Bone Tools (Персонаж>Средство Bone Tools). В появившемся окне (рис. 31.4) представлены три разворачивающиеся панели: Bone Editing Tools (Средства редактирования костей), Fin Adjustment (Настройка ребер) и Object Properties (Свойства объекта).
В разворачивающейся панели IK Chain Assignment (Назначение цепного контроллера обратной кинематики) выбирают тип обратной кинематики: определяемый историей (History Dependent), независимый от истории (IKHISolver), сустав обратной кинематики (IKLimb) и сплайн обратной кинематики (SplineIKSolver). Каждый тип контроллера может быть применен как к основной (флажок Assign To Root), так и к дочерним (флажок Assign To Children) костям. Для присвоения контроллера обратной кинематики всем костям системы необходимо установить оба упомянутых флажка. Если флажок Assign To Children не установлен, флажок Assign To Root становится недоступным.
Более детально о типах контроллера обратной кинематики речь идет в главе 33, "Основы применения систем обратной кинематики". |
Щелчок на кнопке Weight Table (Таблица веса) открывает одноименное окно, показанное на рис. 31.10. В колонке Vertex ID окна Weight Table перечислены все вершины (в соответствии с идентификационным номером) объектов с оболочкой. Все кости приведены в строке, расположенной в верхней части окна. Таким образом, в этом окне вы можете указать вес каждой вершины или кости.
В самом начале работы с костями можно столкнуться с тем, что, например, одна из костей позвоночника созданного вами монстра слишком велика и не позволяет модели двигаться так, как было задумано. В таких случаях внести исправления в отдельно взятые кости можно с помощью кнопки Refine (Оптимизировать). Эта кнопка находится в группе Bone Tools разворачивающейся панели Bone Editing Tools.
Щелкнув на кнопке Refine, можно выделять кости непосредственно в окне проекции. В том месте, где вы щелкнули мышью, выделенная кость разбивается на две части. Чтобы выйти из режима исправления костей, щелкните на кнопке Refine еще раз.
Воспользовавшись кнопками трансформации основной панели инструментов, можно переместить, повернуть или изменить масштаб выбранной кости вместе с ее дочерними костями. Но для трансформации только родительской кости (без изменения дочерних) вам понадобится средство Bone Tools. В режиме редактирования кости (кнопка Bone Edit Mode) можно перемещать и преобразовывать выбранную кость, не оказывая при этом никакого воздействия на ее дочерние кости.
Щелчок на кнопке Remove Bone позволит удалить выбранную кость без разъединения цепочки костей. Чтобы избежать разъединения, дочерняя кость будет вытянута и соединена с ближайшей костью редактируемой цепочки костей. Если щелкнуть на кнопке Remove Bone, удерживая нажатой клавишу <Shift>, то вытянута будет не дочерняя, а родительская кость. Щелчок на кнопке Delete Bone удаляет выделеннную кость и добавляет конечную кость к последней дочерней кости.
После удаления кости с помощью клавиши <Delete> к дочерней кости не добавляется конечная кость. Вследствие этого полученная цепочка костей будет работать неправильно с контроллером обратной кинематики. |
Чтобы добавить конечную кость к кости, которая не соединена с другой костью, щелкните на кнопке Create End. Для последующей работы с контроллером обратной кинематики цепочка костей должна заканчиваться конечной костью.
С помощью кнопки Connect Buttons можно соединить выделенную кость с какой-либо другой костью. Для этого нужно выбрать кость, щелкнуть на кнопке Connect Buttons, а затем на другой кости.
Кнопка Reassign Root позволяет изменить прядок в иерархии цепочки костей. При этом конечная кость перемещается от новой родительской кости к последней дочерней.
Модификатор Skin предназначен для создания кожной оболочки системы костей. Каждый объект, к которому применен модификатор Skin, приобретает форму капсульной оболочки. В месте перекрытия поверхности двух оболочек накладываются друг на друга подобно коже на суставе. Подобные оболочки применимы к NURBS-объектам, каркасам, кускам Безье, костям и даже к сплайнам.
В разворачивающейся панели Parameters этого модификатора предусмотрена кнопка Edit Envelope (Редактировать оболочку). Щелчок на ней активизирует специальный режим редактирования, с помощью которого можно изменить оболочку каждой кости. В этом ре-
жиме редактирования оболочка, расположенная в пределах объекта, окрашена в синий цвет; оболочка, расположенная за пределами объекта, окрашена в красный цвет. Такое цветовое разграничение оболочек значительно упрощает процесс их редактирования. После редактирования оболочку можно скопировать, а затем вставить для других костей.
В разворачивающейся панели Parameters приводится список всех костей, к которым применен модификатор Skin. В этой панели предусмотрены кнопки для добавления (Add) и удаления (Remove) костей, добавления и удаления поперечных сечений оболочек (группа Cross Sections), а также элементы управления для позиционирования и изменения размеров оболочек. В разделе Weight Properties указывают вес различных вершин оболочки. Для модификатора Skin предусмотрено три уникальных деформатора, с помощью которых можно управлять изгибом оболочек в точках пересечения (Joint Angle Deformer), в выступах (Bulge Angle Deformer) и в процессе морфинга (Morph Angle Deformer).
Модификатор Skin является одним из ключевых средств для анимации персонажей. Даже возможность управления скелетной системой с помощью обратной кинематики сама по себе не так интересна, если кости не покрыты оболочкой. Модификатор Skin применяется как к одному объекту, так и к группе объектов с помощью списка модификаторов или команды Modifiers>Animation Modifiers>Skin.
Разворачивающаяся панель Bone Parameters (Параметры костей) включает параметры для корректировки размеров каждой отдельно взятой кости, в том числе ее ширину (Width) и высоту (Height). Здесь же в процентном отношении указывают конусообразность (Taper) выделенной кости.
В группе Bone Fins (Ребра костей) устанавливают параметры отображения переднего (Front Fin), заднего (Back Fin) и боковых ребер (Side Fins). Каждому ребру назначается размер (Size), а также начальная (Start Taper) и конечная (End Taper) конусообразность. Использование ребер значительно упрощает размещение и вращение костей. На рис. 31.2 показана простая система, состоящая из двух костей. У первой кости отображены ребра.
В разворачивающейся панели Fin Adjustment Tools (Настройка ребер) средства Bone Tools предусмотрены такие же параметры, как в разворачивающейся панели Bone Parameters вкладки Create. Здесь вы можете указать размеры и конусообразность выделенной кости и ее ребер. Но параметры, выбранные в разворачивающейся панели Fin Adjustment Tools, можно применить абсолютно (Absolute) или относительно (Relative) выделенной кости. Установка переключателя Relative позволяет применить выбранные параметры относительно параметров кости, которая в цепочке костей находится выше выделенной.
Кнопка Сору (Копировать) позволяет копировать параметры выделенной кости, кнопка Paste (Вставить) — вставлять скопированные параметры для другой кости.
Присваивать вершинам оболочки определенный вес — это еще один способ определить, какие из этих вершин должны перемещаться вместе с костью. Для того чтобы изменить цвет, а значит, и вес вершин на поверхности оболочки, достаточно щелкнуть на кнопке Paint Weights (Окрасить по весу).
Щелчок на кнопке с тремя точками (...), расположенной справа от кнопки Paint Weights, открывает диалоговое окно Painter Options (Параметры окрашивания), которое показано на рис. 31.11.
Таблица 31.1. Кнопки раздела Envelope Properties
Вторая кнопка (Envelope Visibility) активизирует режим отображения всех оболочек, даже невыделенных. Делается это для того, чтобы увидеть наложение соседних костей. Третья кнопка (Falloff) управляет кривой спада оболочек. В ее раскрывающемся меню находятся такие кнопки, как Fast Out (Ускоренная). Slow Cut (Замедленная), Linear (Линейная) и Sinual (Плавная). С помощью двух последних кнопок группы Envelope Properties можно копировать (Сору) и вставлять (Paste) параметры оболочки для других костей. В раскрывающемся меню кнопки Paste представлены такие кнопки, как Paste (Вставить для отдельной кости). Paste to All Bones (Вставить для всех костей). Paste to Multiple Bones (Вставить для нескольких костей). При активизации последней кнопки откроется диалоговое окно Paste Dialog, в котором можно выбрать кости для вставки параметров.
Если в разворачивающейся панели Object Properties средства Bone Tools установить переключатель Squash (Расплющивание), в одноименном поле группы Envelope Properties можно ввести степень расплющивания объекта.
В некоторых случаях иерархию объектов проще установить перед их связыванием. Создав иерархию, вы можете быть уве-ренными в наличии связи между объектами. Один из способов построения такой иерархии — использование скелетной системы (bones system), или системы костей. Скелетная система состоит из множества взаимосвязанных объектов костей. Такие объекты обычно не визуализируются, тем не менее они могут быть визуализированы таким же способом, как в случае со сплайнами. Для управления движением объектов костей необходимо выбрать контроллер обратной кинематики (IK Solver).
Чтобы построить скелетную систему, активизируйте вкладку Create, щелкните на кнопке категории Systems (Системы), а затем на кнопке Bone (Кость). Теперь щелкните внутри окна проекции для создания основной кости. Щелчок на небольшом расстоянии от уже существующей кости позволит создать новую кость, связанную с предыдущей. Завершив создание этой структуры, щелкните правой кнопкой мыши для выхода из режима построения костей. Используя описанную выше методику, можно легко создать цепочку взаимосвязанных объектов костей.
Все созданные кости соединены концами, поэтому перенос одной кости приводит к перемещению соседних с ней костей цепочки. Кости можно также вращать, масштабировать и растягивать. При этом масштабирование скелетной системы приводит к изменению расстояния между костями.
Для разветвления иерархии костей достаточно просто щелкнуть на точке соединения или линии в режиме создания цепочки костей. Это приведет к автоматическому выделению и соединению всех дополнительных костей с предыдущей. Для создания новой кости еще раз щелкните на кнопке Bone. Последующие щелчки в окне проекции позволяют добавлять в ветвь новые кости.
Разворачивающиеся панели, доступные в режиме создания костей, показаны на рис. 31.1.
Любой объект можно заставить действовать аналогично кости. Для преобразования выделенного объекта в кость необходимо воспользоваться разворачивающейся панелью Object Properties
(Свойства объекта) средства Bone Tools. В разворачивающейся панели Object Properties, изображенной на рис. 31.6, среди прочих параметров находится флажок Bone On. При его установке объект начинает действовать аналогично кости. Одновременно становятся доступными и другие параметры группы Bone Properties (Свойства кости). Флажок Auto-Align автоматически выравнивает опорные точки примыкающих костей. При установленном флажке Freeze Length кость сохранит свою длину во время перемещения скелетной системы. Если же этот флажок снят, то в группе Stretch (Растяжение) можно выбрать тип растяжения кости. Переключатель None (Нет) предотвращает какое-либо растяжение, переключатель Scale (Масштаб) изменяет размеры кости вдоль одной оси. Если же выбран переключатель Squash (Расплющивание), кость становится шире по мере уменьшения длины и сужается при удлинении. В группе Axis (Ось) выбирают ось, вдоль которой происходит растяжение. Здесь же находится флажок Flip (Поворот).
Обычно систему костей не используют в ее обычном виде, а присоединяют к ней "кожу". С помощью модификатора Skin (Кожа) любой каркас можно преобразовать в кожу, покрываю-щую систему костей. Кожа, присоединенная к системе костей, повторяет все движения скелета.
Безусловно, работа с оболочками и управление ими не лишены сложностей. С помощью раздела Select (Выделить) можно ограничить выделение в окне проекции только нужных вам элементов — вершин (Vertices), оболочек (Envelopes) и/или поперечных сечений (Cross Sections).
В поле Abs. Effect группы Weight Properties (Свойства веса) указывают вес выбранной кости или вершин. При активизации параметра Rigid (Закрепить) выделенные вершины будут передвигаться только в соответствии с перемещением ближайшей кости. Если активизирован флажок Rigid Handles (Закрепить манипуляторы), то на метки выделенных вершин будет оказывать влияние только ближайшая кость. Активизация параметра Normalize (Нормировать) приводит к тому, что к весу каждой выделенной вершины прибавляется единица.
С помощью кнопок Exclude Vertices (Исключить вершины). Include Vertices (Включить вершины) и Select Exclude Vertices (Выделить исключенные вершины) удаляют и добавляют окрашенные вершины выделенной кости.
Подобно другим объектам, костям можно назначить цвет или присвоить какой-либо материал с помощью редактора материалов (Material Editor). Цвет каждой отдельной кости можно изменить во вкладке Modify или с помощью средства Bone Tools.
Кроме того, средство Bone Tools позволяет применить к цепочке костей градиентную заливку. Группа элементов Gradient Coloring (Градиентная заливка) становится доступной, если выбрано две кости (или более). Цвет Start Color применяется к началу цепочки костей, цвет End Color — к ее окончанию. Для применения или обновления цветов заливки необходимо щелкнуть на кнопке Apply Gradient (Применить градиентную заливку). На рис. 31.5 показана длинная спиралеобразная цепочка костей, к которой применена заливка от белого цвета (Start Color) к черному (End Color).
В разворачивающейся панели Parameters приводится список всех костей, к которым применен модификатор Skin. Для добавления и удаления костей из списка воспользуйтесь кнопками Add Bone (Добавить кость) и Remove Bone (Удалить кость). Кнопка Edit Envelope (Редактировать оболочку) активизирует режим редактирования оболочки для выделенной в списке кости. Щелчок на кнопке Edit Envelope аналогичен активизации режима редактирования субобъекта Envelope в стеке модификаторов.
На рис. 31.8 показан объект Loft (Опорное сечение), окружающий цепочку из трех костей, к которым применен модификатор Skin. В список модификатора Skin кости добавлены с помощью кнопки Add Bone. После этого первая кость в списке была выделена и с использованием кнопки Edit Envelope была показана ее оболочка.
В нижней части разворачивающейся панели Bone Parameters находится флажок Generate Mapping Coordinates (Генерировать координаты карты). Поскольку кости являются визуализируемыми объектами, с помошью этого параметра вы сможете применить к ним карту текстур.
Средство Воле Tools впервые появилось в пятой версии 3ds max. |
Возможность градиентной заливки костей впервые появилась в пятой версии 3ds max. |
Чтобы развернуть кость в правильном направлении по отношению к другим костям цепочки, щелкните на кнопке Realign. Щелчок на кнопке Reset Stretch возвратит кости ее первоначальную длину.
С помощью кнопки Add Cross Section каждому субобъекту Envelope можно добавить поперечное сечение. Щелчок на этой кнопке позволит выбрать форму поперечного сечения оболочки в окне проекции. Воспользовавшись кнопкой Remove Cross Section, вы сможете удалить поперечное сечение оболочки.
Отображающаяся в окне проекции оболочка Envelope представляет собой две вложенные друг в друга области в форме капсулы. На концах областей находятся четыре небольших квадратных маркера, перетаскивая которые вы можете изменить радиус поперечного сечения. При выделении зоны сечения ее цвет меняется на розовый. Увидеть точный радиус выделенного сечения можно в поле Radius раздела Envelope Properties (Свойства оболочки) разворачивающейся панели Parameters.
В окне проекции красным цветом окрашены те вершины на поверхности оболочки, которые входят в состав субобъекта Envelope. He входящие в состав субобъекта вершины окрашены в синий цвет. Таким образом, цвет вершин помогает увидеть, какие именно секции оболочки будут перемещаться вместе с костями.
На рис. 31.9 показана оболочка первой кости. Обратите внимание на то, как увеличился размер оболочки. Для этого достаточно переместить маркеры поперечного сечения. Верхняя секция также окрашена в красный цвет. Это означает, что оболочка будет перемещаться вместе с костью.
Раздел Envelope Properties разворачивающейся панели Parameters наряду с остальными элементами содержит пять кнопок, которые приведены в табл. 31.1. Первая (Absolute/Relative) служит переключателем между абсолютным и относительным режимами. Если эта кнопка не активизирована (режим Absolute), всем вершинам, попадающим во внешнюю зону оболочки, присваивается полный вес. Если же кнопка Absolute/Relative нажата, то полный вес будет действителен только для вершин, включенных в зону двух оболочек.
Средство Weight Table впервые появилось в пятой версии 3ds max. |
С помощью команд меню Edit (Правка) можно копировать (Сору) и вставлять (Paste) значения веса, а также выделять все значения (Select All), инвертировать (Select Invert) или отменить выделение (Select None). Выделенные вершины можно преобразовывать в именованные наборы (Vertex Sets>Create Vertex Set). Удаляют именованные наборы с помощью команды Vertex Sets>Delete Vertex Set.
Команда Options>Flip Ul (Параметры>Обратить интерфейс) позволяет отобразить кости в первом столбце, а идентификаторы вершин в строке, расположенной в верхней части окна Weight Table. Команда Update On Mouse Up позволяет ограничить обновления, пока не будет отпущена кнопка мыши. Остальные команды меню Options предназначены для сокрытия/отображения интерфейсных элементов. Команда Show Affected Bones позволяет отобразить в списке окна Weight Table только те кости, которые оказывают влияние на вершины. Команда Show Attributes отображает столбец с атрибутами S, М, N, R и Н (каждый из этих атрибутов описан ниже). После активизации команды Show Exclusions (Показать исключения) в каждой ячейке появляется флажок, который позволяет исключить любую вершину. Выбор команды Show Global сопровождается появлением раскрывающегося списка, с помощью которого можно установить атрибуты сразу для всех вершин. После активизации команды Show Locks (Показать блокировку) в каждой ячейке появляется еще один флажок. Активизация этого флажка (крайний слева) блокирует значение веса. Блокированное значение веса изменить нельзя. Активизация команды Show Set Sets Ul сопровождается появлением группы параметров Vertex Sets (Наборы вершин) с двумя кнопками: Create (Создать) и Delete (Удалить).
Атрибутом S отмечены выделенные вершины: атрибутом М — вершины с измененным весом; N — нормированные вершины; R — закрепленные вершины; Н — вершины с закрепленными манипуляторами.
Чтобы изменить вес, найдите вершину нужной кости, щелкните в соответствующей ячейке и введите новое значение. Если после щелчка перетащить указатель мыши влево или вправо, значение ячейки изменится автоматически. Значение веса можно перетаскивать от ячейки к ячейке. Для того чтобы в ячейке установить значение, равное нулю, достаточно щелкнуть в пределах этой ячейки правой кнопкой мыши. Если при щелчке правой кнопкой мыши удерживать нажатой клавишу <Ctrl>, значение в ячейке установится равным единице.
После установки веса вершин можно воспользоваться кнопкой Bake Selected Verts (Блокировать выделенные вершины) разворачивающейся панели Parameters. Эта кнопка блокирует значения веса. Благодаря этому изменения оболочки не повлияют на измененные значения веса вершин.
Диалоговое окно Painter Options впервые появилось в пятой версии 3ds max. |
В полях Min/Max Strength вводят минимальное и максимально возможное значение веса вершин. В полях Min/Max Size — минимальный и максимальный размер кисти. Ниже расположена кривая, с помощью которой можно управлять величиной веса в зависимости от расстояния до центра кисти. Это поможет избежать резких изменений в значениях веса вершин (если это происходит, то мускулы выглядят очень забавно). Непосредственно под кривой расположены кнопки для быстрого определения формы кривой: Linear (Линейная), Smooth (Сглаженная), Slow (Выпуклая), Fast (Вогнутая) и Flat (Пологая).
Параметры группы Display Options (Параметры отображения) определяют внешний вид кисти: в форме окружности (Draw Ring) и в виде нормали к поверхности (Draw Normal); если установлен флажок Draw Trace, то кисть будет оставлять временный след на поверхности объекта. Нормаль можно масштабировать с помощью параметра Normal Scale (Масштаб нормали). Если установить флажок Marker, у основания нормали появится круглая метка.
Чувствительность кисти к нажатию активизируют с помощью флажка Enable Pressure Sensitivity. Среди эффектов нажатия можно выбрать следующие: None (Нет), Strength (Интенсивность), Size (Размер) и Size/Str (Интенсивность и размер). Воспользовавшись кнопками Predefined Strength и Predefined Size, можно открыть диалоговые окна, в которых настраивают кривые интенсивности и размер кисти.
Активизация параметра Mirror (Зеркальное отображение) позволяет окрашивать вершины симметрично относительно выбранной оси. В полях Offset и Gizmo Size указывают величину смещения и размер кисти. Эти параметры могут быть полезны в том случае, если необходимо симметрично деформировать мускулы. Параметры Tree Depth, Update on Mouse Up и Lag Rate управляют частотой обновления сцены и параметрами мазков кисти.
С помощью разворачивающейся панели Display контролируют вил объекта в окне проекции. Параметры панели таковы: Show Colored Vertices (Показать вес вершин определенным цветом). Show All Envelopes (Показать все оболочки), Show All Vertices (Показать все вершины). Show All Gizmos (Показать все контейнеры), Cross Section on Тор (Показывать поперечные сечения поверх объектов). Envelopes on Top (Показывать оболочки поверх объектов).
Разворачивающаяся панель Advanced Parameters (Дополнительные параметры) включает флажок Back Transforms Vertices. Активизация этого параметра предотвращает установку ключей трансформации, если движением оболочки управляет система костей. Активизировав параметры Rigid Vertices и Rigid Patch Handles, можно управлять вершинами с помощью только одной кости. Эта же разворачивающаяся панель включает кнопки для восстановления параметров вершин и костей: Reset Selected Vertices (Восстановить параметры выбранных вершин). Reset Selected Bone (Восстановить параметры выбранных костей) и Reset All Bone (Восстановить параметры всех костей). Здесь же содержатся кнопки для сохранения и загрузки оболочек (Save и Load). Оболочки сохраняются в файлах с расширением . env.
Единственный субобъект модификатора Skin — субобъект Envelope (Оболочка). Этот субобъект представляет собой окружающую кость область, с помощью которой определяются вершины объекта Skin, перемещающиеся вместе с костью. В режиме редактирования субобъектов Envelope можно корректировать размер и функции субобъекта.
Вне всяких сомнений, фламинго — это тот самый персонаж, которому скелетная система просто необходима. Ноги этой птицы представляют собой кости практически в чистом виде. Модель фламинго, с которой нам предстоит работать в этом примере, была разработана и предоставлена компанией Viewpoint Datalabs.
Чтобы применить к модели фламинго модификатор Skin, выполните ряд действий.
В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 31. zip, распакуйте его и откройте файл FFlamingo skin.max. Все части находящейся в файле модели фламинго объединены в связанную иерархию. Части ноги составляют один объект. Прежде всего создайте систему костей для поднятой ноги фламинго. Во вкладке Create щелкните на кнопке категории Systems, затем на кнопке Bones. Щелкните в том месте модели, где верхняя нога птицы соединяется с телом, последовательно создайте все суставы до стопы. Щелчком правой кнопкой мыши завершите создание скелетной системы. В обшей сложности в систему включено пять костей: одна присоединяет ногу к телу, три составляют собственно ногу и последняя завершает скелет ноги. С помощью кнопок Select and Move (<W>) и Select and Rotate (<E>) основной панели инструментов выровняйте верхние кости ноги. Если какая-либо кость была случайно повернута, выделите все кости, откройте вкладку Hierarchy и в группе Reset (Сбросить) разворачивающейся панели Adjust Transform (Корректировка трансформации) щелкните на кнопке Transforms (Трансформации). Выделите левую (поднятую) ногу и выберите команду Modifiers>Animation Modifiers> Skin, применив к ноге соответствующий модификатор. В разворачивающейся панели Parameters щелкните на кнопке Add Bone (Добавить кость). Откроется диалоговое окно Select Bones. Выберите три средние кости и щелкните на кнопке Select. Первая и последняя кости не влияют на работу модели, поэтому выделять их нет необходимости. В списке разворачивающейся панели Parameters выделите первую кость и щелкните на кнопке Edit Envelope. С помощью кнопки Zoom Region (группа кнопок Viewport Navigation в нижнем правом углу окна 3ds max) увеличьте кости в окне проекции. Выделив маркеры поперечного сечения кости, в поле Radius введите значение 0,3 (рядом с туловищем). Для концов кости сделайте этот же параметр равным 0,2. Выделив вторую кость в списке, задайте новые значения параметра Radius — 0,5 и 0,6 соответственно. После этого выделите последнюю кость, для которой значения параметра составят 1,0 и 2,0.На рис. 31.12 продемонстрирована получившаяся оболочка одной из костей.
Транспортные средства, живые существа и другие подобные им модели, как правило, обладают естественным набором связей и связываются уже в момент создания. Для таких объектов как нельзя лучше подходит система костей. В примере этого раздела воспользуемся разработанной компанией Viewpoint Datalabs моделью плюшевого медвежонка.
Чтобы применить систему костей к связанной модели, выполните следующее.
В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 31. zip, распакуйте его и откройте файл Teddy bear .max. В файле содержится модель плюшевого медвежонка. Щелкните на кнопке Select and Link (Выделить и связать) основной панели инструментов. Перетащив указатель мыши от левой ноги к телу, создайте дочернюю связь с туловищем. Повторите эту же операцию для правой ноги, рук и головы. Аналогичным образом свяжите нос с головой. Объединив все объекты в связанную иерархию, выберите команду Characters Bone Tools. Появится окно средства Bone Tools. В разворачивающейся панели Object Properties установите флажки Bone On и Auto-Align. Затем выберите переключатель Squash. В разворачивающейся панели Link Display (Показать связи) вкладки Display установите флажок Display Links, чтобы в окне проекции увидеть связи между костями.Модель плюшевого медвежонка со скелетной структурой показана на рис. 31.7. Как видите, кости создаются в опорных точках всех дочерних объектов. Чтобы увидеть, чем скелетная система отличается от связанной, щелкните на кнопке Select and Move (Выделить и переместить) и попробуйте сдвинуть голову медвежонка. Поскольку это кость скелетной системы, переместить ее отдельно от туловища не удастся.
Начнем с простого, например с куклы. Сейчас нам предстоит создать ее скелет. Если назначить контроллер обратной кинематики до начала построения костей, то по окончании работы можно сразу приступать к анимации куклы.
Для создания элементарного скелета куклы выполните ряд действий.
Откройте вкладку Create, щелкните на кнопке категории Systems, затем на кнопке Bones. Из раскрывающегося списка IK Solver разворачивающейся панели IK Chain Assignment выберите элемент IKLimb. Для того чтобы видеть ориентацию каждой кости, установите флажок Side Fins. В окне проекции Front щелкните мышью в том месте, где будет располагаться голова куклы, затем там, где должна находиться шея. Аналогичным образом создайте объекты спинного хребта, таза, правого бедра и ноги, кости стопы. Чтобы завершить построение цепочки костей, щелкните правой кнопкой мыши. При активизированной кнопке Bones в окне проекции Front щелкните в области таза и перетащите курсор влево, создав левое бедро. Затем щелкните мышью, чтобы создать левую ногу и левую стопу. Щелкните правой кнопкой мыши, чтобы завершить построение цепочки костей. Чтобы получить правую руку, щелкните мышью в области шеи и последовательно создайте правое предплечье, руку и кисть. Щелкните правой кнопкой мыши, чтобы завершить построение цепочки костей. Повторив действия, описанные в п. 4, создайте левую руку. Выйдите из режима создания костей, щелкнув на кнопке Select Objects (Выбрать объект) основной панели инструментов. Последовательно выделите каждую кость и присвойте ей имя, чтобы впоследствии их было проще различать.На рис. 31.3 продемонстрирована законченная скелетная система куклы. Чтобы увидеть в действии контроллер обратной кинематики, достаточно выделить концевую кость любой цепи и переместить ее.