Анимация 52

Технология создания анимации на базе ключевых кадров

Существует несколько различных способов анимации объектов сцены. Наиболее распространенным методом является создание анимации путем определения последовательности ключевых кадров, под которыми понимаются моменты времени, когда наблюдаются какие-либо события анимации, отображающие начало неких преобразований объекта. Например, на рис. 7 представлена условная схема движения объекта по криволинейной траектории с отображением ключевых и промежуточных позиций объекта. С каждым событием анимации связан свой ключ анимации, поэтому кадры, в которых созданы ключи анимации, считают ключевыми. Законы изменения анимации между ключами описываются математическими, графическими или алгоритмическими функциями и запоминаются в контроллерах анимации, автоматически назначаемых каждому изменяемому параметру объекта.

 

Рис. 7. Условная схема перемещения объекта (позиции объекта, соответствующие ключевым кадрам, выделены красным цветом)

Рис. 7. Условная схема перемещения объекта (позиции объекта, соответствующие ключевым кадрам, выделены красным цветом)

 

Данная технология получения анимации предполагает, что нужно задать, как должен выглядеть объект в том или ином кадре, то есть связать с определенным моментом времени событие анимации. Затем следует определить данные кадры как ключевые (keyframes), что и приведет к созданию для объекта ключей анимации, в которых будут зафиксированы особенности его отображения в определенные моменты времени. Помимо ключевых в анимации будут присутствовать и промежуточные кадры (in-betweens), которые формируются программой автоматически и определяют изменение объекта между ключевыми позициями.

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

Создание анимации в режиме автоматической установки ключевых кадров

В качестве первого примера попробуем получить анимацию изменения масштаба обычного шара, когда шар вначале будет увеличиваться в размерах до некой максимальной величины, а затем так же плавно уменьшаться. Создайте новую сцену с шаром в центре. Задайте требуемую частоту кадров (в нашем случае 24 кадра в секунду), щелкнув на кнопке Time Configuration и установив для параметра Frame Rate (Кадровая частота) вариант Film. Укажите диапазон анимации, введя требуемые значения в полях Start Time (Начало анимации) и End Time (Конец анимации), — для примера будем считать, что анимация должна длиться 3 секунды, а частота кадров равна 24 кадрам в секунду, поэтому в создаваемой анимации должно быть 72 кадра  — с 0-го по 71-й (рис. 8).

 

Рис. 8. Определение диапазона анимации

Рис. 8. Определение диапазона анимации

 

Попробуем в данном примере работать в режиме автоматической установки ключевых кадров — в нем любое изменение параметров объекта автоматически приводит к созданию ключа анимации. Для активации данного режима щелкните на кнопке Toggle Auto Key Mode (Переключить в режим автоматического создания ключей), находящейся на панели управления. Выделите шар и перетащите ползунок временной шкалы вправо на 30-й кадр. Увеличьте масштаб шара, воспользовавшись инструментом Select and Uniform Scale. Это приведет к появлению на шкале треков меток сразу двух ключей — в 0-м и  30-м кадрах, первый из которых создается автоматически (рис. 9).

 

Рис. 9. Появление меток первых двух ключей

Рис. 9. Появление меток первых двух ключей

 

Переместите ползунок на последний кадр, уменьшите масштаб шара до первоначального и отключите режим автоматического создания ключей, щелкнув на кнопке Toggle Auto Key Mode. Перейдите в окно проекции Perspective, нажмите на панели управления кнопку Play Animation (Проиграть анимацию) — она тут же превратится в кнопку Stop Animation, а анимация начнет проигрываться. Для более удобного просмотра можно предварительно развернуть окно проекции на весь экран, воспользовавшись кнопкой Min/Max Toggle (Переключить во весь экран/возврат назад). Понаблюдайте за созданным шедевром и остановите анимацию, щелкнув на кнопке Stop Animation.

Подобное воспроизведение анимации в окне проекции Perspective (Перспектива) дает лишь примерное представление о том, как она будет выглядеть в действительности. Дело в том, что 3D Studio MAX каждый раз просчитывает то или иное изображение перед его показом, а программа воспроизведения анимации проигрывает уже готовые изображения, а значит, скорость воспроизведения (в зависимости от сцены и характеристик компьютера) может немного или даже весьма существенно отличаться от действительной. Для просмотра анимации в реальном времени необходимо создать файл эскиза анимации, воспользовавшись командой Animation=>Make Preview (Анимация=>Создать Эскиз). Это приведет к формированию множества моментальных снимков экрана (для каждого кадра формируется свой снимок) с последующей их демонстрацией в окне установленного по умолчанию в Windows проигрывателя. Попробуйте применить команду Animation=>Make Preview с параметрами по умолчанию и увидите, что вначале анимация вновь будет воспроизводиться в окне Perspective (только на этот раз данный процесс будет сопровождаться созданием снимков), а затем откроется окно проигрывателя, где  можно будет увидеть результат (рис. 10). Имейте в виду, что подобный просчет анимации требует немало времени, поэтому на стадии отладки ролика разумнее не загружать сцену лишними деталями: скрыть те объекты, которые не имеют значения для анимации, заменить объекты со сложной структурой более простыми и т.п.

 

