Выражения. Метод propertyGroup After Effects
В After Effects метод propertyGroup(countUp) используется для получения доступа к группе свойства. Это может быть полезно, например, чтобы получить доступ к имени слоя, времени начала слоя, или других параметров на более высоком уровне иерархии.
Список эффектов и не только After Effects
Выражения After Effects список
propertyGroup(countUp = 1);
thisProperty.propertyGroup(1)(«Свойство»);
//Получить имя текущего слоя
thisProperty.propertyGroup(1).name;
thisProperty.propertyGroup(2).name;
thisProperty.propertyGroup(Math.ceil(random(2))).name;
thisProperty.propertyGroup(1).name + » / » + thisProperty.name;
thisProperty — текущее свойство (например, «Opacity»).
propertyGroup(1) — обращение к родительской группе (в данном случае — Transform).
name — получаем имя родителя, то есть слоя, которому принадлежит свойство.
—————-
//Для свойства Поворот не работает потому что propertyGroup(1) возвращает строку «Transform» имя группы свойств слоя
if (thisProperty.propertyGroup(1).name = =»Rotation») {
20; // Просто вернуть текущее значение
} else {
200;// Или можно изменить, если нужно
}
//Правильно
if (thisProperty.name == «Поворот») {
20;
} else {
200;
}
——————
4
//Выражение для свойства Масштаб, Положение или Опорная точка
x = thisProperty.propertyGroup(1)(«Непрозрачность») + 200;
y = thisProperty.propertyGroup(1)(«Непрозрачность») + 200;
[x, y];
———
4
//Выражение для свойства Поворот
thisProperty.propertyGroup(1)(«Непрозрачность») * 2;
—————
3
// Выражение для другого параметра эффекта:
thisProperty.propertyGroup(1)(3) * 2; //Изменяем значение 3 свойства эффекта Базовый 3D при этом изменяется значение свойства к которому применено выражение в два раза
————-
//Получить время начала слоя (startTime)
thisProperty.propertyGroup(1).propertyGroup(1).startTime;
propertyGroup(1) — Transform.
propertyGroup(1) на следующем уровне — сам слой.
startTime — время начала слоя на таймлайне.
——————
Автоматическое затемнение в начале слоя
fadeTime = 1;
t = time — thisProperty.propertyGroup(1).propertyGroup(1).startTime;
ease(t, 0, fadeTime, 0, value);
В течение первой секунды (fadeTime), свойство (например, Opacity) будет анимироваться от 0 до своего текущего значения (value).
Здесь мы используем startTime слоя, который получаем через propertyGroup(1).propertyGroup(1).
——————
Получить доступ к другому свойству в той же группе
thisProperty.propertyGroup(1)(«Position»)[0];
thisProperty.propertyGroup(1)(«Положение»)[0];
thisProperty.propertyGroup(1)(2)[0];
Если выражение стоит, скажем, в свойстве Поворот, то propertyGroup(1) даст Transform, а «Position» даст значение Position в той же группе.
propertyGroup(1) — один уровень вверх (например, от Opacity к Transform).
propertyGroup(2) — два уровня вверх (от Opacity → Transform → слой).
propertyGroup(3) — ещё выше (например, слой → AVLayer → композиция).
——————-
Подсчет количества свойств в родительской группе
thisProperty.propertyGroup(1).numProperties;
numProperties возвращает количество свойств в группе, полученной через propertyGroup(1).
Например, если выражение применяется к свойству в группе «Transform», оно вернет число, например, 5 (Anchor Point, Position, Scale, Rotation, Opacity
Ограничения countUp: Значение countUp должно быть в диапазоне от 1 до propertyDepth (глубина иерархии свойства). Если countUp слишком большое, выражение вернет ошибку
Контекст: Убедитесь, что вы понимаете иерархию свойств. Например, свойства внутри эффекта имеют более глубокую вложенность, чем свойства трансформации.
Работа с эффектами (Effects)
thisProperty.propertyGroup(3).name;
Если вы находитесь в эффекте, то:
propertyGroup(1) — конкретное свойство эффекта (например, «Blurriness»),
propertyGroup(2) — сам эффект (например, «Gaussian Blur»),
propertyGroup(3) — «Effects».