Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ponimayka1

.pdf
Скачиваний:
131
Добавлен:
07.06.2015
Размер:
37.11 Mб
Скачать

Просмотр анимации и настройки проигрывания

Я не стану описывать кнопочки запуска и остановки анимации, их назначение интуитивно понятно. Даже те, у кого никогда не было плеера или видеомагнитофона, могут выяснить их функциональность методом тыка. Кнопки с вертикальными красными полосками позволяют перейти в следующий/предыдущий ключевой кадр для выбранного (или выбранных) объектов, поэтому работают они, только когда вы выбрали какой-нибудь объект.

Временная линейка состоит как бы из двух частей

это сама линейка (Time Line) и диапазон

анимации, позволяющий задавать границы анимации:

глобальные и локальные. Локальный

диапазон

определяет отрезок времени для проигрывания анимации, глобальный определяет

границы,

в которых может находиться локальный диапазон. Иначе говоря, локальный диапазон

- это временное окно, которое «ездит» в границах глобального.

Если щелкнуть правой кнопкой мыши прямо на временной линейке, появится полезное меню, предназначенное в основном для работы с ключами.

Для настроек временной шкалы и параметров проигрывания есть специальная кнопочка с непонятным изображением в правом нижнем углу. Она ведет с общее окно настроек MAYA Prefer­ ences (Windows=>Settings/Preferences=>Preferences) в категорию Timeline.

551

В этом окне вы можете задать высоту временной линейки, варианты отображения на ней ключевых кадров и другие полезные параметры. Но самым важным в этом окне является параметр Playback Speed. Важно знать, в каких случаях требуется конкретное значение этого параметра.

По умолчанию он установлен как Play Every Frame. То есть MAYA честно будет проигрывать каждый кадр анимации. Чем «тяжелее» сцена, тем медленнее будет проигрывание. Такой режим абсолютно необходим для работы с динамикой, иначе результаты расчета траекторий частиц или твердых тел будут просто неверны.

Все остальные режимы задают проигрывание анимации с какой-то фиксированной скоростью, например Playback Speed = Real-time(25 fps). В этом случае MAYA будет проигрывать анимацию опираясь как бы не на кадры, а на секунды. Для «тяжелой» сцены будет проигрываться каждый десятый или двадцатый кадр, но заданный темп будет выдерживаться. Вы будете видеть реальную скорость изменения вашей сцены, хотя возможно с ощутимыми рывками. Такой режим абсолютно необходим в том случае, если вы хотите слышать звук, импортированный в сцену. В режиме Play Every Frame звук не будет слышен.

Скорость воспроизведения анимации

В окне глобальных настроек MAYA есть категория Settings, где, наряду с выбором различных единиц измерения, есть один очень важный параметр.

Он не очень удачно называется Time и определяет скорость анимации, или говоря технически, частоту смены кадров (fps - frame per second). He всегда понятно, как это влияет на производимую анимацию: вроде как задаем движение, отсчитываем нужное количество кадров, собираем результат в «кино» типа avi или quicktime и с гордостью смотрим. На первый взгляд, получается, что «скорость» анимации задается уже после рендеринга. Однако это не так. Дело в том, что MAYA работает со временем в секундах, а не в кадрах. В каждой сцене есть служебный объект time1, отсчитывающий время, и время это измеряется, грубо говоря, в секундах. Если у вас в сцене есть какие-нибудь атрибуты объектов, зависящие от времени, например, напор источника частиц (rate) или начальная скорость твердого тела, то все они измеряются относительно секунд, а не кадров. Если вы задали, например emitter1.rate=100, то есть испускание ста частиц в секунду,

552

то при определении параметра Time как PAL(25 fps), в каждом кадре будет появляться четыре новых частицы. А если вы измените скорость анимации на Time=PAL Field(50 fps), то в каждом кадре будут появляться только две частицы, так как в одной секунде будет 50 кадров.

С самого начала установите параметр Time в то значение, которое отвечает вашим задачам. Если это реклама для телевидения в Европе или Азии, то это, как правило, PAL(25 fps). Если работа с киноматериалами, то Film(24fps) и т.д.

Будьте внимательны: если вы уже имеете сцену с анимацией, то при попытке сменить настройки скорости анимации, ключевые кадры «съедут» со своих «покадровых» значений, притом таким образом, чтобы оставаться на прежних местах относительно времени в секундах.

