Треугольные переходы (Transitions) в After Effects с помощью выражений (Expression).

Создаем новый эллипс шейп Polygon Shape с помощью двойного клика по инструменту Polygon Tool в меню шейповых инструментов.

Для параметра Polygon Path points мы поставим количество сторон на 3, создав треугольник.

Переименуем основную шейповую группу на «01″.

Добавим выражение (Expression) для Shape Layer > 01 > Polygon Path 1 > Radius:

(2/3)*thisComp.height

Это выражение будет масштабировать размер треугольника, чтобы она соответствовала высоте композиции.

Добавим выражение (Expression), чтобы центрировать треугольник для Shape Layer > 01 > Polygon Path 1 > Position:

[0,(1/6)*thisComp.height]

Добавим Repeater в Group.

У Repeater изменим Rotation на 180.

Для Position у Repeater добавим выражение (expression):

var r = thisProperty.propertyGroup(4).content(“Polystar Path 1”).outerRadius;
var a =3*r/Math.sqrt(3);
[a/2,value[1]]

Это выражение будет каждую итерацию (смотрите график нише, соотношение между радиусом и сторонами треугольника).

Для Copies у Repeater добавим выражение (expression), для заполнения всего экрана (смотрите график выше):

var r = thisProperty.propertyGroup(3).content(“Polystar Path 1”).outerRadius;
var a = 3*r/2/Math.sqrt(3);
thisComp.width/a*2

Добавим выражение для Position у Group «01», чтобы компенсировать позицию левого края кадра:

var p = thisProperty.propertyGroup(2).content(“Polystar Path 1”).outerRadius;
[-thisComp.width/2,-thisComp.height/2+p*(3/2)]

Добавим выражение для Anchor Point у Group «01», чтобы сместить позицию к левому краю кадра:

var r = thisProperty.propertyGroup(2).content(“Polystar Path 1”).outerRadius;
var p = thisProperty.propertyGroup(2).content(“Polystar Path 1”).position[1];
[value[0], r-p]

Добавим второй Repeater ниже первого Repeater.

Изменим Expression (выражение) для Polygon Path > Position:

[0,(1/6)*thisComp.height/thisProperty.propertyGroup(3).content("Repeater 2").copies]

Изменим Expression (выражение) для Polygon Path > Outer Radius:

(2/3)*thisComp.height/thisProperty.propertyGroup(3).content("Repeater 2").copies

Для второго Repeater 2, добавим выражение (expression) на параметр Position:

var r = thisProperty.propertyGroup(4).content(“Polystar Path 1”).outerRadius;
var a = r*3/Math.sqrt(3);
[-1.5*a, r*3/2]

Изменяя Copies второго Repeater, оно будет автоматически изменять размер всех шейпов по размеру экрана.

Первому Repeater 1 > End Opacity ставим на 50%.

Для анимации, изменим выражение для параметра Copies у Repeater 1:

var r = thisProperty.propertyGroup(3).content("Polystar Path 1").outerRadius;
var a = 3*r/2/Math.sqrt(3);
linear(time,inPoint,inPoint+1,0,(thisComp.width/a)*2)

Чтобы добавить временную задержку между дублированными экземплярами, изменим последнюю строку выражения на:

var offset=(thisProperty.propertyGroup(4).numProperties – thisProperty.propertyGroup(3).propertyIndex)*10/25;
linear(time,inPoint +offset,inPoint +1 +offset,0,(thisComp.width/a)*2)

Теперь дублируем группу «01», переименуем дубликат «02», еще раз продублируем и переименуем в «03» и так далее, столько раз, сколько нам нужно.

Источник: aexpr.wordpress.com

Полноценный видеокурс по After Effects и Моушн Дизайну

Узнать подробнее...