УРОК №7. Анимация в 3D Studio MAX

Освоив данный раздел, вы сможете сами создавать движение объектов в 3D Studio MAX. Это может быть анимация для компьютерных игр, мультфильмов, заставок, иллюстраций, презентаций и т.д.

Анимировать можно практически любой параметр: положение объекта в пространстве (X , Y , Z), вращение, масштабирование объекта и т.д. Можно также анимировать цвет материала или параметры модификатора.

Принцип анимации

Анимация основана на принципе человеческого видения. Если перед взором человека быстро меняются одна на другую несколько схожих неподвижных картинок, у человека возникает ощущение движения. Каждая отдельная картинка называется кадр (frame) (Рис. 1).

Рис 1. Последовательность кадров

Большинство кадров в анимации – это слегка изменённые предыдущие кадры. Если создавать только главные ключевые кадры (key frame), в которых происходит кардинальное изменение положения объекта, его формы, цвета и т.п., можно значительно ускорить процесс создания анимации. В этом случае те кадры, которые должны находиться между ключевыми (они называются tween), могут быть легко созданы при помощи простых подсчётов. Затем все key frame и tween состыковываются, и получается готовая анимация.

Ключи анимации и их настройка

В программе 3D Studio MAX вы создаёте только главные кадры (key frame). 3D Studio MAX сам подсчитывает и создаёт то, что должно быть между ключами, чтобы в итоге получилась цельная анимация. Этот способ анимации основан на понятии «ключ».
Ключ - это фиксированное значение какого-либо параметра в заданный момент времени. Основные ключи анимации - по перемещению, вращению и изменению размера. Ключи выставляются в нужных кадрах. Их может быть любое количество, но не большее, чем кол-во кадров.

                                изменение объекта
ключ 1 ----------------------------------------------------- ключ 2

Перед вами полоска с номерами кадров и ползунок Time Slider (временная полоса) (Рис. 2).


Рис 2. Временная полоса с расставленными на ней ключами анимации

Зелёные квадратики напротив кадров с номерами 0, 10, 23, 40, 55 – это ключи анимации. В кадрах с этими номерами с объектом происходит какое-то изменение. Ползунок позволяет перемещаться между кадрами.

Способы постановки ключей в 3D Studio MAX

1. Автоматический
Вы переходите на какой-либо кадр анимации и, включив специальный режим Auto Key (автоматическая расстановка ключей), изменяете каким-либо образом объект (например, перемещаете его). На временной полосе появляется ключ.

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


Рис 3. Активирован режим Auto Key

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

Если ключ является первым в текущей анимации для данного параметра, второй ключ создаётся автоматически в нулевом кадре, чтобы сохранить первоначальные значения параметра. Таким образом, если вы нажали кнопку Auto Key, выбрали объект, перетащили ползунок и изменили объект – вы автоматически получите 2 ключа: в том кадре, где находится ползунок, и в нулевом кадре (Рис. 4).


Рис 4. При установке ключа в 15-ом кадре автоматически появился ключ в нулевом кадре

Создадим простую анимацию примитивному объекту "Падающий цилиндр".

1. Создаём цилиндр (Рис. 5).


Рис 5. Объект готов к анимации

2. Включаем Auto Key (Рис. 6).


Рис 6. Включаем Auto Key

3. Передвинем ползунок, например, на 20-й кадр (Рис. 7).


Рис 7. Ползунок передвинут на 20-й кадр

4. Повернём объект, используя инструмент Select and Move (Рис. 8).


Рис 8. Поворачиваем цилиндр

5. Появятся 2 ключа: в 20-ом и в нулевом кадрах, в которых записано изменение параметра вращения по оси Y объекта Cylinder (Рис. 9).


Рис 9. Автоматически появились 2 ключа анимации

Чтобы запустить анимацию и посмотреть, что получилось, нажмите на кнопку Play (Рис. 10).


Рис 10. Кнопки проигрывания анимации

2. Расстановка ключей вручную.
Этот способ даёт возможность большего контроля, чем метод Auto Key , так как у Вас есть шанс испытать новую идею и затем сразу отказаться от неё, не уничтожая работу. Когда Вам нравится то, что Вы видите, Вы щелкаете на большую кнопку Set Keys или нажимаете « K» на клавиатуре, чтобы установить ключ (Рис. 11). Если Вы не сделаете этого, ключи не будут установлены.


Рис 11. Включен режим Set Key

Для того, чтобы увеличить количество кадров в линейке (ведь стандартные 100 кадров - это около 3-х секунд), нужно нажать на кнопку Time Configuration (Рис. 12).


