Выражения. Метод key(index) After Effects
Метод key(index) в выражениях After Effects используется для обращения к ключевому кадру свойства по его индексу. Это позволяет считывать параметры ключей, например, их время (key(index).time) или значение (key(index).value), и использовать их в расчетах.
Список эффектов и не только After Effects
Выражения After Effects список
Индексы начинаются с 1, а не с 0.
Ключевые кадры сортируются по времени: key(1) — самый первый
Метод работает с любыми анимированными свойствами: Position, Opacity, Scale, Rotation и т.д.
———————-
Получение времени ключевого кадра
key(1).time; //Возвращает время первого ключевого кадра
// Время первого ключевого кадра свойства Position
thisComp.layer(«Слой-фигура 1»).transform.position.key(1).time;
——————-
//Выражение для свойства Непрозрачность слоя
if (time > transform.position.key(2).time) {
50;
}else{
20;
}
———————-
Получение значения ключевого кадра по индексу
// Для свойства Position (Позиция):
key(1).value; // Возвращает значение первого ключевого кадра
//Выражение для свойства Положение слоя добавляю в свойство Исходный текст Текстового слоя
x = Math.round(thisComp.layer(2).position.key(1).value[0]);
y = Math.round(thisComp.layer(2).position.key(1).value[1]);
[x, y];
// Для свойства Opacity (Прозрачность):
key(2).value; // Значение второго ключевого кадра
thisComp.layer(2).opacity.key(2).value;
————————
Интерполяция между ключевыми кадрами
// Плавное изменение между первым и вторым ключевыми кадрами Rotation (Вращение):
linear(time, key(1).time, key(2).time, key(1).value, key(2).value);
————————
// Позиция слоя следует за вторым ключевым кадром другого слоя:
thisComp.layer(‘Слой-фигура 1’).transform.position.key(2).value;
Вариант 2
if(time > thisComp.layer(‘Слой-фигура 1’).transform.position.key(2).time) {
thisComp.layer(‘Слой-фигура 1’).transform.position.key(2).value;
}else{
transform.position
}
———————
Включить эффект, когда слой проходит через второй ключевой кадр позиции.
if (time > thisComp.layer(«Слой-фигура 1»).transform.position.key(2).time) {
60; // Значение свойства эффекта после второго ключевого кадра
} else {
0; // Эффект выключен
}