Если вы хотите следовать примерам из книги, установите скорость анимации как Time=PAL(25 fps). Будьте внимательны: если предыдущее значение этого параметра было равно Film(24 fps), и диапазон анимации начинался с первого (а не с нулевого) кадра, то то при изменении скорости анимации крайние кадры диапазона примут «некруглые» значения типа 1.04. Не забудьте исправить их на «круглые» числа, чтобы избежать проблем, особенно с динамикой.

Помните: несмотря на то, что мы говорим «ключевые кадры», их значения хранятся в сцене как «ключевые доли секунды».

Ну и, конечно, параметр Time определяет, с какой скоростью будет проигрываться анимация в режимах, отличных от Play Every Frame.

Анимация по ключам

«Ключ» - сокращение от «ключевого значения». Основная идея ключевой анимации в MAYA заключается в следующем. Вы берете атрибут (или атрибуты) объекта и ставите на него ключ в данный момент времени, то есть фиксируете значение этого атрибута для этого момента времени, затем идете в следующий нужный кадр (называемый ключевым кадром), изменяете значение атрибута и снова ставите ключ. В промежутке между двумя ключевыми кадрами MAYA интерполирует величину атрибута, то есть плавно меняет его от одного ключевого значения до другого. Так как атрибуты в MAYA определяют свойства объектов, такой подход позволяет анимировать что угодно: перемещение, вращение, цвет, видимость и прочие всевозможные свойства.

Если вы начинаете делать «свою первую анимацию в MAYA», то с большой долей вероятности это будет анимация движения какого-нибудь объекта, например скачущего мяча. Хотя вы можете думать, что создаете ключевые кадры для положения объекта, помните, что при этом вы ставите ключи на атрибуты translate, которые определяют положение объекта.

Итак, ключи в MAYA ставятся только на атрибуты!

553

Способы создания ключей

Самый формальный и аккуратный способ создания ключа для нужного атрибута (или атрибутов) заключается в том, что его нужно выделить в Channel Box, нажать правую кнопку мыши и выполнить операцию Set Key в появившемся меню. В этом случае вы точно знаете, что происходит.

Второй способ заключается в нажатии правой кнопки над именем атрибута в Attribute Edi­ tor. Правда, в этом случае вы сможете ставить ключ только на один атрибут единовременно (или на три атрибута, если это «тройной» атрибут типа scale).

Остальные способы призваны ускорить или автоматизировать процесс постановки ключей.

Горячая клавиша "s" соответствует операции Animate=>Set Key и по умолчанию ставит ключи на все видимые (кроме серых) атрибуты в Channel Box для выбранного объекта (или объектов). Совершенно очевидно, что в этом случае могут возникать лишние ключи, для тех атрибутов, значение которых не изменяется со временем, но которые присутствуют в Channel Box.

Следует помнить, что у операции Set Key имеется собственный Option Box, в котором вы можете настроить массу полезных параметров, влияющих на то, каким образом ставится ключ, при нажатии кнопки "s".

При создании «поточной» анимации обычно объект или персонаж ставят в определенную позу, нажимают кнопку «s», далее время сдвигается в нужный кадр, снова новая поза, кнопка «s» и т.д. Если в ходе такой постановки ключей возникают атрибуты с «вырожденной» анимацией, то есть значение их не меняется, но ключи, тем не менее, стоят в большом количестве, то удалить такую анимацию можно, выбрав объект и выполнив Edit=>Delete by Type=>Static Channels (удалить статическую анимацию).

Совет. Пользователи, корпящие над своей первой анимацией в MAYA, часто сталкиваются со следующей проблемой: персонаж стоит в нужной позе, ставится ключ на нужные атрибуты, затем персонаж кропотливо передвигается в новую позу и тут обнаруживается, что кадр остался прежним, то есть пользователь забыл сдвинуться вперед по временной линейке. При переходе в следующий кадр персонаж моментально возвращается к предыдущей позе, так как для нее были поставлены ключи, и новая, заботливо выстроенная поза, безвозвратно теряется. Первый совет заключается в тренировке внимания. Если же это невозможно по каким-то причинам, то вы всегда можете перейти в нужный кадр, не проигрывая анимацию, щелкнув в нужном месте временной линейки средней кнопкой мыши. При этом столь усердно настроенная вами поза персонажа не вернется в предыдущее ключевое состояние и вы сможете быстро поставить ключ в новом кадре, зафиксировав очередную ключевую позу.

