Выражения After Effects. Параметр startTime
В After Effects выражение startTime используется в выражениях слоя для получения времени, когда слой начинается на временной шкале композиции. Это очень удобно для создания анимации, зависящих от времени появления слоя.
Список эффектов и не только After Effects
Выражения After Effects список
startTime — это время начала слоя где он впервые появляется на таймлайне
5
time — startTime;
Возвращает количество секунд, прошедших с начала появления слоя. Это можно использовать, чтобы анимировать свойства слоя от его момента появления.
Math.round(time — startTime) * 45;
var t = time — (thisComp.layer(1).startTime + 2); //Для Исходного текста задержка 2 секунды
T = Math.max(t, 0);
value + T * 45;
——————————
Позиция
2
var t = time — thisLayer.startTime;
[value[0], value[1] + t * 50] // двигается вниз со скоростью 50 пикс/сек
startPos = [640, 1000]; // начальная позиция (внизу экрана)
endPos = [640, 360]; // финальная позиция (центр экрана)
duration = 4;
t = time — startTime;
ease(t, 0, duration, startPos, endPos);
—————-
2
Масштаб
var t = time — thisLayer.startTime;
[value[0] + t * 10, value[1] + t * 10] // плавное увеличение масштаба
—————
2
Прозрачность (Opacity)
var t = time — thisLayer.startTime;
Math.min(100, t * 50) // за 2 секунды станет полностью видимым
—————-
2
Поворот (Rotation)
var t = time — thisLayer.startTime;
t * 30 // вращение со скоростью 30° в секунду
———————
7
Math.round(time — startTime); //Возвращает количество секунд, прошедших с начала появления слоя. Для свойство Исходный текст Текстового слоя
//Выражение для положения того же Текстового слоя
freq = 2;
amp = 50;
t = time — startTime;
x = transform.position[0];
y = transform.position[1] + Math.sin(t * freq * Math.PI * 2) * amp;
[x, y];
———————————-
————————————
11
Слой с текстом показывает, сколько секунд прошло с появления другого слоя
(в текстовом слое):
otherStart = thisComp.layer(«Собака»).startTime;
Math.floor(time — otherStart) + » секунд прошло»
8
Синхронная анимация с другим слоем
Допустим, у тебя есть слой «Текст», и ты хочешь, чтобы текущий слой начал двигаться через 2 секунды после появления слоя Текст
time — thisLayer.startTime; //Для свойства Исходный текст слоя Текст
var t = time — (thisComp.layer(1).startTime + 2);// Для положения слоя Собака
T = Math.max(t, 0); // защита от отрицательного времени
[value[0] + T * 50, value[1]] // движение вправо после задержки
var t = time — (thisComp.layer(«<пустой текстовый слой>»).startTime + 2); //Выражение работать не будет
[value[0] + t * 50, value[1]] // движение вправо после задержки
———————-
9
Math.round(time — startTime); //Для пустого текстового слоя
Относительное смещение анимации Анимация запускается только если другой слой появился
//Вариант 1
triggerTime = thisComp.layer(«<пустой текстовый слой>»).startTime;
t = time — triggerTime;
Math.min(100, Math.max(0, t * 100)); // плавная прозрачность
//Вариант 2
triggerTime = thisComp.layer(«<пустой текстовый слой>»).startTime;
t = time — triggerTime;
linear(t, 0, 4, 0, 100); // плавная прозрачность
//Вариант 3
triggerTime = thisComp.layer(«<пустой текстовый слой>»).startTime;
t = time — triggerTime;
linear(t, 2, 6, 0, 100); // плавная прозрачность с задержкой в 2 секунды
————————
10
Управление с помощью Null-объекта
Допустим, у тебя есть Null-объект с именем «Пусто 1», и ты хочешь, чтобы твой слой начинал вращаться через секунду после его старта:
var t = time — thisComp.layer(«Пусто 1»).startTime — 1;
T = Math.max(t, 0);
T * 45 // вращение 45°/сек после задержки
———————————
12
Эффекты
Math.round(time — startTime); //Для свойства Исходный текст Пустого текстового слоя
//Выражение для свойства Поворот эффекта Базовый 3D
t = time — (thisComp.layer(«<пустой текстовый слой>»).startTime);// Для положения слоя Собака
T = Math.max(t, 0); // защита от отрицательного времени
effect(«Базовый 3D»)(1) + T * 45;
Вариант 2
//Выражение для свойства Поворот эффекта Базовый 3D
t = time — (thisComp.layer(1).startTime);// Для положения слоя Собака
T = Math.max(t, 0); // защита от отрицательного времени
effect(«Базовый 3D»)(1) + T * 45;