Констрейны — никаких гвоздей. Maya. Протезная мастерская

wpid-Maya3DCharachter_image169.jpg

Констрейны (Constrain) — это одна из разновидностей родительских связей, но только в рамках какого-то одного заданного параметра. Есть констрейны, которые фиксируют на месте (прибивают) подчиненный им объект. Есть констрейны, которые управляют только вращением объекта или только его перемещением.

Привязка констрейна к подчиненному объекту отличается от традиционной родительской привязки другой очередностью выделения объектов. Если в родительской привязке вы сначала выделяете подчиненный (младший) объект, а затем руководящий (старший), то в констрейн-привязке все происходит наоборот. Сначала выделяете старший объект (руль), затем объект, которым будете управлять (ведомый).

Сейчас «повесим» на локатор руки RUK1 две разные функции управления.

«Прибьем» (зафиксируем) кисть руки констрейном Point (гвоздь), а затем назначим функцию вращения «рулю» RUK1, применив констрейн Orient (вращение). После такой оснастки кисть нашей руки сможет держать точку опоры и при этом быть достаточно гибкой и маневренной для выполнения анимационных задач.

Приступаем к выполнению задачи. Выделите локатор RUK1. Выделите, удерживая клавишу Shift, «усы» IK-цепочки скелета руки. Теперь идите в меню Constrain и выполните оттуда команду Point. Было видно, как рука резко встала (прибилась) к «усам» цепочки. Если у скелета руки вдруг при выполнении этой команды

«раздулись кости», не пугайтесь, после снятия выделения с «усов» этот эффект пропадет, и он не повлияет на ходовые качества модели. Теперь повесим на тот же локатор RUK1 вторую функцию управления — вращение кистью.

Выделяем локатор. Чтобы случайно не выделить «усы» вместо локатора, временно отключите их видимость в меню панели вида Show. Снимите галку IK Handle (как видите, там много чего можно выключить и включить, запомните это место) (рис. 10.34).

Рис. 10.34. Отключите видимость IK-цепочки

Итак, выделям локатор RUK1, а затем выделяем кость KST1. Идем в меню

Constrain и применяем оттуда команду Orient.

После применения команды кисть руки вывернулась. Произошло несовпадение осей кости и осей локатора. Сейчас мы исправим этот недостаток. Выделяем кость KST1. Идем в редактор атрибутов, ищем там вкладку, на которой присутствует слово Orient. В графе Offset в окошке координаты Y (по центру) вбиваем значение (минус) 45. Кисть должна встать на свое место. Если не встала, поменяйте значение координаты, например на – (минус) 40. В принципе, с оснасткой руки все (рис. 10.35).

Рис. 10.35. Настраиваем смещение Offset для кости руки

Для привязок руля левой руки проделываем все те же операции, только не забываем, что скелет левой руки является зеркальной копией руки правой, а поэтому при настройке смещения констрейна Orient в окошках координат Offset надо будет выставить следующие значения: Х — 180. Y — (плюс) 40. Z — 0. Дальше нам надо будет «привязать» управляющие объекты для локтей и коленей и затем собрать все «рули» в одну иерархию. Я уже говорил выше о трудностях, которые возникают при работе с иерархиями костей, оснащенных инверсными цепочками. Самая главная проблема, связанная с этим методом оснастки, — это контроль за костями, находящимися в центре таких иерархий. В основном это проблемы с управлением костями локтевых и коленных суставов.

При назначении на иерархию костей цепочки связи инверсной кинематики автоматически блокируется возможность внешнего редактирования костей, входящих в эту систему. И когда вы, например, пытаетесь заставить свой персонаж присесть или дотронуться рукой до кончика носа, локти и колени начинают вести себя непредсказуемым способом. Часто происходит «вывих» этих костей. И никаким внешним редактированием, например через инструмент Move Tool, не получается

«вправить» такую «вывихнутую» кость на место.

Для решения этой задачи в программе Maya предусмотрен специальный констрейн для контроля управления над такими костями. Называется этот констрейн — Pole Vector. Давайте совершим привязку «рулей» LOK1 и LOK2 через констрейн Pole Vector к «усам» IK-цепочки скелета правой руки.

Выделим, удерживая клавишу Shift, локтевой локатор правой руки Lok1, затем

«усы» IK-цепочки правой руки. В этом месте может возникнуть одна трудность.

