Плавные  модификации: дополнительные  средства моделирования Maya

В этой главе рассматривается уникальный метод ускоренного создания  плавных мо­ дификаций — одной из  наиболее утомительных задач, связанных с  моделированием пер­ сонажей.  Плавные  модификации  (blend  shape)  —  это  элементы  из  ряда  моделей,  которые могут  преобразовываться  друг в  друга.  Хотя  создание таких моделей  может  оказаться достаточно  сложным,  они  весьма популярны,  особенно для  анимации  лица. В  данной главе также   обсуждается  использование    суставов   (joint)  для  быстрого  моделирования большого количества плавных модификаций.

•         О плавных модификациях

•         Сборка Машизмо

•         Невероятная машина плавных модификаций

•         Инструмент Paint  Blend  Shap e Weight s  

О плавных модификациях  

Моделирование  с использованием  плавных модификаций  подразумевает  утомитель­ ное создание множества вариантов  базовой головы персонажа. Эти  варианты  обычно ог­ раничиваются изменением  или  деформацией одной  конкретной части  головы или лица:  рта, глаз, брови,  щеки  и  т.д., что позволяет  создать ряд разных выражений  лица. Одни могут потребовать значительных  усилий  по моделированию,  а другим достаточно пере­ мещения лишь  нескольких вершин.

Зачастую разработчик модели  вынужден засучить рукава и  для достижения  желаемо­ го результата вручную перемещать множество точек.  Некоторые  разработчики  моделей для создания отдельных плавных модификаций  используют  такие сложные средства, как кластеры    (cluster),   решетки    (lattice)    или      деформаторы    каркасной    сетки    (wire   deformer). Все они  могут использоваться вместе с обсуждаемыми тут методами.

Плавная модификация  (blend shape)  Maya  —  это  специальный тип  деформатора, кото­ рый деформирует вершины  одного объекта,  называемого  базовым  объектом  (base  object), так, чтобы привести  их  в  соответствие  с  вершинами  одного или  нескольких целевых объ­ ектов  (target  object).  В других  программных пакетах этот  процесс  называется морфингом (morphig) ,  или   совпадением  форм  (shape  matching).  Узлы  плавной модификации  Майя

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

Узел   плавной  модификации   идентифицирует    вершины согласно   порядку    точек (point order). В главе 3,  "Полигональное   моделирование", говорилось, что все  вершины объекта пронумерованы; по этим номерам Maya определяет, что данная  вершина базово­ го объекта будет контролироваться  вершиной с тем же номером  целевого объекта (или объектов). Таким образом, как только будут созданы целевые  объекты плавной модифи­ кации, ни одну точку базового объекта нельзя ни добавить, ни удалить.

Деформации  плавной модификации  аддитивны,  т.е.  их  можно  комбинировать  одну поверх другой. Это может противоречить   интуиции. Предположим, например,  что вер­ шина  в двух целевых объектах плавной модификации была перенесена на 0 . 5 единиц по оси  Y.  После  применения  этих двух целевых объектов  к  базовому  объекту соответст­ вующая вершина базового объекта сдвинется на одну единицу по оси Y.

Каждый  узел  плавной модификации  имеет конверт  (envelope),  который  глобально контролирует воздействие  каждого  весового коэффициента  Целевого  объекта  плавной модификации  на деформацию базового объекта. Конверт  функционирует как множитель (multiplier)  узла.  Если   значение конверта равно   2, то  каждый  весовой  коэффициент (weight factor) удваивается;  если  это значение  равно 0.5, то значение каждого весового коэффициента  уменьшается в два  раза.  Изменяя весовые коэффициенты  каждого целе­ вого объекта по отдельности, можно  более эффективно, по сравнению с изменением зна­ чения конверта, получить точно такой же результат. Воздействие целевого объекта мож­ но увеличить   в два  раза, сделав его весовой коэффициент равным 2. Это намного гибче и эффективней, чем  использование значения  конверта.