Рис. 10. Демонстрация анимации в окне Windows-проигрывателя

Рис. 10. Демонстрация анимации в окне Windows-проигрывателя

 

Полученную анимацию несложно сохранить. Откройте окно настройки параметров визуализации Render Scene, применив команду Rendering=>Render, и перейдите на вкладку Common Parameters. В группе параметров Time Output (Временной интервал) активируйте переключатель Active Time Segment (Активный сегмент времени) и определите диапазон анимации (рис. 11). В группе Render Output (Вывод визуализации) щелкните на кнопке Files (Файлы) и укажите имя файла, формат расширения (AVI)  и формат сжатия (рис. 12), а затем щелкните на кнопке Render, что и приведет к формированию AVI-файла в указанной папке.

 

Рис. 11. Определение диапазона анимации

Рис. 11. Определение диапазона анимации

 

Рис. 12. Настройка параметров сохранения анимации

Рис. 12. Настройка параметров сохранения анимации

Создание анимации в режиме ручной установки ключевых кадров

Теперь попробуем получить анимацию в режиме ручной установки ключевых кадров, заставив перемещаться обычный шар по криволинейной траектории, представленной на рис. 13, где красным цветом отмечены ключевые позиции перемещающегося объекта, а белым — некоторые промежуточные. Создайте новую сцену с шаром и перейдите в режим работы с одной проекцией Front. Щелкните на кнопке Time Configuration и укажите в качестве диапазона анимации интервал с 0-го по 30-й кадр. Включите режим ручной установки ключевых кадров, щелкнув на кнопке Toggle Set Key Mode (Переключить в режим ручного создания ключей). Проверьте, чтобы ползунок временной шкалы стоял на 0-м кадре, перетащите шар вверх и влево и создайте первый ключ анимации, щелкнув на кнопке Set Keys (Установить ключ) — рис. 14. Обратите внимание на то, что при нажатии данной кнопки фиксируются изменения только тех свойств, которые помечены галочками в окне Key Filters (рис. 15).

 

Рис. 13. Траектория перемещения шара

Рис. 13. Траектория перемещения шара

 

Рис. 14. Вид сцены для 0-го кадра

Рис. 14. Вид сцены для 0-го кадра

 

Рис. 15. Окно Key Filters

Рис. 15. Окно Key Filters

 

Переключитесь на 6-й кадр, переместите шар в соответствии с задуманной траекторией (то есть вниз и вправо) и опять же вручную создайте второй ключ (рис. 16). Активируйте 10-й кадр, вновь переместите шар и создайте ключ (рис. 17) и т.д., пока не сформируете ключевые кадры для всей траектории. Примерное положение всех ключевых позиций шара на проекции Front представлено на рис. 18, где цифрами отмечены номера кадров, соответствующих ключевым положениям. Выключите режим ручной установки ключевых кадров, щелкнув на кнопке Toggle Set Key Mode, сохраните сцену и оцените полученную анимацию.

 

Рис. 16. Вид сцены для 6-го кадра

Рис. 16. Вид сцены для 6-го кадра

 

Рис. 17. Вид сцены для 10-го кадра

Рис. 17. Вид сцены для 10-го кадра

 

Рис. 18. Позиции шара для всех ключевых кадров

Рис. 18. Позиции шара для всех ключевых кадров

Редактирование ключей

Если анимация не соответствует вашим ожиданиям, придется перейти к ее отладке. Рассмотрим этот процесс на примере только что созданной анимации перемещения шарика по криволинейной траектории. Определенные возможности для этого имеются в главном окне программы. Например, несложно изменить положение объекта в ключевом кадре — для этого достаточно активировать ключевой кадр, включить режим ручного создания ключей, переместить объект, создать новый ключ анимации и щелкнуть на кнопке Toggle Set Key Mode.

