Выражения. Свойство 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]) Переводит из глобальных координат композиции в локальные координаты