«Усы» цепочки перекрыты управляющим локатором. Для решения этой проблемы можно поступить уже известным образом: в меню панели рабочего вида Show отключаем видимость костей и локаторов Joint, Locator. После этого открывается прямой доступ к «усам» IK-цепочки (кстати, не забудьте включить ее отображение, отключенное на предыдущем этапе работы).

После того как локатор LOK1 и «усы» IK-цепочки скелета руки были выделены, из меню Constrain применяем к выделенным объектам команду Pole Vector. Видим, как от управляющего локатора через угол плечевой кости к «усам» протянулась контрольная линия управления центральными костями иерархии Pole Vector. Если при этом опять произошло визуальное «раздувание» костей, не обращайте внимание и не пугайтесь. Будем считать, что появление этого эффекта является подтверждением правильного применения команды привязки констрейна Pole Vector (рис. 10.36).

Рис. 10.36. Создаем Pole Vector для управления локтевым суставом

Повторяем те же действия для левой руки.

Привязка констрейна Pole Vector для коленного сустава происходит по той же схеме, что и привязка локтевого сустава. Сначала выделяете локатор колена KOL1, затем «усы» IK-цепочки пятки ноги, после чего применяете команду привязки констрейна Pole Vector (рис. 10.37).

Кости ноги после выполнения команды привязки «раздуются». Но, как мы уже говорили выше, это не оказывает влияния на ходовые качества скелета.

Рис. 10.37. Создаем Pole Vector для управления коленным суставом

После выполнения всех привязок необходимо переместить все управляющие объекты на слой Skell (они будут храниться там вместе с костями). Выделяем поочередно все объекты («рули» и IK-цепочки) и через команду контекстного меню (правой кнопкой мыши щелкнуть на заголовке слоя Skell) выполняем команду Add Select Object (добавить выделенный объект), добавляем управляющие элементы на слой скелета. Итак, все управляющие «рули» привязаны к своим управляемым объектам в иерархии костей скелета нашего персонажа.

Теперь надо собрать все «рули» в свою систему иерархий. Ниже я приведу графическую (визуальную) схему последовательности строения такой системы (рис. 10.38).

А еще ниже уже подробно объясню, что за чем следует. И что на что «парентится» (или припаренчивается). Это профессиональное, сленговое словосочетание (от Parent), обозначающее создание родительской связи между объектами.

Итак, создаем иерархию системы рулей управления скелетом.

Выделяем, удерживая клавишу Shift, четыре локатора управления коленными и локтевыми суставами — LOK1, LOK2 и KOL1, KOL2.

Затем выделяем локатор TAZ. Нажимаем клавишу P (для правильного выполнения этой команды контролируйте режим отключения «русской» раскладки клавиатуры).

Далее выделяем, удерживая клавишу Shift, локаторы управления руками RUK1 и RUK2. Выделяем главный локатор ALL. Жмем клавишу P.

Выделяем локаторы управления ногами NOG1 и NOG2. Затем главный локатор ALL. Создаем между ними родительскую связь. Последним выделяем, с клавишей Shift, локатор TAZ, затем локатор ALL. Создаем родительскую связь. Система иерархии связей для «рулей» скелета завершена.

Как проверить правильность всех привязок? Выделите главный локатор ALL

и примените к нему инструмент Scale (масштабирование). Совершите равномер-

ное масштабирование главного локатора ALL. Если весь скелет вместе со всеми своими управляющими объектами плавно изменяет свой размер и все «рули» остаются на своем месте и не выпадают из общей иерархии, значит, все привязки

«рулей» к скелету произведены корректно. Не забудьте командой Ctrl+Z отменить результаты масштабирования и вернуть скелет в прежний размер в границах сетки модели персонажа.

Выделите локатор TAZ и инструментом Move Tool поперемещайте его в разные стороны. Как видите, скелет нашего персонажа стал достаточно гибким и управляемым. Произведите отмены трансформаций перемещения (Ctrl+Z), верните скелет в базовую позу покоя. Теперь готово. Наш скелет оснащен «рулями» и готов к анимации (рис. 10.39).

                                                                                          

Рис. 10.38. Графическая схема создания Рис. 10.39. Скелет оснащен «рулями» иерархии для «рулей» управления управления

Источник: Сафонов А. Компьютерная анимация. Создание 3D-персонажей в Maya. — СПб.: Питер, 2011. — 208 с.: ил.

По теме:

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

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