Выражения. Метод 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».