Выбрать главу

Несмотря на то, что сами аниматоры при создании трехмерной анимации ориентируются на вращения в трехмерной системе координат по осям X, Y и Z (так называемые углы Эйлера или значения Эйлера, названные в честь описавшего их математика), игровой движок оперирует «кватернионами». Математические операции при этом требуют четырех значений, и каждое вращение описывается поворотом относительно каждой оси (для летательных аппаратов они, например, называются «рысканье», «тангаж» и «крен»), но для аниматора это слишком заумно, и ключевые показатели описываются углами Эйлера.

Серьезный недостаток такого переноса – так называемое складывание рамок, когда объект, например кость скелета, разворачивается по одной оси так, что две другие оси совпадают и делают объект нерегулируемым.

Анимационный риг, наложенный поверх скелета

При экспорте значений скелетов важно помнить, что аниматоры обычно не манипулируют напрямую скелетом, а используют накладываемый поверх него риг. Благодаря этому удается использовать все трюки и инструменты программ наподобие Maya – например, переключаться между локальным и глобальным вращением, – а также работать со сложными инструментами, такими как «инверсная кинематика» (Inverse Kinematics, IK).

Эти аспекты подробно рассматриваются в главе 8, «Ваш проект: техническая анимация», но будет полезно знать ограничения конкретного игрового движка и его особенности считывания скелетной анимации при экспорте в игру. Эти знания помогут вам настроить любую анимационную сцену или персонажа, над которым вы работаете, так, чтобы получить наилучшие результаты в зависимости от сложности работы.

Как работают сплайновые кривые

Во времена традиционной 2D-анимации аниматор рисовал важные ключевые позы точно так же, как сейчас мы задаем первоначальный вариант движения объекта. После удовлетворительного результата аниматор (или один из помощников, в зависимости от размеров команды) рисовал (фазовал) промежуточные кадры, а главный аниматор, не теряя времени, как можно быстрее переходил к следующему фрагменту.

Аниматор настраивает движение между ключевыми кадрами с помощью редактора кривых

С появлением 3D-анимации все промежуточные кадры между ключевыми позами начали рассчитывать компьютеры, иногда вставляя дополнительные ключевые кадры и, что очень важно, изменяя кривые для реализации классического принципа «ускорения и замедления» (иногда в применении к кривым это называется «разгоном» и «затуханием» или «замедлением на входе и на выходе»).

Как известно, для любого движения скорость – это расстояние, пройденное за какое-то время. Независимо от программного обеспечения график скорости можно представить в виде линии в системе координат, где по одной оси измеряется расстояние (часто в сантиметрах или метрах), а по другой – время (в секундах или кадрах). Если в первом ключевом кадре объект расположен на нулевой отметке, а в тридцатом кадре – на расстоянии одного метра от нулевой отметки (при условии скорости анимации 30 кадров в секунду), то за тридцать кадров объект пройдет расстояние в 1 метр. В данном примере линия графика прямая, поэтому можно утверждать, что объект двигался с постоянной скоростью 1 метр в секунду.

График скорости в виде прямой

Однако чаще всего скорость анимации не бывает постоянной. Даже если объект и будет двигаться с общей скоростью 1 метр в секунду, то, скорее всего, в начале он будет разгоняться, а в конце замедляться. При этом график принимает форму кривой, выходящей из начальной точки и входящей в конечную точку по горизонтальной касательной. Чем больше угол кривой, тем быстрее движется объект, и наоборот.

Кривая с разгоном и замедлением

Для любого объекта, перемещающегося в трехмерном пространстве, можно задать три графика скорости для каждой из осей X, Y и Z. (В Maya ось X красного цвета, Y – желтого, а Z – синего.) Регулируя каждую из кривой, можно подчеркнуть индивидуальные особенности движения того или иного объекта, вместо того чтобы просто заставлять его двигаться со строго линейной скоростью.

Варианты кривых. Быстрый разгон с постепенным замедлением и постепенный разгон с резкой остановкой

Важно отметить, что аниматор может подгонять кривые по своему усмотрению, делая вставки дополнительных ключевых кадров между основными позами. Традиционно для этого вставлялись целые новые позы (так называемые breakdowns, или «вставки», буквально «разбивки»), помогавшие настроить степень разгона или замедления; то же можно проделать и в 3D-анимации – вставить целые дополнительные позы.

полную версию книги