Рис 12. Расположение кнопки Time Configuration

Откроется диалоговое окно (Рис. 13).


Рис 13. Диалоговое окно Time Configuration

Рассмотрим наиболее используемые параметры.
Frame Rate - частота кадров. Здесь представлены на выбор 3 стандарта:
NTSC - 30 кадров в секунду
PAL - 24 кадра в секунду
Film - киностандарт, 24 кадра в секунду
и Custom - произвольное количество кадров, устанавливается пользователем. Количество кадров влияет на скорость происходящего в анимации. К примеру, если объект пермещается из одной точки в другую в течение 90 кадров при частоте 30 кадров в секудну, то это будет длиться 2 секунды. Если же частота кадров - 24 к/с, то длительность перемещения будет почти 4 секунды. Теперь Вы понимаете, как создаётся эффект замедленной съёмки в кино. Нужный эпизод записывается с завышенной частотой кадров в секунду (например, 120 вместо 24-х), а проигрывается со стандартной скоростью в 24 кадра в секунду.
Но вернемся к окну Time Configuration.

Следующий раздел - Animation, анимация.
Start Time - кадр, который будет первым в линейке кадров
End Time - кадр, который будет последним в линейке кадров
Length - номинальное количество кадров в сцене. Именно этот параметр мы изменяем, если хотим увеличить или уменьшить количество кадров. 
Frame Count - реальное количество кадров в сцене (на 1 больше, так как начало не с 1-ого, а с нулевого)
После того, как нужные изменения внесены, жмём ОК.

Анимация параметров текстуры

Теперь попробуем создать анимацию материалу, который будет наложен на наш Cylinder. Внимательно посмотрим на панель Material Editor (редактор материалов) и найдем группу параметров Blin Basic Parameters (Рис. 14).


Рис 14. Группа параметров Blinn Basic Parameters в окне редактора материалов

Найдем там параметр Diffuse (Рассеянный). Напротив него можно увидеть прямоугольник, в котором задается цвет материалу (Рис. 15).


Рис 15. Параметр Diffuse группы Blinn Basic Parameters

Если щелкнуть по нему, то вы попадете в режим выбора цвета (Рис. 16).


Рис 16. Окно Color Selection: Diffuse Color - выбор цвета

Теперь попробуем сделать анимацию изменения цвета. Принцип работы тот же, что и в предыдущей анимации, только, переместив бегунок Time Slider, мы будем менять цвет объекта. Итак, порядок действий следующий:
1. В редакторе материалов присваиваем материалу цвет. 
2. Включаем Auto Key (Рис. 17)
3. Передвигаем ползунок Time Slider в последний кадр.
4. Меняем цвет материала.
5. Присваиваем материал объекту. 
6. Появляются 2 ключа: в первом и последнем кадрах (Рис. 18).


Рис 17. Присваиваем материалу цвет и включаем Auto Key


Рис 18. Передвигаем ползунок в последний кадр, меняем цвет материала, присваиваем материал объекту

Обратите внимание, что вокруг индикатора цвета напротив Diffuse появилась красная рамка. Такая рамка показывает, что параметр анимирован.
Итог любой анимации - видеофайл. Т.е. необходимо провизуализировать анимированную сцену в файл. Для этого зайдёи в уже знакомое меню Rendering => Render (Рис. 19).


Рис 19. Окно Render

Необходимо выбрать пункт Files, который находится в разделе Render Output. Для этого Вам придётся чуть прокрутить вниз содержимое вкладки (Рис. 20).


Рис 20. Раздел Render Output окна Render Scene

После нажатия на кнопку Files откроется диалоговое окно Render Output File, в котором мы задаём имя и формат файла, в который будет производиться визуализация. Формат видеофайлов в среде Windows - *.avi. Именно его мы выбираем в списке Save as Type (Рис. 21).


Рис 21. Окно Render Output File

После того, как Вы нажмёте Save, откроется окно AVI File Compression Setup - выбор метода сжатия видео (Рис. 22).


Рис 22. Окно AVI File Compression Setup

Что такое сжатие видео, и для чего оно нужно? Дело в том, что видеофайл - это очень большой объём информации. Ведь видео - это множество сменяющих друг друга статичных картинок. Объём файла получается колоссальный (средний размер 1 часа несжатого видео разрешением около 780*576 - 20 гигабайт). Для того, чтобы уменьшить этот размер до приемлемого, используются различные программы (они называются кодеки), которые за счёт более или менее незаметного ухудшения качества картинок уменьшают размер итогового файла. Кодеки устанавливаются отдельно, как любая другая программа, но некоторое количество кодеков встроено в Windows.
В списке Compressor перечислены все установленные у вас на компьютере кодеки. Лучший вариант - DivX. Если его нет, из стандартных кодеков мы рекомендуем Вам Cinepak.

