Выражения. Метод div(vec, amount) в After Effects

 

 

Метод div(vec, amount) в After Effects используется для деления компонентов вектора на определённое значение.
Вектор может представлять собой позицию, масштаб, угол или любой другой параметр

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

vec — это вектор, который может быть представлен как массив значений (например, [x, y] или [x, y, z]).
amount — это число, на которое делится каждый элемент вектора. Убедитесь, что amount не равен нулю, чтобы избежать ошибок деления на ноль.

Предположим, у вас есть слой, и вы хотите разделить его текущую позицию на 2.

// Выражение для свойства «Position»
vec = value; // Текущее значение позиции
amount = 2; // Значение, на которое делим
div(vec, amount);

div(transform.position, 2);// Выражение для свойства «Position»

Это выражение разделит координаты x и y (или x, y, z для 3D-слоя) на 2.

Если вы хотите уменьшить масштаб слоя в 3 раза:

// Выражение для свойства «Scale»
vec = value; // Текущее значение масштаба
amount = 3; // Значение, на которое делим
div(vec, amount);

div(transform.scale, 3);// Выражение для свойства «Scale»

div(transform.scale, random(3)); // Случайное изменение масштаба

Вы можете использовать значение из другого свойства (например, слайдера) для деления вектора.

// Выражение для свойства «Position»
vec = transform.rotation + time * 10; // Текущее значение позиции
amount = thisComp.layer(«Корректирующий слой 1»).effect(«Элемент управления «Ползунок»»)(«Ползунок») ; // Значение из слайдера
div(vec, amount);

vec = transform.rotation + time * 10; // Текущее значение позиции
amount = thisComp.layer(«Корректирующий слой 1»).effect(«Элемент управления «Ползунок»»)(«Ползунок») ; // Значение из слайдера
div(vec, random(amount)); // Используется метод random() для получения случайного числа

Это позволит динамически изменять деление позиции слоя в зависимости от значения слайдера.

Если вам нужно разделить только одну компоненту вектора (например, только x)

// Выражение для свойства «Position»
x = div(transform.position[0], 2); // Делим только x, y остаётся без изменений
y = transform.position[1];[x,y];

x = div(position[0], 2); // Делим только x, y остаётся без изменений
y = position[1];[x,y];

y = div(position[1], 2); // Делим только y, x остаётся без изменений
x = position[0];[x,y];

// Это выражение можно применить как для позиции так и для масштаба
vec = value; // Текущее значение позиции
amount = 2; // Значение, на которое делим[div(vec[0], amount), vec[1]]; // Делим только x, y остаётся без изменений

Для 3D-слоя можно разделить все три компоненты вектора

// Выражение для свойства «Position» (3D-слой)
vec = value; // Текущее значение позиции
amount = 2; // Значение, на которое делим
div(vec, amount); // Делим x, y, z на 2

Если вы работаете с углом поворота

// Выражение для свойства «Rotation»
angle = value * time * 5; // Текущее значение угла
amount = 2; // Значение, на которое делим
div(angle,amount); // Делим угол на 2