Плавные модификации Maya: ухмылки, моргания и улыбки

Перед  непосредственным  началом  нанесения весовых коэффициентов  и  моделиро- ванием необходимо создать  зубы и  глаза,  чтобы  использовать ссылки  на  них в  про­

цессе работы.  Нет ничего бесполезнее  потраченного  на моделирование плавных модификаций времени только для выяснения того, что некоторые  из  них приводят к  пересечению базового объекта  с  внутренней  геометрической  формой.   Итак,  откройте  прилагаемый  на  компакт- диске      файл       Machismo07_WeightPaintStart.mb   и       импортируйте      файл EyesandTeeth.mb. Сразу же добавьте группу FaceGeoGrp на слой EyeTeethLyr. Чтобы предотвратить случайное выделение объектов этого слоя, переведите его в режим ссылки.

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

Nose_Snee r Lоwer_Lip_Up Upper_Lip_U p Eye_Close d Eye_Wide_Ope n Eyebrow_Up Smile/MouthWid e

Джейсон   Осипа  (Jason  Osipa)   написал  замечательную    книгу  Stop   Staring:   Facial  Modeling  and  Animation   Done  right  (издательство Sybex,   второе  издание вышло  в   2007   году),   в   которой подробно  рассматриваются формы,  которые  необходимо создавать, и  объясняется,  почему это  надо  делать.  Хотя  приемы создания форм  и   их  усовершенствования,  описанные в  на­ стоящей  книге, иногда отличаются от изложенных в  его книге, они  не менее ценные.

Форма        Nose_Sneer

Форма  Nose_Snee r (нос  и  ухмылка)  позволяет подчеркнуть  улыбку,  создать  види­ мость  хорошего  настроения или  хмурый  взгляд, свидетельствующий  о  глубоком  отвра­ щении. Стандартное   расположение  весовых коэффициентов  для  суставов  NoseJN T и

SneerJNT показано на рис. 6.8, а, б. Далее показано, какие суставы были предварительно перенесены по оси  Y для создания ухмылки. После того как  будет готов  набросок базо­ вой  формы,  усовершенствуем  ее,  откорректировав  весовые  коэффициенты.   Например, нанесение весовых  коэффициентов  воздействия  сустава SneerJN T заключается  в   за­ крашивании  ими  поверхности  с  помощью инструмента  Paint Skin  Weight s  (Нанесение поверхностных  весовых коэффициентов) в режиме  Smoot h (Сгладить).

а                                                    б                                                      в                                                  г

Рис. 6.8. Процесс перемещения суставов и настройки карт весовых коэффициентов для создания плавной модификации улыбки

1.   Выделив объект SkinGeo, выберите пункт меню Skin => Edit Smoot h Skin => Paint Skin Weight s Tool • (Оболочка => Редактировать гладкую оболочку => Инструмент нанесе­ ния  поверхностных весовых  коэффициентов  • ) .  Появившееся  при  этом  окно  пара­ метров  несколько  отличается от любого другого инструмента рельефа.

2.   Щелкните правой кнопкой мыши  на суставе SneerJN T и  в  появившемся  маркиро­ ванном контекстном меню выберите пункт Paint Skin Weight s (Нанесение поверхно­ стных  весовых коэффициентов).   Результат   выполнения этой  операции   похож  на приведенный  на рис. 6.8, а.  Обратите  внимание на резкость перехода между верши­  нами,  в которых пересекаются края. Его необходимо смягчить.

3.   Установите для   параметра   Paint   Operatio n   (Окрашивание)    значение    Smoot h (Сгладить) и  щелкайте на кнопке Flood (Заполнить), чтобы добиться плавности  пере­ ходов  окрашивания  (т.е.  распределения  установленных весовых  коэффициентов)   во­ круг нескольких  вершин. При этом изменение коэффициентов у основания носа станет менее резким, а карта будет похожа на изображение, приведенное на рис. 6.8, б.

4.   Дорисовывая и  стирая весовые коэффициенты,  создайте для сустава NoseJN T карту воздействия, похожую на изображение, приведенное на рис. 6.8, в.

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

Теперь создадим  плавную  модификацию полуголовы.

1.    Выделите объект SkinGe o и, сдублировав его, поместите копию на верхний уровень иерархии.

2.    В находящейся справа панели  каналов  выделите весь список атрибутов  от начала до конца.

3.    Чтобы можно было переместить сетку, щелкните правой кнопкой мыши  на  списке и в появившемся контекстном меню выберите пункт Unlock Selecte d (Разблокировать выбранное).

4.    Переименуйте ее в Nose_Sneer.

5.    В панели  каналов  установите для атрибута translate X значение 2, для  атрибута

translateY — значение -7 , а для атрибута translateZ — значение  -4,

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

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

Форма         Lower_Lip_Up

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

1.    Выделите суставы LipBtmCrnrJNT, LipBtmMidJN T и LipBtmlnsJNT.

2.    В разделе Shape s (Формы ) панели каналов найдите узел геометрического ограничи­  теля. Его имя должно быть похоже на LpBtmCrn r JNT_geometryConstraintl .