Чтобы не создавать обе стороны головы, промоделируем  только половину  и  с  помо­ щью  деформатора  оболочки  (wrap  deformer)  Maya  создадим обе  половинки  лица. Так можно создать намного больше плавных модификаций,  чем при  работе с  обеими  сторо­ нами  одновременно. Далее обсудим двухэтапный  процесс, в  котором  для создания форм полуголовы применяются ограниченные геометрией   неиерархические   суставы.  Затем полученные  плавные модификации  будут  использованы  в   деформаторе  оболочки  для создания окончательного узла плавной  модификации  полной головы, состоящей из  двух симметричных  половин.  И, как дополнение,  обсудим применение плавной модификации к части  тела  одноповерхностного  персонажа. На самом деле это следовало бы сделать в первую  очередь.

Сборка Машизмо  

Чтобы  загрузить детализированную полигональную  голову и  тело, размеры  ко­ торых изменены в  соответствии  со схематическим  рисунком, откройте  располо­

женный на прилагаемом компакт-диске файл Machismo01_HeadBodyStart.mb . При комбинировании  собственных файлов, перед импортом головы в  файл тела,  прочитайте раздел  "Завершение  головы Машизмо с  использованием  многоугольников".   Реальный размер не имеет значения; размер головы следует  изменить   в  соответствии  с размером тела. Вероятнее всего, количество  вершин в  шейной области  головы не будет соответст­  вовать количеству  вершин вокруг  отверстия  шеи  тела. В данном случае в  указанной об-

ласти  голова имеет 13 многоугольников,  а отверстие  шеи —  11.  Эта ситуация  типична; моделируя  голову и  тело, практически  всегда забываешь позаботиться  о том, чтобы ре­ альные количества  вершин в  области  шеи  впоследствии  совпали.  Но эта проблема впол­ не решаема. Итак, помня об этом, присоединим голову.

1.    Если  между  двумя объектами   нельзя  эффективно  добавить  многоугольники  из-за того, что часть шеи  расположена слишком близко к  телу, то освободите пространст­ во, удалив  нижний ряд многоугольников  шеи. В данном случае останется много мес­ та сзади, но в  этом нет ничего  плохого: это обеспечит пространство  для сжатия мно­ гоугольников, когда Машизмо будет поднимать голову.

2.    Выбрав пункт меню Display => Polygon s => Face Normal s (Представление => Много­ угольники  =>  Нормали), удостоверьтесь, что  нормали  обоих  объектов  направлены одинаково. Если  это не так, то обратите их для того  объекта, у которого они  направ­ лены  внутрь, выделив   этот  объект  и   выбрав   пункт  меню  Normals  =>  revers e (Нормали => Обратить). Нормали обоих объектов должны быть направлены наружу.

3.    Зафиксируйте преобразования и  удалите  историю обоих  объектов.

4.    Чтобы  объединить  объекты  в   один объект,  выделите их  и   выберите   пункт  меню

Mesh => Combin e (Сетка => Объединить).

5.    Используя инструмент Appen d То Polygon (Добавить к многоугольнику), соедините два объекта, как показано на рис. 6.1. Обратите  внимание на метод, которым два края головы были  соединены с одной вершиной тела:  для этого был создан направленный по диагонали  четырехугольник,  на  который указывает стрелка курсора. Это распро­ страненный способ соединения областей с разным количеством деталей.

Рис. 6.5. Модель, у которой выделены все вершины границы, как указа­ но в окне свойств Polygon Selection Constraint On  Vertices. Объект HeadBlendBaseGeo скрыт, чтобы не  загромождать изображение

7.    Выберите пункт меню Edit Mes h => Merge • (Редактировать сетку => Объединить • ) .