Далее выбираем количество кадров, которые необходимо провизуализировать. Эта операция производится в разделе Time Output (Рис. 23).


Рис 23. Раздел Time Output вкладки Common. Активна опция Active Time Segment

Single - будет отрендерен один кадр, тот, на котором в данный момент остановился ползунок. Эту опцию мы использовали, когда визуализировали статичные картинки.
Active Time Segment - будут отрендерены все кадры анимации.
Range ... To ... - указываем, с какого по какой кадр нужно рендерить. Эту опцию используют тогда, когда нужно провизуализировать только часть анимации.
В нашем случае нам нужно выбрать опцию Active Time Segment, так как нам нужно провизуализировать всю анимацию.

После процесса визуализации получается AVI файл, который проигрывается стандартным проигрывателем Media Player компании Microsoft.

Настройка анимации с помощью ключей и графиков движения

В этом уроке мы изучим более сложный способ - ручной расстановки ключей анимации. Зачем он нужен? Автоматический способ предполагает плавное изменение параметров объекта от ключа к ключу. Но что делать, если мы хотим изменить интенсивность изменений? Или просто хотим сделать не плавное, а довольно резкое изменение? В таком случае нам необходимо вручную устанавливать ключи. Именно этот способ - ручной расстановки ключей мы и рассмотрим в этом уроке.

В качестве примера мы будем создавать простую сцену: прыгающий мяч.
Для начала создадим Plane с размерами 200х200 и координатами X = Y = Z =0 и Sphere с радиусом 20 и координатами X=0 Y=0 Z=60 (Рис. 24). Z = 60 мы взяли для того, чтобы объект в начале анимации висел на некоторой высоте, с которой он будет впоследствии падать.


Рис 24. Плоскость и сфера - заготовка будущей анимации

Нам не нужно 100 кадров, так как мячик будет повторять одно и то же движение. Следовательно, ролик можно «зациклить». Уменьшим кол-во кадров на временной полосе TimeLine. Вызовем окно Time Configuration (Рис. 25).


Рис 25. Кнопка Time Configuration

Изменим значение Length (количество кадров) на 50. Теперь приступим к расстановке ключей анимации. Сначала нужно установить ключ в 0-м кадре, зафиксировав тем самым начальное положение объекта. Для этого выделим сферу и зайдём во вкладку Motion (Рис. 26).


Рис 26. Расположение вкладки Motion

Здесь мы видим два столбца: Create Key (создать ключ) и Delete Key (удалить ключ). Именно в этом разделе и создаются ключи анимации трёх параметров объектов: Position (положение), Rotation (вращение) и Scale (масштаб) (Рис. 27).


Рис 27. Ключи анимации положения, вращения и масштабирования

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

После этого вы увидите, что на временной полосе появился ключ в 0-м кадре. Он выделен красным (Рис. 28).


Рис 28. Поставлен ключ в нулевом кадре

Значок ключа может состоять из трёх цветов: красного, зелёного и синего. Если в этом ключе изменён только параметр Position, то цвет ключа - красный, если Rotation – зеленый, Scale – синий. Если все 3 параметра изменены, то значок ключа будет, как светофор, трёхцветным.

Увидеть параметры поставленного ключа можно двумя способами:
1) Во вкладке Motion под кнопками Position, Rotation, Scale (активная кнопка показывает, какого именно параметра отображены свойства). Так как в данном ключе мы активизировали только Position, он-то нас и интересует (Рис. 29).


Рис 29. Свойства ключа по параметру Position

Сначала необходимо выбрать ось в разделе Position XYZ ParametersПо умолчанию активна ось Х, но так как мы меняли положение объекта по высоте, значит нужно включить ось Z (как и показано на рисунке). Затем смотрим параметры ключа в разделе Key InfoTime – текущий кадр, Value – значение по выбранной оси. В нашем случае мы видим, что в нулевом кадре (Time = 0) объект находится на высоте 60 по оси Z (активна ось Z, Value = 60).

2) Можно во временной полосе щелкнуть правой кнопкой мыши на ключе и получить выпадающее меню, в котором нужно выбрать <имя объекта>: Z Position. Не забывайте, что все эти операции проделываются над выделенным объектом (иначе программе не понятно, ключи какого именно объекта сцены вы хотите настроить). 

