Выражения (Expression)

Выражение — это небольшой фрагмент кода jаvascript. Его можно подключить
к анимированным свойствам в проектах After Effects

» »

Выражение loopIn и loopOut

54 445

Начнём с того, что рассмотрим, как добавить выражение к параметру. На панели слоёв нужно открыть параметр к которому вы хотите добавить выражение.
С зажатой клавишей Alt кликнуть на иконку таймера слева от параметра, откроется текстовое поле, в которое и вставляем выражение. Если в выражении есть ошибки, программа выведет информационный блок и сообщит вам об этом.
Выражение loopIn и loopOut
В переводе слово Loop переводится как петля. То есть, если задать какую-то анимацию, поставить несколько ключевых кадров, и добавить к параметру выражение из серии "Loop", то цикл начнёт повторяться до самого конца слоя.

В чём разница между loopOut и loopIn?

Выражение loopOut() начинает работать от последнего keyframe (ключевого кадра) и заканчивает на конце слоя.

Выражение loopIn() начинает работать от начала слоя и заканчивает с последним keyframe (ключевым кадром)
Рассмотрим пример ниже. У шара задано небольшое перемещение, слева на право, при помощи анимирования параметра Position. Задано два ключевых кадра и добавлено выражение loopOut()
Выражение loopIn и loopOut
В скобках могут содержаться аргументы.

loopIn(type="cycle", numKeyframes=0)

1-ый аргумент – тип цикла.

2-ой аргумент – количество кадров которое будет использоваться для зацикленной анимации.

Типы

Cycles – loop по умолчанию. После последнего ключевого кадра, анимация начинается заново от первого ключевого кадра до последнего, и так до конца слоя.

Pingpong – loop, в котором анимация идет от первого ключа до последнего, затем обратно от последнего до первого, а потом снова от первого до последнего.

Offset – Cоздаются циклы и каждый последующий цикл смещается на разницу значения свойства между вторым и первым ключевыми кадрами.

Continue – Данный аргумент не создает новых циклов. Он вычисляет с какой скоростью и в каком направлении слой подходит ко второму ключевому кадру, а затем с той же скоростью и в том же направлении продолжает двигаться.
Выражение loopIn и loopOut

loop не сработает если вы захотите применить его к параметру Path. Для Path можно использовать вот такое выражение:
valueAtTime(time%key(numKeys).time)