Скованные одной цепью, связанные одной целью. Maya. Протезная мастерская

wpid-Maya3DCharachter_image154.jpg

Я уже говорил выше, что анимация «прямого» скелета — это развлечение для людей весьма не слабонервных и усидчивых. В принципе такой метод анимации, с одной стороны, дает полный контроль над созданием поз во время работы с шарнирами куклы. С другой стороны, при работе с «прямым» скелетом у аниматора возникает проблема с контролем положения «точек опоры» персонажа. В традиционной кукольной анимации эти задачи решаются с помощью молотка и гвоздей. Руки-ноги куклы прибивают к реквизиту или подмакетнику небольшими гвоздиками-скобочками.

В трехмерной студии при работе с «прямым скелетом» это проделать трудновато. Можно, конечно, «держать точку» из кадра в кадр, копируя координаты опорной кости по ее предыдущему положению. В старых трехмерных фильмах, где все скелеты были сплошь «прямыми», как-то так и поступали. Но оставим этот способ для любителей экзотики и непростых путей в творчестве.

Проблема контроля положения опорной точки частей тела была решена в трехмерной анимации с изобретением инверсной кинематики. При работе со скелетом, оснащенном инверсной кинематикой, нет необходимости в редактировании положения и «пробивании» ключевых кадров для всех костей, участвующих, например, в анимации руки. Достаточно одного управляющего элемента, стоящего «во главе» инверсной цепочки, созданной для этой иерархии костей. Мы уже рассматривали выше способ создания IK-цепочки для простой модели руки. Теперь оснастим инверсными цепочками «взрослый» скелет нашего персонажа.

Начнем с ног. Расположим камеру перспективного вида поближе к скелету правой ноги. Включим с полки Animatiс инструмент создания IK-цепочек — IK Handle Tool. Кликаем сначала крестиком курсора в кость бедра, затем в кость пятки. Между костями появилась связь инверсной кинематики. Опять включаем инструмент с полки. Кликаем крестиком курсора в кость пятки, затем в кость носка. Между пяткой и носком также образовалась линия связи инверсной кинематики.

На концах линий инверсной кинематики находятся управляющие элементы IK-цепочек — «усы»-локаторы. Если ваши «усы» получились большими по размеру, зайдите в меню Display, в заголовке Animation выберите инструмент IK Handle size. Отредактируйте размер управляющих объектов IK-цепочек. Не делайте «усы» слишком маленькими. Чуть позже нам предстоит с ними еще немного поработать. Инверсная кинематика для костей скелета правой ноги создана (рис. 10.22).

Повторим ту же операцию и для левой ноги. Теперь приступим к созданию цепочек для костей рук. В вопросе создания инверсной кинематики для иерархии костей рук специалисты сетаперы (setup — оснастка скелета) разделились на две противоборствующие школы. Одна группа утверждает, что нет ничего лучше для анимации, чем «прямой» FK-скелет руки. Другая гнет линию по полной оснастке скелета руки всеми доступными в программе способами и методами.

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

Рис. 10.22. Создаем IK-цепочки ноги от бедра к пятке, от пятки к носку

Сейчас мы создадим IK-цепочку от плеча до кисти правой, а затем левой руки (рис. 10.23).

Рис. 10.23. Создаем IK-цепочку для левой и правой руки

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

Рис. 10.24. Скелет персонажа полностью оснащен IK-цепочками

На этом моменте этапа моделирования мы имеем готовый скелет, оснащенный цепочками инверсной кинематики. Теперь нам осталось оснастить ключевые части тела, непосредственно участвующие в анимации, специальными управляющими объектами — локаторами-«рулями».

Локаторы-«рули» — это своеобразные подвески-трости, наподобие подвесоктростей, управляющих движениями театральных кукол. А наш персонаж — это та же кукла, но только виртуальная. Для начала создадим управляющие «рули» для ступней ног.

Создаем в сцене объект-локатор. Локатор появляется в нулевом центре координат. Нулевой центр координат — это своеобразный уровень «земли», ниже которого не должны проваливаться ноги нашего персонажа. Сдвигаем локатор под подошву ступни правой ноги. Равномерно масштабируем размер локатора. Он должен быть не очень большим и не очень маленьким. Центр локатора лучше расположить под центром кости ступни ноги STup1. После этого командой Shift+D дублируем локатор под ступню левой ноги. «Рули» управления ногами созданы. Сразу переименуйте их в окне редактора каналов. Управляющий объект для правой ноги будет называться NOG1, для левой — NOG2 (рис. 10.25).

Рис. 10.25. Создаем «рули» для управления скелетом ног

Следующий «руль» поместим прямо в центре корневой кости скелета — BAZA. Присвоим этому «рулю» имя — TAZ.

Размер этого руля должен быть достаточным, чтобы мы могли свободно выделить этот управляющий объект из любого положения тела персонажа (рис. 10.26).

Рис. 10.26. «Руль» управления TAZ корневой костью всего скелета

