Выражения. Метод layer(otherLayer, relIndex) в After Effects
Adobe After Effects Метод layer(otherLayer, relIndex) используется в выражениях (expressions) для ссылки на другой слой относительно текущего слоя в композиции. Это удобно, когда нужно динамически привязать свойства одного слоя к другому, например, для управления положением, поворотом или прозрачностью.
Список эффектов и не только After Effects
Выражения After Effects список
otherLayer — это объект слоя, к которому вы хотите обратиться.
relIndex — относительный индекс, который указывает, на сколько позиций выше или ниже текущего слоя находится целевой слой в списке слоев. Положительное число означает слой выше, отрицательное — ниже.
Допустим, у вас есть три слоя в композиции:
«Слой-фигура 1» (индекс 1, сверху).
«Слой-фигура 2» (индекс 2, снизу, текущий слой).
«Слой-фигура 3» (индекс 3, снизу).
Вы хотите, чтобы положение (Position) «Слой-фигура 2» следовало за положением «Слой-фигура 1». Для этого можно использовать выражение в свойстве Position слоя «Слой-фигура 2»:
thisComp.layer(thisLayer, -1).transform.position;
thisComp.layer(thisLayer, -1).transform.position + 200;
thisComp — ссылается на текущую композицию.
thisLayer — текущий слой («Слой-фигура 2») к этому слою применяется выражение
-1 — указывает на слой, который находится на одну позицию выше «Слой-фигура 2», то есть «Слой-фигура 1».
.transform.position — обращается к свойству Position слоя «Слой-фигура 1».
В результате «Слой-фигура 2» будет точно копировать координаты «Слой-фигура 1». Если «Слой-фигура 1» движется, «Слой-фигура 2» последует за ним.
thisComp.layer(thisLayer, -2).transform.scale; // Выражение для масштаба
————-
Создайте два слоя: пустой текстовый слой «<пустой текстовый слой>» и фигуру «Слой-фигура 1».
Перетащите «<пустой текстовый слой>» ниже «Слой-фигура 1» в таймлайне.
Выберите слой «<пустой текстовый слой>», нажмите P, чтобы открыть свойство Position.
Alt+клик (Windows) или Option+клик (Mac) на секундомере Position, чтобы открыть поле для выражений.
Вставьте следующий код
thisComp.layer(thisLayer, -1).transform.position + [150, 0];
Откройте свойство «Текст» пустого текстового слоя с нажатой кнопкой Alt кликните по секундомеру «Исходный текст», вставьте тот же код.
Если вы укажете неверный relIndex (например, слишком большое число, выходящее за пределы списка слоев), After Effects выдаст ошибку.
Это выражение полезно для автоматизации анимации, особенно когда порядок слоев может меняться.
thisComp.layer(thisLayer,1).transform.rotation;