Выражения. Свойство parent After Effects

 

 

В Adobe After Effects свойство parent в выражениях используется для доступа к свойствам родительского слоя, к которому привязан текущий слой. Это позволяет создавать зависимости между слоями, упрощая анимацию и координацию движения.

Список эффектов и не только After Effects
Выражения After Effects список

 

 

—————-
4

parent.transform.position.value;
parent.position.value;
parent.transform.opacity;
parent.transform.rotation;

Если свойство имеет одну переменную то value добавлять не обязательно. Если свойство имеет две и больше перменных то надо добавлять value

——————
2

//Выражение для Поворота дочернего слоя
parent.transform.rotation * 5;

//Выражение для Поворота родительского слоя
transform.rotation + time * 30;

parent.transform.rotation возвращает угол поворота родительского слоя в градусах.
Умножение на 5 дает угол поворота дочернего слоя. Дочерний слой вращается синхронно с родителем с большей скоростью.

——————-
2

//Выражение для свойства Непрозрачность родительского слоя
transform.opacity * Math.cos(time);

//Выражение для свойства Непрозрачность дочернего слоя. Задержка в 2 секунды
parent.transform.opacity.valueAtTime(time — 2);

——————-
7

//Прозрачность дочернего слоя в зависимости от масштаба родителя
scaleValue = parent.scale[0]; // допустим, одинаков по X и Y
linear(scaleValue, 50, 150, 0, 100)

Если масштаб родителя меняется от 50 до 150, прозрачность дочернего слоя будет изменяться от 0 до 100%.

——————
3

Дочерний слой с эффектом Заливка должен наследовать цвет эффекта Заливка родительского слоя. Выражение применяется к свойству Color эффекта Заливкаl дочернего слоя

parent.effect(«Заливка»)(3);

Цвет дочернего слоя автоматически обновляется при изменении цвета родителя.

————————-
6

В After Effects, когда слой привязан к родителю, его позиция становится локальной — то есть отсчитывается от координат родителя, а не всей композиции. Если добавить выражение к позиции дочернего слоя

parent.position.value + [100, 0];

То к локальномым координатам дочернего слоя добавятся глобальные координаты родительского слоя. И слой сместится не на 100 пикселей, а значительно больше.

——————-
6

//Дочерний слой должен быть позиционирован относительно родителя с фиксированным отступом по X и Y.
parentPoint = parent.toComp([0, 0]);
targetPoint = parent.toComp([300, 0]);
offset = targetPoint — parentPoint;
value + offset;

toComp([x, y]) Переводит точку из локальных координат слоя в глобальные (композиции)
fromComp([x, y]) Переводит точку из глобальных координат композиции в локальные координаты
Слой 2 смещается на 300 пикселей вправо в мировом пространстве
Смещение работает корректно даже если у родителя есть поворот, масштаб, нецентрированная anchor point и т.п.

value + parent.toComp([0, 0]) + [400, 0] — toComp([0, 0]);

transform.position + [400, 0];
————————
1

При увеличении масштаба родительского слоя дочерний слой убегает. Выражение применить к свойству Масштаб дочернего слоя

s = [];
ps = parent.transform.scale.value;
for (i = 0; i < ps.length; i++) {
s[i] = value[i] * 100 / ps[i];
}
s;

————

Убедитесь, что слой имеет назначенного родителя в столбце Parent на панели Timeline. Если родитель не назначен, выражение вызовет ошибку.

Комбинирование с другими функциями: Свойство parent можно комбинировать с функциями вроде valueAtTime, wiggle или математическими операциями для создания сложных эффектов.

JavaScript в After Effects чувствителен к регистру, поэтому пишите parent, а не Parent или PAREN

——————
5

fromComp([0, 0]);

fromComp([640, 360]);

fromComp([x, y]) Переводит из глобальных координат композиции в локальные координаты