Выражения 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;