Постановка и  оснащение персонажа в Maya

В этой главе описаны этапы создания полнофункциональной  оснастки  (rig) сложного персонажа. Основное внимание уделено оснащению скелета  (skeleton), обеспечивающе­ го перемещение  таких частей модели, как  руки  или  ноги, а также системе инверсной ки­ нематики всего тела (Full Body IK  —  FBIK), позволяющей гораздо комфортнее выпол­ нять базовую  постановку персонажа. Кроме того, описано, каким образом управляющие структуры упрощают работу с оснасткой.

Независимо от того, создается ли  оснащение с самого начала, или используется уже го­ товая оснастка персонажа для анимации, очень важно изучить процесс ее создания: это по­ знакомит с ограничениями,  накладываемыми  конкретной оснасткой на процесс анимации, а также  раскроет причины возможных  проблем. Кроме того, в  этой главе  рассматривается терминология оснащения  и  то, как сообщить специалисту по  оснащению (rigger), что имен­ но от него необходимо. В настоящей главе рассматриваются следующие темы.

•         Типы деформаторов:  скелеты, кластеры и  решетки

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

•         Создание правильного двуногого скелета

•         Использование для скелета новой инверсной кинематики  всего тела

•         Создание оболочки  персонажа

Типы деформаторов  

Деформатор  (deformer) —  это  мощный инструмент, используемый  художниками  по оснащению для изменения  частей связной геометрической  формы или  придания  струк­ туры и  связности  набору геометрических форм,  которые при других обстоятельствах  мо­ гут быть  несвязными  между  собой.  Без  таких деформаторов, как  скелеты  (skeleton)  и решетки  (lattice),  пришлось бы перемещать целые объекты или  же кропотливо  переме­ щать все без разбора контрольные точки  сетки  оболочки. Таким  образом, в  наборе инст­ рументов  аниматора ключевыми  элементами  являются деформаторы, которые представ­ ляют   большую   группу    инструментов, включающую  скелеты,   плавные  модификации (blend  shape),  покачивания (jiggle) и  деформаторы решеток.  Несмотря на  существование множества  типов  деформаторов,  при  конструировании  в  Maya  первичной оснастки  пер­ сонажа  специалисты по   оснащению наиболее   часто   используют  скелеты,   кластеры (cluster), решетки  и  плавные  модификации. Другие  деформаторы, например деформатор покачивания,  чаще  всего используются для  управления вторичной анимацией  (такой, как  колебания мышц) и  при  необходимости  обычно добавляются к  персонажам в  конце

процесса оснащения. Большинство  оснасток содержат такие элементы, как  скелет,  кла­ стер и  деформирующие решетки, поэтому детально обсудим именно их.

Не  забывайте, что  в   качестве эффективных инструментов   моделирования   можно также использовать суставы (joint) и  другие деформаторы. В предыдущих главах, а  так­ же в  главе 10,  "Нелинейная анимация",  описывается  использование  деформаторов  для статического  изменения поверхности  модели. В данной главе внимание будет сосредото­ чено на использовании деформаторов в  качестве инструментов  анимации.

Скелеты

Подобно  настоящему  скелету,  в    Майя  скелет  (skeleton)  также  состоит из   костей (bone)  и   суставов (joint).  В  реальной  жизни  скелет  человека или  животного  является защитной и  архитектурной  структурой, которая вмещает и  защищает  жизненно важные органы, поддерживает его форму и  с помощью прикрепленных к  костям мышц обеспечи­ вает возможность перемещения.  В Майя сочетание в скелете  костей и  суставов  функцио­ нирует подобно настоящим костям, мышцам и  связкам, т.е.  поддерживает общую форму персонажа и  в  то же время позволяет частям связной  геометрической  оболочки  переме­ щаться с места на место.