Восстановите  параметры по умолчанию и  щелкните на кнопке Apply  (Применить). Сразу же обратите  внимание на количество  вершин, отображенное на  информацион­ ном дисплее. После выполнения  этой операции  количество  вершин  должно умень­ шиться ровно вдвое.  Если  их  осталось больше половины, то  расстояние между неко­ торыми  вершинами  было слишком большим, чтобы они  могли  быть объединены при значении  параметра Distance (Расстояние) по умолчанию. Отмените последнее дей­ ствие,  немного увеличьте значение  параметра Distance (Расстояние),  а затем повто­ рите операцию. Если  вершин  осталось меньше половины,  значит, были  объединены некоторые пары  вершин.  Отмените последнее действие,  уменьшите значение пара­ метра Distance и  повторите операцию,  хотя трудно понять, как значение по умолча­ нию, равное 0.0001, могло быть слишком большим.

8.    Чтобы избавиться  от многогранного вида края, выделите объект и  примените к  нему операцию смягчения нормалей; хотя с учетом того, что этот край  соответствует про­ ходящей по телу линии  воротника рубашки,  этот шаг не обязателен.

9.    Удалите историю объекта  BodyFinalGeo.

После  повторного присоединения   головы  необходимо применить объект   Head- BlendBaseGe o в качестве  плавной  модификации. Это подтвердит сохранение правиль­ ного порядка точек. Для того чтобы создать плавную модификацию,  выполните следую­ щие действия.

1.    Выделите объект HeadBlendBaseGeo, а затем, нажав  клавишу  <Shift>,  выделите объект BodyFinalGeo. Помните, что плавная модификация применяется к объекту, выделенному последним.

2.    В наборе меню Animatio n (Анимация)  выберите пункт меню Create Deformer s => Blend Shap e • (Создать деформаторы => Плавная  модификация • ) . Присвойте узлу плавной модификации  имя  HeadBaseBlend,  введя это имя  в поле Blend Shape Node (Узел плавной  модификации), и сбросьте флажок Chec k Topolog y (Проверять топо-

логию). В результате сброса этого флажка Maya будет игнорировать  общие детали топологии  объекта. Если  флажок Chec k Topolog y  (Проверять топологию) не сбро­ сить, то  Maya  может  не  создать  узел  плавной модификации.  Чтобы  создать  узел плавной модификации HeadBaseBlend, щелкните на кнопке Creat e (Создать).

3.    Выделите объект BodyFinalGeo, и  в  разделе Inputs (Входящие)  панели  каналов появятся узел HeadBaseBlen d и  узел настройки (tweak  node). Щелчком мыши  от­ кройте узел HeadBaseBlend.

4.    Установите в    поле  ввода   весового  коэффициента  (weight)  объекта   HeadBlend – BaseGe o значение 1 (это поле справа от имени объекта).  Примите поздравления,  ес­ ли  в  модели  ничего не изменилось!  Работающая  плавная модификация  создана, те­ перь  можно  продолжать.  С  другой   стороны,  если   получилось что-то  похожее  на рис. 6.6, то, возможно,  перед объединением первым был выделен объект тела. Все не­ обходимо  начать сначала.  Кроме того, к разрыву модели  может привести  случайное изменение порядка точек при удалении  вершин одного из объектов.

Рис. 6.6. Плавная модификация не работает, если перед объединением первым выделить объект тела

5.    Чтобы увидеть, как деформировался базовый объект BodyFinalGe o под воздействием созданной плавной модификации, выделите  и  деформируйте  некоторые вершины  це­ левого объекта. При этом соответствующие вершины объекта BodyFinalGe o должны деформироваться  соответствующим  образом.

Этот метод работает, поскольку вершины BodyFinalGe o с номерами от  1  до 1908 в точности  соответствуют  вершинам  с  номерами  от  1  до  1908  целевого объекта Head- BlendBaseGeo плавной модификации. Таким  образом, описанный выше метод можно использовать  только для одной части  тела с одноповерхностной сеткой. Для  корректи­ рующих плавных  модификаций  было  бы  невозможно выделить, отделить и   повторно объединить руки  или  ноги, поскольку при  этом нарушался бы порядок точек.  Теперь пе­ рейдем к машине создания плавных модификаций.

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

По теме:

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

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