В некоторых программных пакетах возникает блокировка суставов, когда объект перестает правильно вращаться вокруг одной или нескольких своих осей. Это происходит в том случае, когда две оси вращения объекта имеют одно и то же направление. Поэтому объект перестает вращаться так, как должен был бы это делать.
Проблемы блокировки шарнирных соединений присущи всем программам анимации, в которых используются углы Эйлера. Причина этого заключается в том, что такие программы оценивают каждую из осей х, у и I отдельно (и именно в указанном порядке). При этом очень легко может возникнуть ситуация, когда объект обращен в одном направлении по двум осям.
С другой стороны, при вращении кватернионов одновременно оцениваются все три оси с целью поиска направления, в котором следует осуществлять движение (компонент \у или суммирующий вектор), и четвертого значения, указывающего, на какое расстояние должна сместиться матрица. В этом случае блокировка шарнирных соединений никогда не возникает, потомучто все три оси обновляются одновременно. Недостаток использования таких программ заключается в том, что они более сложны для понимания по сравнению с методикой эйлеровых углов.
Существует несколько способов обойти проблему блокировки шарнирных соединений при работе с программами, поддерживающими методику эйлеровых углов. Если программа позволяет изменять порядок осей вращения, попытайтесь направить ось вращения в направлении движения объекта. Например, если объект вращается только вокруг оси у, то порядок осей следует указать как у, х, I- При вращении вокруг двух осей измените порядок осей так, чтобы оси вращения были первой и последней. Например, если объект вращается вдоль осейх и у, то порядок осей должен быть таким: х, г и у.
Еще один способ, который подходит для большинства систем, заключается втом, что каждую кость следует создавать так, чтобы она сразу же была обращена в направлении будущего вращения. Это означает, что разные кости следует создавать в разных проекциях. Например, если фигура стоит лицом к оси I, а вы создаете кости позвоночника, то моделировать их следует в окне передней или задней проекции. Это гарантирует, что кости позвоночника будут вращаться вокруг оси х или будут наклоняться при большинстве движений позвоночника, соответствующих наклонам туловища вперед или назад. Кости пальцев создают в окне верхней или нижней проекции так, чтобы каждый из них мог вращаться вокруг оси zНекоторые более гибкие программные пакеты позволяют изменять оси вращения для отдельных костей. Например, команда Edit Skeleton (Редактировать скелет) позволяет выбрать кость и переместить ее маркеры так, чтобы они были обращены в направлении, необходимом для большинства вращений этой кости.
Существует множество способов подготовки модели к анимации. Форма и пропорции модели определяют иерархическую структуру скелета, а инструменты программного пакета — способ внедрения этой структуры. Не нужно говорить о том, что существуют какие-то правильные или неправильные способы оснащения трехмерной модели. Приведенные инструкции являются общим руководством и не означают, что именно они являются единственно правильным способом создания модели.
На рис. 9.1 представлены передняя и боковая проекции скелета, помещенного внутрь женской модели. Иерархическая структура начинается у паха. Именно из тазовой области берут начало все движения, поэтому головную кость естественно поместить именно здесь. От этой первой кости, расположенной посредине таза, в нескольких направлениях расходятся дочерние кости.
Если ваша программа задает ориентацию вращения костей в соответствии с проекцией, в которой они созданы, а модель обращена лицом вперед в окне фронтальной проекции, воспользуйтесь инструментом Skeleton (Скелет) и в окне передней или задней проекции создайте головную кость (рис. 9.2). По возможности работайте в отдельном слое, поместив при этом каркас модели на задний слой.
Начните в основании паха и смоделируйте кость почти на половину расстояния до пупка. Оставив головную кость активной, создайте следующую кость, щелкнув в области, в направлении которой вы хотите продолжить создание скелета. Это будет область правого бедра, которая на рис. 9.2 помечена цифрой 2. Щелкните посредине колена, чтобы создать третью кость, расположенную в верхней части ноги. Если кость необходимо переместить или масштабировать, воспользуйтесь соответствующими инструментами, но не объединяйте одну кость с другой. Вместо этого сделайте одну кость дочерней относительно другой, перейдя для этого в окно, или в таблицу иерархической структуры, или в любое другое окно, в котором указывается порядок костей. Переместите дочернюю кость под соответствующую головную. В этом же окне задайте название костей: головная, правое бедро, верхняя кость правой ноги, нижняя кость правой ноги и т.д.

Рис. 9.1. Передняя и боковая проекции скелета женщины

Рис. 9.2. Первая кость является головной и располагается в паху (1), от нее отходит дочерняя кость. Это вторая кость правого бедра (2), за которой следует кость верхней части правой ноги (3). Все кости изображены в окне фронтальной проекции
На рис. 9.3 изображены кости правой ноги. Обязательно задайте название костей на дереве скелета и проверьте правильность иерархической структуры. Если названия костей не присвоить сейчас, то потом можно запутаться, так как будет много костей и вы не будете знать, какой частью тела они управляют. При создании костей и присвоении им названий в качестве справочного руководства можете воспользоваться схемой иерархии скелета (рис. 9.8).

Рис. 9.3. Остальные кости ноги. Маленькие кости кончика пальца и колена можно использовать для присоединения целевых объектов для инверсной кинематики (ИК)
Начните с верхней части иерархической структуры (если программа позволяет это), выделите головную кость и активизируйте инструмент Edit Skeleton (Редактирование скелета). Затем переместите маркеры кости (рис. 9.4) так, чтобы надлежащим образом сориентировать оси вращения каждой кости. Меньший кружок перетаскивают для задания осей вращения костей. Обязательно работайте в нескольких проекциях. На рис. 9.4 видно, что в качестве оси вращения или наклона для костей ноги задана осьх.
После задания осей вращения костей ноги выделите кость бедра и остальные кости ноги. С помощью инструмента Mirror (Зеркальное отображение) выполните зеркальное отображение этих костей относительно оси х (см. рис. 9.4). Вы получите зеркальную копию костей правого бедра и ноги, образовывающую кости левой стороны тела.

Рис. 9.4. Маркеры используются для ориентации костей вдоль нужных осей вращения. Обратите внимание, что направление вращения обозначается маленькими кружочками. Кости правого бедра и ноги выделены и зеркально отображены относительно оси X
Теперь кости левого бедра и ноги необходимо сделать дочерними относительно головной кости. В окне дерева скелета переместите эти кости под головную. Переименуйте их, присвоив, например, такие названия: левое бедро, верх левой ноги и т.п. Убедитесь, что кости правой и левой ноги являются дочерними для головной кости.
Выделите головную кость и щелкните инструментом редактирования скелета в области ниже пупка, чтобы создать первую кость позвоночника. Воспользуйтесь рис. 9.5 в качестве справочного руководства для создания костей позвоночника, шеи и головы, а также их осей вращения. На рис. 9.5 на изображении боковой проекции представлены маркеры этих костей.
Продолжите создание костей, продвигаясь по скелету в направлении головы. Если вы моделируете женскую фигуру, создайте правую и левую кости груди, являющиеся дочерними для кости грудной клетки. Кости, ведущие к грудным железам, оставляют неактивными. Фактически они являются заполнителями. Концевые кости используются для движения грудей.

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

Завершив создание костей руки и плеча, зеркально отобразите их на другую сторону тела. Обязательно задайте правильную иерархию, поместив кости плеча и руки под кость позвоночника. Переименуйте кости для этой части тела.