3.    Измените  значение параметра Node State (Состояние узла) с Normal  (Обычный)  на HasNoEffec t (Без воздействия), чтобы отключить узел и иметь возможность (? ) вре­ менно вытягивать (? ) суставы с поверхности скрытого объекта SkullGeo.

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

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

5.    Исправьте это, увеличивая   и сглаживая  весовые коэффициенты  с помощью инстру­ мента  Paint  Skin   Weight s   (Нанесение поверхностных весовых   коэффициентов). Можно нанести  коэффициенты  на все  точки  внутренней части  губ  непосредственно до ближайшего  сустава нижней губы. Весовые коэффициенты внешней части  губ по­ казаны на рис. 6.9, б-г.

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

а                                     б                                      в                                    г                                   д

Рис. 6.9. Процесс создания целевого объекта Lower_Lip_Up и нанесения соответствующих весовых коэффициентов суставов

7.    Чтобы сохранить объем нижней губы, поверните  каждый сустав  относительно  локаль­ ной оси (local axis) X на значение от -7 до -10°. Это приведет к выпячиванию нижней гу­ бы и,  возможно, к сожалению, неправильному  движению  подбородка. Исправьте это, увеличив весовые коэффициенты сустава HeadBaseJNT в данной области.

8.   Выделите карту сустава HeadBaseJNT, щелкнув на ней правой кнопкой мыши и вы­ брав  в   появившемся  контекстном меню  пункт Paint  Skin  Weight s  (Нанесение по­ верхностных  весовых коэффициентов).  Сустав HeadBaseJN T следует использовать для  перемещения точек обратно в  их  начальное состояние (default state).  При  моде­ лировании  этот сустав  не  использовался,  поэтому любая находящаяся под его воз­ действием  точка  будет возвращена  в  исходное положение. Наносите весовые  коэф­ фициенты на область подбородка согласно изображению  рис. 6.9, д.

9.   Скопируйте объект SkinGeo, разблокируйте атрибуты, а затем переместите и  пере­ именуйте сетку в  Lower_Lp_Up.

Однако не стоит сразу переходить к привязке  поз, сначала создадим плавную  моди­ фикацию формы Upper_Lip_Up.

Форма    U   p  p  e  r  _  L  p  _  U     p

Форма Upper_Lip_U p соответствует  приподнятой верхней губе.  Чтобы  судить о правильности позиции верхней губы, необходимо  установить на место нижнюю губу, по­ этому сначала правильно установим верхнюю  губу, а затем вернем в  исходное положение суставы нижней губы.

1.   Выделите суставы LipTpInsJNT, LipTpMidJN T и LipTpCrnrJNT, а затем вытяните их  вверх вдоль оси Y. В результате они  будут плавно двигаться вдоль  верхней губы, удаляясь при  этом от нижней.

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

3.   Чтобы исправить возникшее  после выполнения этапа 2 искривление, увеличьте  воз­ действие сустава NoseJN T вдоль основания носа (см. рис. 6.10, справа).

Рис. 6.21. Создание совершенно нового целевого объекта плавной модификации с помощью инстру­ мента  Paint Blend Shape  Weights с использованием локального  воздействия трех отдельных плав­ ных модификаций

5.  На правую бровь нанесите воздействие от объекта Smug, как показано на втором еле- ва изображении рис. 6.21.

6.  Нанесите на левую бровь воздействие  от объекта Scared, как показано  на  втором справа изображении рис. 6.21.

7.  В конце получится совершенно новый целевой объект плавной  модификации,  пока­ занный на крайнем справа изображении рис. 6.21.

Резюме

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

они  использовались с необходимой степенью управления.  Комбинирование плавных мо­ дификаций с возможностью Maya наносить  весовые коэффициенты  на целевые объекты плавных модификаций  позволяет создать  почти  неограниченное множество образов  и эмоциональных вариаций.

В следующей главе рассматриваются основы анимации  в  Maya 8.5, а также  обсужда­ ются доступные типы анимации,   в  том числе и  основы создания анимации  с  помощью установки  ключевых кадров  на временной шкале. Кроме того, будет  продемонстрирова­ но применение  монтажного стола и  редактора анимационных  кривых для создания ани­ мации  вращающегося и  прыгающего мяча.


'); if("undefined"===typeof loaded_blocks_directadvert){loaded_blocks_directadvert=[]; function n(){var e=loaded_blocks_directadvert.shift(); var t=e.adp_id; var r=e.div; var i=document.createElement("script"); i.type="text/javascript"; i.async=true; i.charset="windows-1251"; i.src="//code.directadvert.ru/data/"+t+".js?async=1&div="+r+"&t="+Math.random(); var s=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]; s.appendChild(i); var o=setInterval(function(){if(document.getElementById(r).innerHTML&&loaded_blocks_directadvert.length){n(); clearInterval(o)}},50)} setTimeout(n)}loaded_blocks_directadvert.push({adp_id:e,div:t})})(939291)

По теме:

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

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