Для создания скелета в  Майя воспользуйтесь инструментом Joint (Сустав) (для  чего в     наборе   меню   Animatio n   (Анимация) выберите пункт   Skeleto n   =>   Joint   Too l (Скелет  =>  Инструмент сустав)), набросайте на  сцене  скелет,  устанавливая  щелчками мыши  суставы там, где они  кажутся необходимыми.  (Наиболее часто  суставы  распола­ гаются в  геометрической форме завершенной модели  персонажа.)  По  мере размещения суставов  на своих  местах Майя будет соединять их  между собой  визуальными  связями, называемыми  костями (bone): в  паре сустав-кость только сустав  допускает выделение  и манипуляцию. На рис. 8.1 показано несколько суставов, соединенных костями.

Зачастую  иерархию  суставов/костей   лучше  создавать в   ортогональных  видах  (таких, как вид сбоку). Это не только обеспечит расположение  всех суставов  на одной плоскости, но и поможет установить для них предпочтительные  углы поворотов,  что важно для  последую­ щей анимации  кости. В разделе "Практика: создание скелета" этой главы  детально обсуж­ дается проблема ориентации  суставов.

Некоторые  считают полезным  ограничивать   создаваемые суставы  соответственно выполняемым им  функциям, таким как универсальный сустав (universal joint)   или  шар­ нирный сустав (hinge joint),  поскольку  в   некоторых  случаях это предполагает  большую эффективность  при  анимации  и   меньший объем вычислений  Майя  при  расчете  движе­ ний. Например, универсальные  суставы можно  было  бы  использовать  для  запястий и щиколоток, а шарнирные — для колен. Тем не менее благодаря  тщательному конструи­ рованию скелета и  элементам управления  установки  ограничителей  на суставы можно избежать. Это может быть удобно при  анимации  тем,  что позволяет нарушить физиче­ ские ограничения,  например, выгнуть коленный  сустав  вперед, если  когда-нибудь такое понадобится для конкретной позы.

Чтобы  иерархия  суставов  могла влиять  на  геометрическую форму,  следует  создать оболочку  (skin)  персонажа,  привязывая  элементы  геометрической формы  персонажа  к суставам скелета. Для первичного создания  оболочки  Майя использует  алгоритм расчета цилиндрического пространства  вокруг каждой кости; в  зоне влияния  сустава оказывают-

Он же шаровидный сустав. — Примеч. ред.

ся попадающие внутрь указанного пространства  геометрические элементы  (контрольные вершины,  вершины  и  пр.). На элементы вне  этого  пространства сустав  не воздействует. Maya  поддерживает два   типа  привязки    (binding):   жесткую   (rigid)   и     плавную   (smooth). Жесткая  привязка   является  логической   операцией   (Boolean  operation):   на  контрольную вершину  (или  просто вершину)  воздействует  ровно один сустав, воздействие  которого составляет 100%.  С другой стороны, при  плавной привязке  на  отдельные контрольные вершины  совместно могут  воздействовать  несколько  суставов. Например, на  располо­ женную близко к двум костям контрольную вершину NURBS-поверхности  на 60% могла бы воздействовать  одна кость и  на 40% — другая. (Воздействия  всегда складываются, и их сумма составляет 100%.) Если  возле первых двух костей добавляется еще  одна и  обо­ лочка перепривязывается, то на эту одну контрольную вершину  совместно воздействуют три  кости. Для достижения аналогичного  результата  в  случае жесткой привязки  требу­ ются   дополнительные  деформирующие    инструменты,  например   скульптурный    дефор­ матор    (sculpt   deformer).

У специалистов  по оснащению (а на самом деле целых студий) есть свои  излюблен­ ные методики  оснащения,  использующие жесткую и  плавную  привязку,  но в  общем слу­ чае  применение  плавной привязки  при  создании  оболочки  сложного  персонажа  более интуитивно  понятно.  Осложнением  здесь  является то,  что  впоследствии  воздействия оболочки  на плавно  привязанный  персонаж следует обязательно откорректировать,  или "раскрасить"; эта тема освещается далее в  настоящей главе.

