Выражения. Составные операторы (+=, -=, *=, /=). 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];