Задачи на этот урок:
- Анимация вращения и изменения масштаба с помощью выражений;
- Создание выражений с помощью Pickwhip;
- Работа с переменными;
Просмотрим анимацию – буква должна повернуться за 10 секунд на 360 градусов по часовой стрелке.
Вращаться буква будет вокруг Anchor Point=0.0, 0.0 якорной точки, установленной в левый нижний угол буквы по умолчанию. Перенесем, для удобства Anchor point в центр буквы 180.0, -160.0 и переместим букву в центр окна.
Обратим внимание: время измеряется в секундах, обороты в градусах!
Очистим Ключевые кадры параметре и сбросим его Rotation=(0+0,0)
Просмотрим анимацию – буква должна повернуться за 10 секунд на 360 градусов по часовой стрелке, также, как и с анимацией с помощью Ключевых кадров.
В нашем выражении мы использовали глобальный метод Time у которого нет аргументов:
time
Тип возвращения: число.
Представляет время композиции в секундах, в которых вычисляется выражение.
Не пугайтесь слова метод, в математике мы изучали фунции метод это нечто аналогичное. У методов тоже могут быть аргументы и методы возвращают какое-то значение. Далее мы будем употреблять термины: объекты, атрибуты и методы.
Чтобы разобраться рассмотрим выражение time*36 в свойстве Rotation:Я специально так подробно рассматриваю этот тривиальный пример, чтобы Вам легче было разбираться дальше (особенно пользователям без знаний математики).
Это пример достаточно искусственный, возможно заставить вращаться букву проще с помощью Ключевых кадров.
Просматриваем анимацию.
thisComp.layer("Blue Solid 1").transform.rotation
Найдем эти методы в справочнике Атрибуты и методы Adobe After Effects.pdf
thisComp
Тип возвращения: композиция.
Представляет композицию, содержащую выражение.
layer(name)
Тип возвращения: слой, свет или камера.
Тип аргумента: name – это строка (в нашем случае "Blue Solid 1").
Извлекает слой по имени. Имена согласуются по имени слоя или имени источника при отсутствии имени слоя. При наличии повторяющихся имен After Effects использует первое (самое верхнее) имя на панели «Таймлайн».
rotation
Тип возвращения: свойство.
Возвращает значение поворота слоя в градусах. Для 3D-слоя выполняется возврат значения поворота по оси Z в градусах.
transform.rotation – указывает на отслеживание изменения свойства Rotation.
Для примера рассмотрим такое выражение:
comp("comp1").layer("layer1").transform.position
Это выражение указывает на отслеживание изменения свойства Position в слое "layer1” композиции "comp1".
Далее мы остановимся на элементарных примерах составления выражений. Кроме этого наиболее популярные выражения можно скачать из интернета в готовом виде.
Давайте изменим выражение из предыдущего примера так (можнос копировать мое выражение и вставить в проект):
tr=thisComp.layer("Blue Solid 1").transform.rotation;
k=tr*2;Введена переменная tr которой присвоено значение выражения thisComp.layer("Blue Solid 1").transform.rotation
Введена переменна k которой присвоено значение переменной tr*2
После этих манипуляций красный квадрат будет вращаться в 2 раза быстрее синего. Можно было и так:
thisComp.layer("Blue Solid 1").transform.rotation*2;
Обратите внимание каждый отдельный метод должен закрываться «;»
Рассмотрим работу с параметром Scale (масштаб). Разница в количестве параметров у scale два аргумента. Масштаб можно изменять и по «X» и по «Y».
Для синего квадрата введем зависимость масштаба от времени:
temp = time*6;
[temp, temp]
Переменной temp присвоено значение time*6.
Во второй строке [temp, temp] показывает, что обе координаты бут изменяться одинаково. Попробуйте
[temp, temp*2]
[temp*2, temp]
Этот параметр завяжем на параметр Scale с помощью выражения с const=100:
100-transform.scale[0]
Разберемся:
Выражение можно временно выключить. Для этого нажмите на кнопку Enable Expression «=».