Чтобы  продемонстрировать отличия стандартных  реализаций жесткой   и    плавной привязки, привяжем  простой цилиндр  NURBS  обоими  способами.  Для начала создайте цилиндр   и  три  сустава (две кости), как  показано  на  рис. 8.2.  (Удостоверьтесь, что ци­ линдр NURBS имеет как минимум 20 секций по длине, чтобы он сгибаться правильно.)

Рис. 8.1. Суставы и кости, связан-                         Рис. 8.2. Состоящий из трех сус- ные    между    собой    в    форму     буквы     S    тавов скелет  внутри простого

цилиндра NURBS

Жестко  привяжите   цилиндр к  суставам:  выделите корневой   (root)   сустав   скелета (первый созданный сустав), нажав  клавишу  <Shift>, выделите  геометрическую  форму и выберите  из  набора меню Animatio n (Анимация)  пункт Skin => Bind Skin => rigi d Bind (Оболочка => Привязать оболочку => Жесткая привязка) (при значениях параметров, за-

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

А сейчас, чтобы увидеть,  как  работает плавная привязка,  верните  сустав  в  исходное положение, отменив  для этого последнее действие.  Отсоедините  от цепи  суставов  обо­ лочку,  выделив   геометрическую форму  и   выбрав   пункт  меню  Skin  =>  Detach  Skin  (Оболочка => Отсоединить оболочку). Выделите корневой сустав скелета, нажав клавишу

<Shift>, выделите  цилиндр,  а затем выберите  пункт меню Skin => Bind Skin => Smoot h  Bind • (Оболочка => Привязать оболочку => Плавная привязка •) (при  значениях пара­ метров, заданных по умолчанию). Теперь при  повороте среднего сустава область  локтя будет сгибаться более естественно, как показано на рис. 8.4. К сожалению, даже в  случае такой  простой геометрической формы,  сжатие в  области  локтя  при  изгибе  сустава вы­ глядит неестественно. Даже  при  гладкой  привязке  для  достижения  безошибочно пра­ вильного  сгиба и  образования  складок  необходимо еще изменить  значения весовых  ко­ эффициентов в области локтя цилиндра. Далее в главе   будет продемонстрирована работа

с  инструментом Paint  Skin  Weight s  (Нанесение поверхностных    весовых  коэффициен­ тов), который может быть полезен именно   в случаях, подобных этому.

Рис. 8.3.  Жесткая  привязка ске-                            Рис. 8.4. Плавная привязка скеле- лета к цилиндру                                                           та к цилиндру

Кластеры

На  самом  деле  деформатор  кластера  (cluster  deformer) —  это  только  совокупность точек  (контрольных вершин,  вершин и   т.д.),  которой  можно управлять  одновременно. Для создания кластера выделите  одну или  несколько  вершин,  а затем  из  набора меню Animation  (Анимация) выберите пункт Create Deformer s => CIuster (Создать деформато- рыОКластер). Чтобы увидеть кластер в действии,   создайте  плоскость NURBS, увеличив количество фрагментов  примерно до 2 0 по каждому  направлению  (U и  V). Перейдите в режим выделения  компонентов  (нажав  клавишу <F8> )  и  выделите несколько контроль­ ных вершин возле центра плоскости, после чего создайте из  выделенных  вершин кластер. При  этом над плоскостью должен появиться маркер кластера (cluster handle) в  виде  не­ большой буквы "С"; если  выделить и  переместить эту букву, то входящие   в кластер кон­ трольные вершины будут двигаться вместе с ней, как показано на рис. 8.5.

Для каждой входящей в  кластер контрольной вершины  можно настроить ее весовой коэффициент  (степень перемещения контрольной вершины  относительно перемещения маркера   кластера).   Для   этого   выделите плоскость   и     выберите пункт   меню   Edit Deformers  => Paint Cluster Weight s Tool (Редактировать деформаторы  => Инструмент нане­ сения весовых коэффициентов кластера) и  нанесите на сцену новые весовые коэффициенты.

При  использовании  этого инструмента такие его параметры, как Opacity  (Непрозрачность) и Value (Значение), могут принимать различные  значения.  Параметр Value определяет сте­ пень воздействия  кластера на контрольную  вершину. (Максимальному  уровню воздействия соответствует  значение 1,  представляемое в  окне сцены белым, а отсутствию  воздействия — значение о и  черный цвет.) Параметр Opacity (Непрозрачность) определяет интенсивность кисти.  (Значение 1 соответствует абсолютной непрозрачности, т.е. воздейстэие кисти  при­ меняется в  полной мере, а 0 соответствует абсолютной  прозрачности, т.е. отсутствию  воз­ действия  кисти.) Чтобы установить желаемую ширину рабочей кисти,  нажав  и  не отпус­ кая клавишу <В> ,  перемещайте мышь вдоль плоскости  NURBS до тех пор, пока не будет получена нужная ширина.  На рис. 8.6 показан тот самый кластер, но после изменения  ве­ совых коэффициентов.

Рис. 8.5. Деформация цент-                                  Рис. 8.6.    Центральная   часть рольной части плоскости с                                   плоскости  после настройки ве- помощью      деформатора                                    совых коэффициентов кластера кластера

Решетки

Несмотря  на то что  пара  сустав-кость является удобным  деформатором  элементов модели, которые должны сохранять постоянную длину (как кости  внутри  оболочки), для создания более тягучего персонажа  (или  его части) зачастую лучше подходит деформа­ тор решетки,  допускающий любую степень искривления  целого объекта.  Пара сустав – кость создает внутренний скелет (кости под кожей), а деформатор решетки  создает то, что фактически  является наружным скелетом (кости  вне  кожи)  решетки  точек, окружающих оболочку геометрической формы. Чтобы создать решетку, выделите геометрический  фраг­ мент (тут в  качестве примера  используется  сфера  NURBS)  и из  набора меню Animation (Анимация)  выберите  пункт Creat e Deformer s = > Lattic e (Создать деформаторы => Решетка).  Вокруг  сферы,  как  показано  на  рис. 8.7,  появится разделенная   на  секции внешняя оболочка (box). Для изменения количества  секций  решетки  в  панели  каналов изменяйте значения атрибутов  S, Т и U Division s (Интервалы по направлениям S, Т

и U) узла решетки (для его имени обычно используется суффикс LatticeShape) .

Чтобы деформировать  решетку,  выделите  ее,  перейдите в  режим  выделения  компо­ нентов  (нажав  клавишу <F8 > или щелкнув  на решетке правой кнопкой мыши и  выбрав  в появившемся  контекстном  меню  пункт  Lattice  Point  (Точка  решетки)), выделите не­ сколько точек решетки, а  затем переместите  или  поверните  их.  Вместе с движением  ре­ шетки  будет деформироваться лежащий в  ее основе объект, как показано на рис. 8.8. Об­ ратите внимание  на то, что для деформатора решетки  не требуется  создание оболочки, так как он автоматически  связывается  с выделенным  объектом (или  объектами). Кроме того, деформируемые решеткой объекты  гораздо более гибкие  или "тягучие", чем дефор-

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

Рис. 8.7.  Деформатор  решетки  во­ круг сферы

Рис. 8.8. Деформатор решетки и  деформиро­ ванная им сфера

Источник: Кундерт-Гиббс, Джон,  Ларкинс, Майк,  Деракшани, Дариус, Кунзендорф, Эрик,  и др., Освоение Maya  8.5.:  Пер.  с англ.  – М.:  ООО  «И.Д.  Вильямс», 2007.  – 928  с.:  ил.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий