Выражения. Составные операторы (+=, -=, *=, /=). After Effects

 

 

В Adobe After Effects операторы (+=, -=, *=, /=) называются составные операторы присваивания Используются в выражениях для задания значений переменным или свойств, чтобы управлять анимацией и поведением объектов.
Эти операторы делают код короче, читаемее и легче поддерживаемым, особенно когда переменная имеет длинное имя или используется много раз.

 

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

 

 

+= — Присваивание с добавлением (например, x += 5 эквивалентно x = x + 5).

x = 10;
x = x + 5;

x = 10;
x += 5;

Если не используется текущее значение переменной — эти операторы бессмысленны. Можно было просто написать x = 15

-= — Присваивание с вычитанием (например, x -= 2, эквивалентно x = x — 5).

*= — Присваивание с умножением (например, x *= 3, эквивалентно x = x * 3)

/= — Присваивание с делением (например, x /= 3, эквивалентно x = x / 3)

——

Можно написать выражение Покачивание для свойства Положение слоя

value = value + wiggle(5, 30);

Но можно записать и вот так

value += wiggle(5, 30);

——

+= Присваивание с добавлением
Добавляет значение к текущему значению переменной.

//Плавное изменение Положения по оси Х с ускорением

x = transform.position[0];
y = transform.position[1];[(x = x + time * 20 * time), y];

x = transform.position[0];
y = transform.position[1];[(x += time * 20 * time), y];

x = transform.position[0];
y = transform.position[1];[(x = 640 + time * 20 * time), y];
—————

-= (Присваивание с вычитанием)
Вычитает значение из текущего значения переменной.

//Уменьшение прозрачности слоя со временем.
Opacity = transform.opacity; // Текущая прозрачность
Opacity -= time * 10; // Уменьшаем прозрачность

O = transform.opacity; // Текущая прозрачность
O -= time * 10;

O = transform.opacity; // Текущая прозрачность
O = O — time * 10;

100 — time * 10;

100 — time * 10 * time;

—————

*= (Присваивание с умножением)
Умножает текущее значение переменной на указанное число.

//Плавное увеличение масштаба слоя.
x = transform.scale[0];
y = transform.scale[1];[(x *= (1 + time * Math.cos(time))), y];

x = transform.scale[0];
y = transform.scale[1];[(x = 100 * (1 + time * Math.cos(time))), y];

—————

//Ускоренное увеличение вращения слоя.
// Умножаем вращение на увеличивающийся множитель

R = transform.rotation + 1; // Текущее вращение
R = R * ( time * 30 * time);

R = transform.rotation + 1; // Текущее вращение
R *= time * 30 * time;

2 * time * 30 * time;

————————

//Замедление движения слоя по X.
x = transform.position[0];
y = transform.position[1];[(x /= 1 + time * 0.2), y];

x = transform.position[0];
y = transform.position[1];[x = x / (1 + time * 0.2), y];

//Замедление движения слоя по X.
x = transform.position[0] / (1 + time * 0.2);
y = transform.position[1];

[x, y];