Теперь нам необходимо еще 2 ключа: нижнее положение и снова верхнее. Соответственно кадры 25-й и 50-й. Итак: в 0-м кадре уже имеются значения положения шарика: X =0, Y =0, Z =60. В 25-м кадре снова во вкладке Motion нажимаем Create Key -> Position и устанавливаем значение Value по оси Z в параметрах ключа: Value =20. В 50 –м кадре: ось Z, Value=60.

Если мы теперь проиграем анимацию, мячик будет летать туда и обратно. Если присмотреться к анимации, то видно, что он летает нереалистично. Нет эффекта удара о плоскость, подлетая к плоскости, шарик замедляет свое движение. Из этого следует, что помимо ключей анимации существует еще что-то, что позволяет ускорять, замедлять или делать равномерным изменение параметра (в данном случае значение перемещения по оси Z) от одного ключа к другому.

Графики анимации

Вы обратили внимание, что помимо параметров значений ключа во вкладке Motion (при выбранной оси и активной кнопке Position) присутствуют большие кнопки с графиками (Рис. 30).


Рис 30. Графики анимации

Это типовые виды графиков для настройки характера изменения параметра: до значения в ключевом кадре - Inи после этого значения - Out.
Теперь попробуем представить себе, что такое график анимации (Рис. 31).

Рис 31. Интенсивность движения объекта от ключа к ключу

1) Черный график – то, что мы имеем сейчас. Плавное изменение движения от ключа к ключу. 
2) Синий – то, что нужно получить. Ускорение мяча по мере приближения к плоскости, и замедление по мере удаления. 
3) Зеленый – то, что может получиться (неправильное движение).
Что бы привести наш график к нужному виду необходимо графики In и Out в 25 – м кадре сделать следующими (Рис. 32).


Рис 32. Изменённые графики In и Out в 25-ом кадре

Теперь наш мяч правильно отталкивается от поверхности, ускоряясь при подлете и после удара о поверхность, и замедляясь в верхнем положении.

Окно редактора графиков и ключей

Для того чтобы редактировать графики изменения параметров в процессе анимации, в 3D Studio Max существует окно редактора графиков Graph Editor -> Track View – Curve Editor (Рис. 33).


Рис 33. Окно Track View - Curve Editor

В нашем случае мы сразу увидим график изменения параметра Z . Этого может и не случиться, если анимаций много. Можно отфильтровать графики, нажав на кнопку Filters (Рис. 34), и вызвав тем самым одноимённое окно (Рис. 35).


Рис 34. Кнопка Filters окна Track View - Curve Editor


Рис 35. Окно Filters

Там в свитке Show Onlвыбрать Animated Track (Рис. 36).


Рис 36. Свиток Show Only

Теперь будут отображаться только параметры анимированных объектов.
Но вернёмся к графику анимации. На нем мы видим маленькие «квадратики» - это ключи анимации. Их можно добавлять самостоятельно, используя инструмент Add Keys; также можно выбирать стандартные типы графиков (Рис. 37).


Рис 37. Кнопка Add Keys

Можно получить параметры ключа, если щелкнуть на нем правой кнопкой мыши.
Существует также окно редактирования только ключей анимации. Оно располагается в меню Graph Editor a Track View Drop Sheet.

Задание

Создать помимо удара объекта о плоскость еще и его искажение (Сплющивание).

Рекомендации

Необходимо помнить, что анимация происходит только от ключа до ключа, и нам не будет достаточно поставить тип ключа Scale в кадре 25, сделав параметр равным, например, 60%. В этом случае объект будет постепенно сплющиваться от 0-го до 25-го кадра. Нам нужно еще как минимум 2 ключа типа Scale вокруг 25-го кадра. Используйте 23-й и 28-й кадры, для того, чтобы мячик сплющивался между 23 и 25 кадром, и расплющивался между 25 и 28.

Также нужно, чтобы сплющивание происходило не относительно центра сферы (Рис. 38):


Рис 38. Мячик сплющивается равномерно относительно центра

А относительно нижней части сферы (которая касается поверхности) (Рис. 39):

Рис 39. Мячик сплющивается относительно зоны соприкосновения с плоскостью

Необходимо сместить локальную систему координат (в любом кадре) вниз по Z на 20 единиц. Все последующие координаты в других ключах будут автоматически изменены. Редактирование локальной системы координат производится во вкладке Hierarchy -> Pivot -> Affect Pivot Only. Не забудьте выйти из режима Affect Pivot Only после перемещения локальной системы координат!