Перейти на новую версию сайта https://iuraf.ru

Adobe After Effects. Урок 26

Использование выражений в Adobe After Effects.
Анимация с помощью выражений.

Внимание! Для полноценного программирования в Adobe After Effects необходимо знание языка программирования JavaScript,
  • скачать учебник JavaScript.pdf,

  • и знание Атрибутов и методов Adobe After Effects
  • скачать учебник Атрибуты и методы Adobe After Effects.pdf



  • 1. Анимация вращения и изменения масштаба с помощью выражений.

    • Создадим новый проект Adobe After Effects 1280*720 30 сек.
    • Создадим текстовый слой с буквой «А» размером 500 px.


    1.1 Заставим букву вращаться с Ключевых кадров.

    • На Timeline в текстовом слое раскроем свойство Rotation.
    • Курсор воспроизведения установим в t=0, параметр Rotation=0+0,0 и включим Ключевой кадр.
    • Курсор воспроизведения установим в t=10, параметр Rotation=1+0,0 (поворот на 360 градусов за 10 секунд) и включим Ключевой кадр.

    Просмотрим анимацию – буква должна повернуться за 10 секунд на 360 градусов по часовой стрелке.

    Вращаться буква будет вокруг Anchor Point=0.0, 0.0 якорной точки, установленной в левый нижний угол буквы по умолчанию. Перенесем, для удобства Anchor point в центр буквы 180.0, -160.0 и переместим букву в центр окна.

    Обратим внимание: время измеряется в секундах, обороты в градусах!



    1.2 Заставим букву вращаться с помощью метода Time.

    Очистим Ключевые кадры параметре и сбросим его Rotation=(0+0,0)

    • На Timeline в текстовом слое раскроем свойство Rotation.
    • Нажимаем и держим клавишу alt и щелкаем по секундомеру слева от слова Rotation. Справа откроется поле ввода выражений. Можно того же достичь с помощью меню Animation/Remove Expression быстрые клавиши (alt+shift+=)
    • Справа в открывшемся поле ввода вводим выражение (метод) «time*36» без кавычек.

    Просмотрим анимацию – буква должна повернуться за 10 секунд на 360 градусов по часовой стрелке, также, как и с анимацией с помощью Ключевых кадров.

    В нашем выражении мы использовали глобальный метод Time у которого нет аргументов:

    time

    Тип возвращения: число.

    Представляет время композиции в секундах, в которых вычисляется выражение.

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

    Чтобы разобраться рассмотрим выражение time*36 в свойстве Rotation:
    • Метод time возвращает время в секундах.
    • Rotation (вращение) изменяется в градусах или радианах.
    • Соответственно за 1 секунду буква должна повернуться на 36 градусов, тогда за десять секунд буква повернется на 360 градусов. Обратите внимание – буква продолжит вращение до конца, а не остановится через 10 сек.

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

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




    2. Создание выражений с помощью Pick whip.

    • Создадим новый проект Adobe After Effects 1280*720 30 сек.
    • Создадим слой Solid 300*300 красного цвета.
    • Создадим слой Solid 300*300 синего цвета.
    • Перетащим квадраты так чтобы они оба отображались в окне.


    2.1 Создадим анимацию вращения синего квадрата (так же, как и в предыдущем пункте).

    • На Timeline в слое Blue Solid 1 раскроем свойство Rotation.
    • Нажимаем и держим клавишу alt и щелкаем по секундомеру слева от слова Rotation. Справа откроется поле ввода выражений.
    • вводим выражение (метод) «time*36» без кавычек.

    Просматриваем анимацию.



    2.2 Создадим анимацию вращения красного квадрата с помощью Pick whip.

    • На Timeline в слое Red Solid 1 раскроем свойство Rotation.
    • Нажимаем и держим клавишу alt и щелкаем по секундомеру слева от слова Rotation. Теперь рассмотрим появившуюся под свойством Rotation строку Expression Rotation здесь четыре кнопки:
      • Enable Expression - вкл/выкл выражение.
      • Show Post-Expression Graph – вкл/выкл графическое отображение выражения в режиме отображения Graph Editir.
      • Expression Pick whip – создание выражений связыванием свойств.
      • Expression Language Menu – показать список методов для создания выражений разбитых по разделам.
    • Мы воспользуемся кнопкой Pick whip. Нажимаем ее, держим и тянем на свойство Rotation на слое Blue Solid, отпускаем. В поле для выражений в свойстве Rotation слоя Red Solid Adobe After Effects создаст выражение:

    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".

    Далее мы остановимся на элементарных примерах составления выражений. Кроме этого наиболее популярные выражения можно скачать из интернета в готовом виде.




    3. Работа с переменными.



    3.1 Как использовать переменные.

    Давайте изменим выражение из предыдущего примера так (можнос копировать мое выражение и вставить в проект):

    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;

    Обратите внимание каждый отдельный метод должен закрываться «;»



    3.2 Работа с другими параметрами.

    Рассмотрим работу с параметром Scale (масштаб). Разница в количестве параметров у scale два аргумента. Масштаб можно изменять и по «X» и по «Y».

    Для синего квадрата введем зависимость масштаба от времени:

    temp = time*6;

    [temp, temp]

    Переменной temp присвоено значение time*6.

    Во второй строке [temp, temp] показывает, что обе координаты бут изменяться одинаково. Попробуйте

    [temp, temp*2]

    [temp*2, temp]



    3.3 Рассмотрим пример с параметром Opasity (прозрачность).

    Этот параметр завяжем на параметр Scale с помощью выражения с const=100:

    100-transform.scale[0]

    Разберемся:

    • 100 это константа – максимальное значение прозрачности.
    • transform.scale[0] - увеличивается от 0 до 100% прозрачность будет уменьшаться от 100 до 0

    Выражение можно временно выключить. Для этого нажмите на кнопку Enable Expression «=».




    Скачать проекты с примерами