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

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

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

Если вы решили выполнить полную ИК-на-стройку скелета, обратитесь к рис. 9.10. На нем представлены передняя и задняя проекции женского скелета с указанием местоположения целевых объектов в ключевых областях иерархической структуры. Каждый из этих объектов приводит в движение определенную часть тела.

Настройка скелета для инверсной кинематики

Рис. 9.10. Полная настройка инверсной кинематики. На головную кость, расположенную в области паха, И К не оказывает воздействия. Кружочками со знаками "плюс" обозначены целевые объекты (иногда используются нули), которые приводят в движение части тела

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

Чтобы получить поперечное движение, которое совершает стопа во время ходьбы, целевой объект лодыжки необходимо сделать головным для целевого объекта кончика пальца. При движении целевого объекта пальца или нуля за ним последует объект лодыжки. Когда тело движется вперед, целевой объект пальца привязывает переднюю часть стопы к полу, тогда как лодыжка оказывает меньшее воздействие, заставляя стопу немного подниматься. Целевой объект лодыжки также используется для точной подстройки определенных положений стопы.

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

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

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

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

Точное положение верхней части тела можно задать путем поворота и перемещения самих костей.

Настройка скелета для инверсной кинематики

Рис. 9.11. Частичная ИК-настройка. Инверсная кинематика применена только к нижней половине тела, а кости верхней половины вращаются и перемещаются

Для компоновки частичной иерархии И К начните с создания шести нулей, которые будут целевыми объектами. Каждому из них присвойте следующие имена: К.Кпее1Ми11, Ь.КпееЫиИ, Я.ТоеТЧиП, Т.ТоеЫиП, КАпИеТЧиИ, LAnkleNu.Il. Объект Я.Апк1еМи11 (Нуль правой лодыжки) сделайте головным для объекта К.ТоеЫиИ (Нуль правого пальца). Ту же операцию выполните для нулей левой лодыжки (Ь.АпМеШН) и левого пальца (Е.ТоеЫип). Теперь при движении нулей пальцев за ними должны следовать нули лодыжек. В большинстве случаев нули лодыжек перемешать не придется, но с их помощью очень удобно корректировать положение стопы.

Переместите шесть нулей в соответствующие положения. Поместите их в основаниях (начальных точках) следующих костей:

К.Кпее1Ми11—> кость правого колена; Е.КпееТ^иП—> кость левого колена; к..ТоеМи11—» кость кончика правого пальца;

L.ToeNull—> кость кончика левого пальца; R.AnkleNull-^ кость правой лодыжки; L.AnkleNull-> кость левой лодыжки.

Выделите левую и правую кости бедра (являющиеся головными) и в окне параметров их движения выберите опцию Unaffected by IK of Descendants (ИК дочерних объектов не влияет). Таким образом, они будут независимы от целевых объектов, так что при включении функции И К эти кости можно перемещать и поворачивать.

В окнах параметров движения для остальных костей ноги выберите опцию Inverse Kinematics (Инверсная кинематика). Ее следует применить ко всем осям (х, у и z)- Во избежание ограничения движений костей проверьте, чтобы все оси вращения были активными. По желанию можно задать определенные ограничения.

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

Вот и все. Теперь можно проверить действие ИК. перемещая целевые объекты (нули). Обратите внимание, что при выделении и перемещении тела нулевые объекты пальцев будут привязывать стопу к земле. Это очень важно для анимации ходьбы или других действий, требующих, чтобы во время движения тела вперед стопа оставалась на земле.

Корректировка весовых карт || Оглавление || Задание выражений лица