Выражения After Effects. Методы effect(name) или effect(index)

 

 

В Adobe After Effects функции effect(name) и effect(index) используются в выражениях (expressions) для обращения к эффектам, применённым к слою. Они позволяют управлять параметрами эффектов динамически через код.

Список эффектов и не только After Effects
Выражения After Effects список

effect(name) Обращается к эффекту по его имени, как оно отображается в панели эффектов.
effect(index) Позволяет обратиться к эффекту по его порядковому номеру (индексу) в списке применённых эффектов. Индексация начинается с 1

effect(name) — удобнее, если вы знаете название эффекта (особенно если эффектов много).

effect(index) — полезно, когда нужно обратиться к эффекту по позиции (например, первый, второй и т. д.), но если порядок изменится, выражение может сломаться.

Предположим, у вас есть слой с эффектом «Базовый 3D». Вы хотите связать параметр Поворот с положением другого слоя.

//Выражение для свойства Позиция слоя
x = thisLayer.transform.position[0] + thisComp.layer(«Композиция 2.avi»).effect(«Базовый 3D»)(1) * 3;
y = transform.position[1];

[x, y];

 

x = thisLayer.transform.position[0] + thisComp.layer(«Собака»).effect(«Базовый 3D»)(1) * 3;
y = transform.position[1];

[x, y];

 

effect(«Базовый 3D»)(1)

 

(effect(«Базовый 3D»)(1) + 1) * time * 30;// Выражение для анимации параметра Поворот эффекта Базовый 3D

—————-

Допустим, у вас есть эффект «Размытие по Гауссу» (Gaussian Blur), и вы хотите управлять прозрачностью слоя (Opacity) в зависимости от значения размытия:

// Если размытие больше 50, прозрачность 50%, иначе 100%
if (effect(«Размытие по Гауссу»)(1) > 50) {
50; // opacity = 50%
} else {
100; // opacity = 100%
}

time * 30; // Выражение для параметра Размытость эффекта Размытие по Гауссу

// Если размытие больше 50, прозрачность 50%, иначе 100%
if (thisComp.layer(«Слой-фигура 1»).effect(«Размытие по Гауссу»)(1) > 50) {
50; // opacity = 50%
} else {
100; // opacity = 100%
}