Прямая и инверсная кинематика  Maya

Прямая и  инверсная кинематика  — это два разных способа вращения суставов в цепи. Из них  более простым и  требующим меньших вычислительных  затрат является  прямая кинематика (Forward Kinematics — FK), но при  этом она лишена многих  интуитивно по­ нятных  возможностей управления, которыми   обладает  инверсная   кинематика  (Inverse Kinematics — IK), обеспечивающая  вращение суставов по цепи.

В случае прямой кинематики  каждый сустав просто поворачивается вручную, как это было сделано в  предыдущем разделе с примером скелета. При  повороте  корневого суста­ ва цепи  (например, плечевого сустава) вращательное движение  передается по цепи  сус­ тавов  дальше вниз  и перемещает все дочерние  суставы. На  рис. 8.9 представлена создан­ ная в  предыдущем разделе структура руки  с  повернутым суставом плеча.  Хотя создать такое движение  относительно несложно и  в   Майя  просто рассчитать его, для располо­ женных ниже по цепи  суставов  оно  недостаточно точное.  Если, например, необходимо прикоснуться  запястьем к другому объекту, то сначала необходимо повернуть плечо, по­ том локоть, а потом,  возможно, настроить  поворот обоих суставов  так, чтобы в  точности

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

В то же время инверсная кинематика намного более сложная математически,  но вместе с тем предусматривает точную регулировку суставов  конечностей и,  когда остальная часть иерархии уже установлена, помогает управлять движением этих суставов.  В инверсной  ки­ нематике  движение сустава  конечности  (на самом деле управляющего  положением сустава маркера (handle)) приводит к повороту суставов  вверх по цепи, поэтому движение распро­ страняется по цепи в  обратном (backward), или инверсном (inverse), направлении.

Инверсная кинематика  использует маркеры  инверсной  кинематики  (IK   handle),  или просто маркеры  IK,  и  решатели  инверсной кинематики  (IK  solver),   или   просто решатели IK.  Маркер инверсной  кинематики  проходит по  суставам, на которые распространяется его    влияние,     эти     суставы     называют     цепью    управляемой    инверсной    кинематикой (IK chain),  и   сквозь  эту  же  цепь  проходит линия  маркера  (handle  wire).  Управляющий вектор  (handle vector) выходит из  начального сустава и  заканчивается в  конечном, в  ко­ тором располагается  конечный исполнительный элемент  (end  effector).   После добавления решателя IK в  рассмотренную в  предыдущем примере цепь  суставов  можно будет ани- мировать  простым перемещением  сустава запястья.  При  этом плечо и  локоть будут вра­ щаться так, чтобы вся рука двигалась правильно, как показано на рис. 8.10.

Рис. 8.9. Прямая кинематика: при                            Рис. 8.10. Перемещение цепи сус- повороте  сустава,  старшего  в                            тавов с помощью перемещения ко- иерархии, перемещается вся цепь                             печного исполнительного элемента суставов                                                                       маркера инверсной кинематики

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

тава, но суставов  в  ней может быть и  больше, особенно если  используется маркер  инверс­ ной  кинематики сплайна  (IK  Spline handle),  который  управляет лежащими  в  его  основе суставами  с помощью кривой.  Среди реализованных в  Maya решателей  инверсной кине­ матики  можно выделить  четыре (и  соответствующие  типы инверсной  кинематики):  ре­ шатель  ikrP для  расчета  инверсной кинематики  вращения плоскости  (IK  rotat e  Plane), решатель ikSC для расчета инверсной кинематики простой цепи  (IK  Single Chain), реша­ тель   ikSpline для  расчета  инверсной  кинематики   сплайна   (IK   Spline)   и    решатель ikSpring для расчета инверсной кинематики  пружины  (IK  Spring).  Каждый тип  реша­ теля IK имеет собственный   тип маркера IK.

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

По теме:

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

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