При нажатии кнопки «s» (то есть выполнении операции Set Key) ключи ставятся на все видимые в Channel Box атрибуты, причем не только для самого выбранного объекта, но и для

554

всех связанных с ним объектов, чьи атрибуты отображаются в разделах INPUT и OUTPUT. Если эти разделы «закрыты», то ключи для принадлежащих им атрибутов не ставятся.

Режим Auto Key

Еще одним способом ускорения и автоматизации является режим Auto Key. Он включается с помощью маленькой кнопки с изображение ключа в правой части временной линейки. Суть работы этого режима следующая.

Если вы изменяете вручную значения некоторых атрибутов в текущем кадре, для них немедленно и автоматически создаются ключи в этом кадре. Но! Это справедливо, только для атрибутов, уже имеющих анимацию, то есть ключи. Таким образом, перед использованием режима Auto Key, вы должны вручную поставить хотя бы один ключ на нужные атрибуты, для того чтобы на них потом возникали автоматические ключи. Можно сказать, что этот режим избавляет вас от необходимости нажимать кнопку «s» в очередном ключевом кадре.

Будьте внимательны и не забывайте выключать режим Auto Key, чтобы не вычищать потом невесть откуда взявшуюся анимацию. Используйте этот режим, только в том случае, если он вам действительно необходим. К нему надо привыкнуть, и тогда он будет приносить больше пользы, чем беспорядка.

Качение куба. Комментарии

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

Создайте в новой сцене полигональный куб.

Нажмите кнопку «f», чтобы наехать на него камерой. Мы собираемся катить куб по горизонтальной плоскости вдоль оси X, разверните немного камеру, чтобы видеть движение слева направо.

Выберите куб, нажмите кнопку Insert и сдвиньте пивот куба в правый нижний ближний к вам угол.

За вращение вокруг правого нижнего ребра отвечает атрибут rotateZ.

Выделите его в Channel Box и поставьте на него ключ в первом кадре, пользуясь правой кнопкой мыши.

555

Перейдите в двадцатый кадр, задайте rotateZ=-90 и снова поставьте ключ на этот атрибут.

Комментарий. Дальше куб должен вращаться вокруг новой точки, то есть

положение пивота внутри куба также должно быть проанимировано.

Причем, если

в текущем,

двадцатом кадре пивот должен оставаться на старом

месте,

чтобы

куб успешно

завершил первый поворот, то уже в следующем, двадцать

первом,

пивот должен находиться в новом месте - правом нижнем углу куба,

относительно

текущего

положения.

 

 

Попробуйте проанимировать положение пивота из Attribute Editor. Перейдите в первую закладку pCube1 и откройте раздел Pivots. Попробуйте поставить ключ на Local Rotate Pivot или World Rotate Pivot, неистово нажимая правую кнопку мыши над этими атрибутами. Не тут-то было!

Примечание. Оказывается не на все атрибуты в Attribute Editor можно ставить ключи, более того не все числовые поля в Attribute Editor представляют собой атрибуты.

Чтобы добраться до истинных атрибутов, определяющих положение пивота придется открыть окно Channel Control и «вытащить» их в Channel Box.

Выполните Windows=>General Editor=>Channel Control.

Разыщите в средней колонке атрибуты rotatePivotTranslateX, rotatePivotTranslateY, rotatePivotTranslateZ, rotatePivotX, rotatePivotY, rotatePivotZ и нажмите кнопку <<Move, чтобы перенести их в список анимируемых атрибутов.

556

Комментарий. Как

вы,

наверное,

знаете, у любого объекта существует два

пивота: один для вращений (rotate

pivot),

другой

для масштабирований (scale piv­

ot). По непонятной

мне

причине при

нажатии кнопки Insert манипулятор управления

пивотом рисуется в месте нахождения scale pivot.

Когда

мы начнем анимировать

положение центра вращения, эти пивоты

«разъедутся» на

экране, и редактировать

«вращательный» пивот с

помощью

манипулятора

будет

неудобно.

Поэтому выделите в средней колонке также атрибуты scalePivotTranslateX, scalePivotTranslateY, scalePivotTranslateZ, scalePivotX, scalePivotY, scalePivotZ и тоже перенесите их в левую колонку, нажав кнопку <<Move.

Теперь выберите в Channel Box все атрибуты со словом pivot и поставьте на них ключ. (Вы должны по-прежнему находиться в двадцатом кадре).

Перейдите в следующий, двадцать первый кадр.

