Выражения Маркеры Ч.2 After Effects
В After Effects маркеры (markers) можно использовать в выражениях для управления анимацией, синхронизации с музыкой, запуска событий и других целей.
Список эффектов и не только After Effects
Выражения After Effects список
marker возвращает объект MarkerGroup, через который можно получить доступ к конкретным маркерам.
marker.key(n) — доступ к n-му маркеру.
marker.key(1).time — возвращает время первого маркера
marker.key(«Start») — доступ к маркеру с именем Start. Имя задается в комментариях
marker.key(«Start»).time — возвращает время маркера с именем Start
marker.numKeys — количество маркеров.
marker.key(n).comment — возвращает название маркера. Доступ по индексу маркера
marker.key(«End»).comment — возвращает название маркера. Доступ по имени маркера заданный в комментариях
marker.nearestKey(time).time — возвращает время ближайшего маркера
marker.key(n).duration — продолжительность маркера
————
Получить время первого маркера
marker.key(1).time; //Получить время первого маркера
thisComp.layer(«Таймер»).marker.key(1).time;
———
marker.numKeys; //Количество маркеров.
thisComp.layer(«Таймер»).marker.numKeys;
——
marker.key(1).comment; //Комментарий (название) маркера.
thisComp.layer(«Таймер»).marker.key(1).comment;
——
marker.nearestKey(time); //Ближайший маркер ко времени time.
thisComp.layer(«Таймер»).marker.nearestKey(time).time;
———-
2
Сдвиг анимации после определенного маркера. Для свойства Поворот слоя
if (marker.numKeys > 0 && time > marker.key(1).time) {
(time — marker.key(1).time) * 100;
} else {
0;
}
После маркера с индексом 1 каждую секунду поворот на 100 градусов. До маркера с индексом 1 ни чего не происходит. В условии оператора if если marker.numKeys > 0 то есть количество маркеров больше 0 и
time > marker.key(1).time то есть время композиции больше времени маркера выполняется выражение
(time — marker.key(1).time) * 100;
——-
2
Использовать маркер как триггер (например, включить анимацию на 2 секунды)
if (marker.numKeys > 0 && time >= marker.key(1).time && time < marker.key(1).time + 2) { linear(time, marker.key(1).time, marker.key(1).time + 2, 0, 100) } else { 0 } ——- 2 Реакция на имя маркера Выражение для свойства Поворот слоя Фигура 1 if (marker.nearestKey(time).comment == «Start») { 100; }else{ 0; } При приближении к маркеру с именем Start происходит поворот на 100 градусов. ——- 2 Расчет времени между двумя маркерами слоя Text добавил в свойство Исходный текст чтобы видеть числовой результат if (marker.numKeys >= 2) {
marker.key(2).time — marker.key(1).time;
}else{
0
}
——-
1
Выражение для маркеров композиции. Для свойства Непрозрачность слоев Text 1 и Text 2. После маркера с индексом 1 и до маркера с индексом 2 Непрозрачность слоеа уменьшается от 100 до 0
Start = thisComp.marker.key(1).time;
End = thisComp.marker.key(2).time;
ease(time, Start, End, 100, 0);
——
1
Выражение для маркеров композиции. Для свойства Непрозрачность слоев Text 1 и Text 2. с индексом 1 и до маркера с индексом 2 Непрозрачность слоеа уменьшается от 100 до 0 но после маркера с индексом 2 Непрозрачность слоев опять 100%
Start = thisComp.marker.key(1).time;
End = thisComp.marker.key(2).time;
if(time > End) {
transform.opacity = 100;
}else{
ease(time, Start, End, 100,0);
}