Выражения. Свойства effect(name) или effect(index) в After Effects
В After Effects свойство effect(name) или effect(index) используется для доступа к параметрам эффектов, примененных к слою. Это может быть полезно, если вы хотите управлять параметрами эффектов с помощью выражений.
Список эффектов и не только After Effects
Выражения After Effects список
Предположим, у вас есть эффект «Быстрое размытие» и вы хотите управлять параметром «Размытие» с помощью выражения. Вы можете написать:
effect(«Быстрое размытие»)(1)
(effect(1)(1) + 1) * time * 20; // Это выражение вернет значение параметра «Размытие».
effect(«Быстрое размытие»)(1) + 1 * time * 20; // Или вот так
thisLayer.effect(«Быстрое размытие»)(«Размытость») + 1 * time * 20;
Вы можете связать параметры . Например, если у вас есть эффект «Яркость и контрастность» и вы хотите, чтобы параметр «Яркость» (Brightness) зависел от параметра «Контрастность» (Contrast):
Это выражение сделает яркость в два раза больше, чем контрастность.
(thisLayer.effect(«Яркость и контрастность»)(1) + 1) * time * 20;
(thisLayer.effect(«Яркость и контрастность»)(2) + 1) * time * 40;
(effect(«Яркость и контрастность»)(1) + 1) * time * 20;
(effect(«Яркость и контрастность»)(2) + 1) * time * 40;
effect(«Яркость и контрастность»)(1)+ 1 * time * 10;
effect(«Яркость и контрастность»)(2) + effect(«Яркость и контрастность»)(1);;
Вы можете управлять параметром эффекта с помощью другого свойства, например, непрозрачности слоя:
Это выражение сделает размытие пропорциональным непрозрачности слоя.
effect(«Базовый 3D»)(1) + 1 * opacity * 2;
effect(«Базовый 3D»)(1) + 1 * thisLayer.opacity * 2;// Анимация эффекта
transform.opacity/ time; // Анимация свойства Непрозрачности слоя
Вы можете использовать effect(name) в условных выражениях. Например, чтобы включить или выключить размытие в зависимости от времени:
if (time > 2) {
effect(«Быстрое размытие»)(1) + 50; // Это выражение включит размытие после 2 секунд.
} else {
effect(«Быстрое размытие»)(1) * 0;
}
if (time > 2) {
effect(«Быстрое размытие»)(«Размытость») + 50; // Это выражение включит размытие после 2 секунд.
} else {
effect(«Быстрое размытие»)(«Размытость») * 0;
}
value = effect(«Быстрое размытие»)(1); // Это выражение включит размытие после 2 секунд.
if (time > 2) {
value + 150;
} else {
value * 0;
}
Так писать нельзя. Выскочит ошибка
if (time > 2) {
effect(«Быстрое размытие»)(1) = 100; // Ошибка
} else {
effect(«Быстрое размытие»)(1) = 0;
}
Если у вас есть эффект Цветовой баланс (HLS), и вы хотите одновременно управлять параметрами
effect(1)(1) + time * 30; // Управление оттенком
effect(1)(2) + random(0, 5); //Управление яркостью
effect(1)(3) + Math.sin(time) * 50; // Управление насыщенностью
effect(«Цветовой баланс (HLS)»)(«Оттенок») + time * 30; // Управление оттенком
effect(«Цветовой баланс (HLS)»)(«Яркость») + random(0, 5); //Управление яркостью
effect(«Цветовой баланс (HLS)»)(«Насыщенность») + Math.sin(time) * 50; // Управление насыщенностью