Из этого также следует, что положение пивота объекта (например, «вращательного» пивота) определяется не тремя координатами, а шестью значениями. Первые три определяют координаты пивота относительно системы координат объекта, а вторые три являются корректирующими смещениями и отвечают за то, чтобы объект оставался на месте, когда вы сдвигаете пивот с помощью манипулятора. Подумайте, ведь если сдвинуть пивот, а значения вращений не трогать, то объект должен скакнуть в новое положение, отвечающее прежнему повороту, но вокруг сдвинутого пивота. Однако когда вы неистово таскает пивот на экране за манипулятор, то объект остается на месте - именно за эту неподвижность отвечают три дополнительных «корректирующих» атрибута типа rotatePivotTranslate.
Перейдите в сороковой кадр и поверните куб вокруг нового пивота: rotateZ=-180.
Тут же поставьте ключ на атрибут rotateZ.
Если вы собираетесь делать анимацию дальше, вам, очевидно, следует поставить ключ на все атрибуты со словом pivot в сороковом кадре, затем перейти в сорок первый, сдвинуть пивот в новое место, поставить ключ, перейти в шестидесятый кадр, повернуть куб, поставить ключ на вращение и т.д.
Мы ограничимся уже готовой анимацией, чтобы еще немного проанализировать получившуюся сцену и ответить на наверняка возникшие вопросы.
Комментарий. Наш куб должен бодро переваливаться через собственное ребро. Очевидно, что он имеет довольно банальную анимацию вращения - угол поворота вокруг оси 1 просто равномерно нарастает. Главный трюк заключается в точной анимации пивота вращения в нужных кадрах.
Проведите небольшой эксперимент. Перейдите в кадр с номером «двадцать с половиной». Это можно сделать вписав значение 20.5 в поле, отображающее текущий кадр. И включите режим редактирования пивота.
Вы увидите, что «между» кадрами пивот находится посередине между двумя своими ключевыми значениями. Очевидно, что вращение в этот момент происходит не вокруг ребра, а вокруг некоторой весьма абстрактной точки.
Комментарий. «Ну и что!» воскликнут легкомысленные умы. Ведь такая картинка не попадет в финальный рендеринг, который просчитает только «целые» кадры. Да, это так. Но все же следует постоянно представлять себе, что происходит между кадрами, и помнить, что MAYA работает со временем в секундах (точнее в долях секунд), а не в кадрах.
Например, если вы вдруг решите отрендерить сцену с полями и смените скорость анимации на PAL Field (50 fps), то кадр с номером «двадцать с половиной» тут же превратится в сорок первый кадр, который будет явным образом просчитан.
При просчете motion blur также могут использоваться межкадровые вычисления, не говоря уже о динамике.
Вы можете возразить, что в данной сцене никто ничего не заметит, особенно на таком среднем плане. Совершенно верно, но я не призываю вас проверять все «междукадрия», а лишь советую помнить о том, что между кадрами анимация тоже существует. Кстати, вы можете «пробивать» ключи и между кадрами, достаточно ввести «нецелый» номер кадра и поставить ключ обычным способом.
Чтобы контролировать, что происходит как между ключевыми кадрами, так и между соседними, очевидно надо иметь возможность работать с анимационными кривыми и редактировать полученную анимацию. Об этом и пойдет речь далее.