Решатель  инверсной  кинематики  человека  (  h i k ) Maya

Решатель   инверсной   кинематики  человека   (human  IK  solver  —   hik )  —   решатель,  весь­ ма отличный от предыдущих, он может быть использован только вместе с установкой ин­ версной  кинематики  всего  тела  (Full  Body  IK  —  FBIK),  которая  подробно рассматривает­ ся в  разделе "Практика: создание скелета"  далее в  этой главе. Решатель hi k позволяет связывать с  одним узлом  инверсной  кинематики  несколько  конечных исполнительных элементов, в   то  время как  для   остальных  решателей  требуется  связь  "один  к  одному"   (one-to-one). Поскольку  невозможно создавать решатель IK человека без использования системы  FBIK Майя, отложим пока обсуждение этого вопроса.


Переключение между прямой и инверсной  кинематикой

Maya позволяет переключаться в  обоих направлениях между использованием  марке­ ров решателей ikrP и ikSC, а также между использованием  прямой и  инверсной  кине­ матики, более того, их движения можно даже смешивать друг с  другом.  Чтобы переклю­ чить или  смешать в  цепи  суставов  инверсную  кинематику  с  прямой, достаточно откор­ ректировать атрибут. ikBlend маркера   IK.    Давайте    поэтапно   пройдем   процесс переключения между прямой и  инверсной  кинематикой, используя  простую трехсустав- ную постановку руки.

1.    Создайте скелет руки, состоящий из  трех суставов,  а также маркер  IK с решателем

ikrP для него.

2.    На первом кадре установите  для маркера  IK ключевой кадр,  перейдите к  кадру  10, переместите маркер IK и установите новый ключевой кадр.

Чтобы установить ключевой кадр, выделите каналы, для которых следует установить ключевой кадр (в данном случае атрибуты перемещения),  щелкните  правой кнопкой мыши   и   в   появившемся  маркированном   контекстном  меню   выберите пункт  Key  Selected (Установить ключевой кадр для выбранного).

3.    В панели  каналов  (текущий кадр —  10-й) установите ключевой кадр для  значения 1 атрибута ikBlend.

4.    Перейдите к кадру  15, присвойте  атрибуту ikBlend маркера IK значение 0 и  уста­ новите для него ключевой кадр. Через шесть кадров  после кадра  10, т.е. с  кадра  15, движение  руки  перейдет  от  инверсной  кинематики  (управляемой  маркером  IK)  к прямой кинематике  (управляемой поворотами  отдельных  суставов).

5.    Вернитесь к кадру  10. Выделите  два верхних  сустава управляемой инверсной  кине­ матикой цепи и  установите для них ключевой кадр. Перейдите к кадру 20,  поверните суставы по отдельности, а затем установите для них ключевой кадр.

Воспроизведите  полученную анимацию.  (Возможно, чтобы лучше рассмотреть  дви­ жение, ее придется воспроизвести  вручную, проходя по  кадру.)  Будет заметно,  что на протяжении  первых десяти  кадров  цепь суставов  поворачивается  вслед за  маркером IK, а затем, на протяжении следующих пяти  кадров, она должна плавно  перейти  в движение  поворотами  отдельных суставов  и  в  конце окончательно следовать  движению  поворотов суставов,  оставляя маркер  IK позади  (по крайней  мере,  если  был соответственно  уста­ новлен атрибут Stickiness), как показано на рис. 8.19. Через несколько кадров можно снова установить  ключевой кадр для атрибута  ikBlend (со значением 1),  после чего суставы будут поворачиваться обратно к позиции  маркера IK.

При смешении инверсной и прямой кинематик можно увидеть две цветные  линии  и цепь суставов: цепь FK (прямой кинематики)  и  цепь IK (обратной кинематики)  обозначены  ли­ ниями,  в то время как полученная в  результате смешанная цепь остается где-то между двумя выстроенными  цепями. Это троякое представление  позволяет  увидеть, как при  создании  ре­ зультирующей цепи  смешиваются  цепи, управляемые различными  кинематиками.  Размер представления этих суставов можно  изменить, выбрав пункт меню Display => Animation => IK/FK Joint Size (Представление  => Анимация => Размер  суставов IK/FK).

Рис. 8.19. Различные позиции скеле­ тов прямой и инверсной кинемати­ ки,  полученные в конечной  позиции смешанной цепи суставов

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

Установка предпочтительног о угла  

Если создать цепь суставов вдоль прямой линии, то решатели  ikSC и  ikrP не смогут вы ­ числить и согнуть цепь.  Чтобы  исправить эту проблему, сначала исказите цепь,  повернув дочерний сустав (суставы), — тут достаточно даже доли градуса. Затем выберите пункт ме­ ню Skeleton => Set Preferred Angle (Скелет => Установить предпочтительный угол) или щелкните правой  кнопкой  мыши  и  выберите  в  появившемся  контекстном меню  пункт  Set  Preferred  Angle (Установить предпочтительный угол). Удалите цепь и создайте новую. Теперь реша­ тели ikSC и  ikrP смогут согнуть цепь. Тем не менее лучше всего с самого начала создавать все цепи суставов с небольшим сгибом.

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

По теме:

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

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