Использование выражений для анимации

Parenting в After Effects 5.0 -- это превосходный способ для группирования объектов, или для того, чтобы заставить один анимированный объект следовать за другим. Выражения (Expressions) предлагают другой подход и в результате мы можем получить еще большую свободу управления над одним объектом, заставляя его делать то же, что и другой.


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

Выражение значения

До After Effects 5.0, если вы хотели что-то анимировать -- будь то положение слоя или параметр эффекта -- вам приходилось пользоваться ключевыми кадрами. Ключевой кадр устанавливал: "Вот это является значением такого параметра в этот момент времени".

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

Полезно сравнить Выражения с Parenting и Математикой Движения (Motion Math). Parenting накладывает трансформации, примененные к одному слою (Масштаб (Scale), Положение (Position), Вращение (Rotation)) к другому слою за один шаг. Однако же, Parenting не учитывает ни прозрачность (transparency), ни любой из эффектов. Motion Math это скрипт, который вы можете запустить в слое для автоматического вычисления ключевых кадров. Проблемой использования Motion Math (помимо его громоздкого интерфейса) является тот факт, что запустив скрипт, вы больше ничем не управляете: единственный законный способ "настройки" -- удалить все созданные им ключевые кадры и начать все с начала.

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

Вырази себя

Выражения легко создавать и применять. Во многих случаях, After Effects запишет Выражения автоматически; от вас только требуется указать на то, что вы хотите, чтобы он сделал. Скажем, вы захотели, чтобы один слой вращался так же как и другой слой. На первом шаге выставим параметры Rotation для обоих слоев в окне Time Layout. Затем выберем параметр Rotation для слоя, который будет ведомым ("будет выражен через..."), и выберем в меню пункт Animation>Add Expression или выполним Option-click на его анимационном секундомере (Alt-click для Windows). Знак равенства ("=") появится между словом "вращение" ("rotation") и секундомером нормальной анимации, а значение вращения станет красным. Появится новая строка внизу, говорящая "Expression: Rotation," и следом за ней на timeline появится слово "rotation" (см. рисунок снизу). Это самое примитивное (и, возможно, самое наименее полезное) Выражение: "Моё вращение равно моему вращению."

Для того, чтобы изменить это Выражение на значение "Мое rotation равно rotation другого слоя," щелкните на инструменте pick whip, который появится в строке Выражения -- он выглядит как маленькая спираль. Протяните его к значению rotation главного слоя (см. картинку ниже).

Давайте пойдем дальше и запишем новый скрипт для Выражения: this_comp.layer("master").rotation

Нажмите Enter, чтобы приказать After Effects принять новое Выражение. Если вы сейчас хотите редактировать вращение главного слоя или задать ключевые кадры для него, то новопривязанный слой будет послушно следовать всем изменениям.

Даже непрограммисту доступно чтение Выражения -- просто взгляните на точки для того чтобы помочь себе разбить его на понятные куски. Иногда весьма полезно читать его в обратном порядке. Приведенный в примере скрипт говорит: "я равен параметру "rotation", слоя по имени 'master' (главного слоя), который располагается в композиции "this_comp".

Изменять Выражение почти также легко, как заставить After Effects записать его для вас -- все, что требуется -- это элементарная математика. Предположим, вы хотите вращать ведомый слой в два раза быстрее главного слоя. Все, что вам нужно сделать -- это выбрать Выражение, переместить курсор в конец, набрать " * 2", и нажать Enter. Если вы хотите вращать его в полтора раза быстрее, но в противоположном направлении, наберите " * -1.5".

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

Немного усовершенствуемся

Вы можете применять Выражения для поддержки анимации координат. Однако, они также весьма полезны для координации эффектов или создания других типов отношений главный-ведомый.

Нам нравится пользоваться Выражениями для установления главных цветов при разработке. Трюк состоит в определении цвета слоя с использованием эффекта, имеющего образец цвета, который мы можем анимировать, например Fill, Path Text, Stroke, или Tint. Затем вы можете создать Выражения для связки одного образца цвета с другим, пользуясь в точности той же методикой, что и в предыдущем примере с вращением.

Главным параметром для Выражения может быть слой, который появляется в окончательной прорисовке, или пустой слой, например Null Object или Solid. Выражения даже могут преодолевать границы композиций. Например, вы можете создать одну композицию с "главным цветом" и связать слои во всех ваших рабочих сценах с ней.

Помните, что Выражения могут быть связаны между разнородными параметрами. Например, популярный текстовый трюк состоит в том, чтобы анимировать трекинг (tracking) строки символов для подгонки того, насколько далеко расположены символы друг от друга и сделать их более размытыми (blur) одновременно с увеличением межсимвольного пространства. Обычно это требует координации двух наборов ключевых кадров -- один для трекинга и другой для размытия. Однако же, Вы можете теперь связать Выражением количественный показатель размытия с показателем трекинга. Если вы хотите, чтобы значение показателя трекинга 10 соответствовало показателю размытия 1, просто присоедините "/10" в конце скрипта для деления на 10.

Если вы хотите погрузиться глубже в Выражения, читайте руководство, где великолепно это объясняется или возьмите книгу по JavaScript, например: автор David Flanagan, название: JavaScript Pocket Reference (O'Reilly & Associates, 1998). У After Effects также есть несколько инструментов для облегчения жизни, например всплывающие меню (расположены справа от pick whip), где уже разобраны наиболее часто применяющиеся компоненты Выражений.

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

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


Trish и Chris Meyer руководят компанией CyberMotion (http://www.cybmotion.com/), художественной студией анимированной графики в Los Angeles. Они являются авторами книги "Creating Motion Graphics" (CMP Books, 2000) и выходящей "After Effects in Production" (CMP Books).

352 0 850 2
2
2008-12-24
хоть рейт у меня и мал, но все равно не могу не поблагодарить за актуальность 5 и качество 5 данного поста. СПСБО
2020-11-19
"текстовый процессор" - ух, мануал прямиком из 80-х XD
RENDER.RU