Поместим по локатору в запястья кистей каждой из рук. Правый назовем RUK1.

Левый — RUK2 (рис. 10.27).

Рис. 10.27. Создаем «рули» управления руками

Все созданные «рули» пока не прикреплены к костям скелета. Это мы сделаем чуть позже. У инверсных цепочек, как я уже говорил выше, есть один недостаток. Кости, находящиеся в центре иерархии таких систем, не поддаются прямому редактированию извне. То есть их невозможно переместить, если положение локтя или колена во время перемещения цепочки вывернулось в ненужную сторону. О том, как решить эту проблему, поговорим ниже. А сейчас пока создадим четыре локатора для управления костями, которые находятся в центре инверсных иерархий скелета.

Два для управления костями коленей ног (KOL1 и KOL2) и два для управления костями локтей (LOK1 и LOK2). Эти «рули» разместим на некотором удалении от управляемых ими костей (рис. 10.28).

Создаем последний локатор. Его оставляем в нулевой точке создания. Присваиваем ему имя — ALL (общий локатор) (рис. 10.29).

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

«рулей», управляющих этими частями скелета, мы воспользуемся внутренними локаторами объектов. Где они находятся и как включить их отображение? Выделим кость пояса — PUP. Вспоминаем, что все свойства выделенного объекта хранятся на вкладках редактора атрибутов. Открываем редактор атрибутов. На вкладке с именем кости PUP находим свиток Display. Там включаем отображение внутреннего локатора кости. Ставим галку в окошке Display Handle и в окошке перемещения по координатам. Ставим расстояние выдвижения локатора из кости по оси Z –(минус) 0,3. Окошки координат не имеют подписи принадлежности к осям, поэтому просто запомните очередность осей, соответствующих первому, второму и третьему окошку — X-Y-Z. Соответственно значение перемещения по координате: Z «вбиваем» в третье окошко справа (рис. 10.30). Обратите внимание: в сцене появился маленький крестик — это и есть «внутренний» локатор объекта.

Рис. 10.28. «Рули» управления для локтей и коленей

Рис. 10.29. Локатор всех локаторов — ALL

Рис. 10.30. Включаем «внутренний» локатор для кости пояса PUP

Включим отображение внутренних локаторов для костей плеч PL1 и PL2 и локатора кости головы HEAD. Соответственно в настройках этих локаторов надо установить смещение управляющего объекта по оси Y (вверх). Локатор головы лучше сместить подальше, на дистанцию –1. Это поможет в дальнейшем избежать трудностей в управлении локаторами, если, например, мы наденем нашему персонажу на голову шапку.

Локаторы для костей плеч очень важные объекты в анимации персонажа. Новички аниматоры, увлеченные легкостью перемещения и анимации «рулей»

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

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

Итак, нами созданы все управляющие «рули» для костей скелета нашего персонажа (рис. 10.31).

Рис. 10.31. Схема расположения всех локаторов скелета

Пока наши локаторы не прикреплены к скелету, произведем заморозку (freeze) их коор-

динатных значений для фиксации позы персонажа в нулевом положении. Что обозначает термин «заморозка»?

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

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

Выделим, удерживая клавишу Shift, все внешние локаторы скелета (кроме внутренних локаторов на костях, на них и так по умолчанию стоят нулевые значения углов вращения). Заходим в меню Modify. Открываем настройки инструмента Freeze Transformtions (заморозка трансформаций). Отключаем в настройках галку Scale (иначе наши локаторы после заморозки примут одинаковый размер по умолчанию) и применяем команду Freeze к нашим выделенным в сцене «рулям». Координаты всех «рулей» приняли нулевое значение (рис. 10.32).

Рис. 10.32. Настройка «заморозки» координат перемещения «рулей» скелета

Приступим к привязке «рулей» управления к своим управляемым объектам.

Начнем с локаторов ступней ног.

Выделяем, с клавишей Shift, «усы» IK-цепочки пятки правой ноги. Затем выделяем локатор ступни NOG1. Нажатием клавиши P выполним родительскую привязку к локатору. Далее выделим «усы» носка правой ноги. Клавишей Shift выделяем локатор NOG1. и выполняем (нажатием клавиши P) родительскую привязку на локатор. Повторяем ту же операцию для левого «руля» NOG2 (рис. 10.33).

Рис. 10.33. Выполняем привязку «рулей» ног

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

Дальше привяжем локатор TAZ к корневой кости скелета BAZA. Выделяем, удерживая клавишу Shift, корневую кость скелета BAZA, затем локатор TAZ. Нажимаем клавишу P. Теперь этот локатор является управляющим объектом для дочерней ему по иерархии корневой кости всего скелета. Но не надо думать, что все привязки

«рулей» к скелету происходят однотипно. Сейчас на примере привязки локаторов рук мы рассмотрим способ работы с виртуальными гвоздями — «констрейнами» (Constrain).

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

По теме:

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

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