Если надо, войдите в режим редактирования пивота (Insert) и передвиньте пивот в правый нижний угол. На помощь может прийти привязка к кривым в виде нажатой клавиши «с». Комментарий. Когда вы используетеманипулятор, тосмещаютсясразуоба пивота, и «вращательный»

и«шкалирующий».

Опять поставьте ключ на все атрибуты со словом pivot.

557

Комментарий. Можете открыть Attribute Editor и убедиться,

что в

первой

закладке в разделе Pivots, цвет всех числовых полей остался белым.

То есть

ключи,

поставленные в Channel Box не затрагивают напрямую поля Local Rotate Pivot или World Rotate Pivot. Из этого следует, что именно эти поля в Attribute Editor не являются атрибутами объекта, а представляют собой вычисляемые значения.

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

Перейдите в сороковой кадр и поверните куб вокруг нового пивота: rotateZ=-180.

Тут же поставьте ключ на атрибут rotateZ.

Если вы собираетесь делать анимацию дальше, вам, очевидно, следует поставить ключ на все атрибуты со словом pivot в сороковом кадре, затем перейти в сорок первый, сдвинуть пивот в новое место, поставить ключ, перейти в шестидесятый кадр, повернуть куб, поставить ключ на вращение и т.д.

Мы ограничимся уже готовой анимацией, чтобы еще немного проанализировать получившуюся сцену и ответить на наверняка возникшие вопросы.

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

Проведите небольшой эксперимент. Перейдите в кадр с номером «двадцать с половиной». Это можно сделать вписав значение 20.5 в поле, отображающее текущий кадр. И включите режим редактирования пивота.

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

558

Комментарий. «Ну и что!» воскликнут легкомысленные умы. Ведь такая картинка не попадет в финальный рендеринг, который просчитает только «целые» кадры. Да, это так. Но все же следует постоянно представлять себе, что происходит между кадрами, и помнить, что MAYA работает со временем в секундах (точнее в долях секунд), а не в кадрах.

Например, если вы вдруг решите отрендерить сцену с полями и смените скорость анимации на PAL Field (50 fps), то кадр с номером «двадцать с половиной» тут же превратится в сорок первый кадр, который будет явным образом просчитан.

При просчете motion blur также могут использоваться межкадровые вычисления, не говоря уже о динамике.

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

Чтобы контролировать, что происходит как между ключевыми кадрами, так и между соседними, очевидно надо иметь возможность работать с анимационными кривыми и редактировать полученную анимацию. Об этом и пойдет речь далее.

Примечание. Забегая вперед, скажу, что в данном случае, проблема межкадрового поведения положения пивота решается с помощью ключей типа Stepped.

Сохраните полученную сцену (rollingCube.ma), она пригодится для дальнейших экспериментов.

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

После того, как вы расставили ключи для нужных атрибутов, у вас, возможно, возникнет странное желание их отредактировать, то есть немного изменить полученную анимацию. Как обычно в MAYA, это можно сделать как минимум десятью способами. Перечислю лишь несколько самых популярных из них.

Редактирование анимации в Graph Editor

Послесоздания ключей для нужных атрибутов в сцене, очевидно, появляются анимационные кривые. Эти кривые определяют, как объект должен двигаться между ключевыми кадрами. Самым мощным средством редактирования анимационных кривых является Graph Editor. Он позволяет делать с ключевой анимацией абсолютно все. Так как он заслуживает отдельного разговора, я

559

вернусь к нему позже, на примере конкретной анимации.

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

Те, кого пугает или раздражает безумная функциональность Graph Editor, могут сэкономить некоторое количество времени и нервов, редактируя ключи прямо на временной линейке. Этот способ позволяет быстро перемещать и масштабировать ключи по времени, удалять или копировать анимацию, изменять тип ключей и делать еще массу полезных действий, не открывая Graph Edi­ tor.

Отройте сцену с катающимся кубиком (rollingCube.ma). Выберите куб и посмотрите на временную линейку, где отображаются ключи для анимированных атрибутов.

Совет. Вы можете показывать на временной линейке ключи не для всех анимированных атрибутов объекта, а только для выбранных в Channel Box. Для этого надо открыть настройки анимации и установить опцию Key Ticks=Channel Box.

Нажмите Shift и выделите мышью на временной линейке диапазон с десятого по тридцатый кадр.

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

Проиграйте анимацию. Теперь куб будет делать первый поворот гораздо быстрее.

560

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]