Кроме того, можно создать новые ключевые кадры. Попробуем, например, подкорректировать  первый этап движения шарика. В промежутке, охватывающем с 1-го по 6-й кадры, шарик перемещается по прямой, а должен (в соответствии с физическими законами) двигаться по параболе с широким основанием.  Для достижения нужной траектории придется отвести на указанный этап перемещения больше времени и создать еще несколько ключей. Получается, что общее число кадров анимации нужно увеличить, кадры с 6-го по 30-й перенести по временной шкале вперед и скорректировать позиции шара в добавленных кадрах. Расширьте диапазон анимации до 36 кадров. На шкале треков при нажатой клавише Ctrl выделите все ключи, стоящие в кадрах с 6-го по 30-й, и перетащите их на 12-й кадр. Проиграйте анимацию и увидите, что после перемещения ключевых кадров программой автоматически было отрегулировано положение шара в добавленных кадрах (рис. 19) и теперь начальный промежуток шарик пробегает в более медленном темпе. На самом деле скорость его не изменилась — просто за счет удвоения кадров увеличилось время, отведенное шарику на прохождение начального этапа пути. Однако данные действия пока не привели к желаемому изменению траектории на рассматриваемом участке (от прямолинейной к параболической) — положение шарика в начальных кадрах необходимо скорректировать вручную.

 

Рис. 19. Новое положение шара в 6-м кадре

Рис. 19. Новое положение шара в 6-м кадре

 

Поэтому включите режим ручного создания ключей, активируйте 1-й кадр, переместите шарик чуть вверх и вправо и создайте новый ключ анимации, щелкнув на кнопке Set Keys. Аналогичную операцию выполните в отношении всех кадров со 2-го по 11-й, и при проигрывании анимации вы увидите, что траектория стала ближе к желаемой, но отнюдь не идеальной.

Как видите, корректировать ключи непосредственно в главном окне программы не всегда удобно, поскольку траектории шарика мы не видим. Иное дело, если открыть редактор треков Track View в режиме Curve Editor (команда Graph Editor=>Track View => Curve Editor —  Редактор графов => Просмотр треков => Редактор кривых), в котором отображаются анимационные кривые вместе с ключами, представленными в виде явно выраженных точек, лежащих на кривых (рис. 20). По оси X в окне кривых откладываются номера кадров, а по оси Y — числовые значения ключей. Редактируя форму этих анимационных кривых, можно управлять анимацией, например ускорять и замедлять движение объекта, так как в случае перемещения увеличение крутизны наклона кривой приведет к ускорению движения, а более пологая форма, наоборот, к его замедлению. Подобное редактирование осуществляется за счет изменения значений ключей, а также посредством корректировки кривизны кривых. Отметим, что окно Curve Editor разбито на две части: в левой находится дерево объектов и свойств сцены и всех их параметров, поддерживающих анимацию, — в нем удобно выбирать редактируемый параметр, а справа — окно кривых, в котором  производится редактирование.

 

Рис. 20. Окно Curve Editor для анимации движения шарика

Рис. 20. Окно Curve Editor для анимации движения шарика

 

Убедитесь, что ползунок временной шкалы стоит на 1-м кадре. Запустите воспроизведение анимации и понаблюдайте за окном Curve Editor при движении шарика — изначально находившаяся слева вертикальная черта, отмечающая положение отображаемого кадра, начнет перемещаться вдоль горизонтальной оси вправо, последовательно проходя все кадры анимации.

Вернемся к ранее рассмотренной, но так до конца и не решенной проблеме движения шарика по параболической траектории. Попробуем продолжить редактирование ключей, но уже в окне Curve Editor. Щелкните в его левой части и у объекта Sphere 01 сделайте выделенной только строку Z Pozition — останется одна анимационная кривая, отвечающая за перемещение по оси Z. При нажатой клавише Ctrl выделите все анимационные ключи и увидите, что в точках их размещения появились касательные (рис. 21). Внимательно рассмотрите участок кривой, соответствующий первым 13 кадрам, — видно, что для более плавного движения шарика желательно немного изменить кривизну кривой, переместив все ключи на данном участке, за исключением ключа в 0-м кадре, немного вниз. На встроенной панели инструментов редактора кривых выберите инструмент Move Keys (Переместить ключи), выделите все нужные ключи, сформировав вокруг них габаритный контейнер, и переместите их вниз примерно так, как показано на рис. 22. Второй ключ потребует более точной индивидуальной настройки — щелкните на нем правой кнопкой мыши и в открывшемся окне параметров введите его новое значение (рис. 23). А затем, для того чтобы касательные ключа установились автоматически на основе кривизны участков кривой до и после ключевой точки, щелкните на кнопке Set Tangents to Auto (Автоматическая установка касательных) — рис. 24. Включите воспроизведение анимации и оцените результат.

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

 

Рис. 21. Появление касательных к ключам анимационных кривых

Рис. 21. Появление касательных к ключам анимационных кривых

 

Рис. 22. Результат перемещения группы ключей

Рис. 22. Результат перемещения группы ключей

 

Рис. 23. Ввод значения 2-го ключа в окне параметров

Рис. 23. Ввод значения 2-го ключа в окне параметров

 

Рис. 24. Окончательный вид анимационной кривой

Рис. 24. Окончательный вид анимационной кривой