Итак, если вы выбрали, например, Orientation=xyz, a Second Axis World Orientation=+y, то локальные оси суставов будут развернуты следующим образом: первая ось, X, будет направлена вдоль кости, торчащей из сустава (в направлении следующего сустава), вторая ось ,Y, будет, очевидно, перпендикулярна первой и развернута максимально вверх, в направлении +у, стремясь повернуться вдоль глобальной оси Y, а третья ось, Z, будет перпендикулярна первым двум и направлена по правилу правой руки.

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

Еще раз напомню: вы можете отключить автоматическую ориентацию в Option Box инструмента JointTool и произвести настройку локальных осей позже, с помощью операции Orient Joint. Кроме того, эта операция гарантированно направит одну локальную ось (обычно ось X) вдоль кости, а две остальных вы всегда можете довернуть вручную, выбрав локальные оси как компоненту объекта-сустава и применив к ним обычный Rotate Toot.

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

Общий принцип ориентации осей таков: сделайте так, чтобы суставы было удобно анимировать напрямую или чтобы ими было удобно управлять с помощью других объектов (Set Driven Key и пр.). Если оси развернуты произвольно, покрутить их и добиться корректного результата трудно, а порой невозможно. При этом совершенно не важно, какая ось «первая»», а какая «вторая» - важна ориентация этих осей относительно сустава.

Например, вы изумленно глядите на какой-нибудь сустав, и думаете: как же задать ориентацию осей. Для начала нужно ответить на ряд вопросов, -Например, будет ли сустав в исходной позе согнут или распрямлен? Если будет согнут, нужно ли иметь при этом нулевые значения атрибутов Rotate? По скольким осям будет происходить вращение? Если по нескольким и управление суставом будет не напрямую, а через Set Driven Key, то не будет ли происходить искажение вращения при одновременном повороте по нескольким осям сразу? И т.д.


⇐ вернуться назад | | далее ⇒