Выражения. Свойство numLayers в After Effects

 

 

В Adobe After Effects свойство numLayers используется в выражениях (expressions) для получения общего количества слоев в текущей композиции. Это свойство является частью объекта thisComp и возвращает целое число, которое можно применять для создания динамических анимаций, управления слоями или выполнения условных проверок.

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

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

Вы можете использовать thisComp.numLayers, чтобы получить общее количество слоев в текущей композиции.

thisComp.numLayers;

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

Если вы хотите создать эффект волны, где каждый слой изменяет положение в зависимости от его позиции в композиции, можно использовать numLayers для расчета:

amplitude = 50; // Амплитуда волны
frequency = 2; // Частота волны
y = amplitude * Math.sin((time + thisComp.numLayers — index) * frequency);
x = value[0]; // Сохраняем исходное значение X[x, y + 300];

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

Если вы хотите, чтобы прозрачность слоев уменьшалась от первого к последнему:

opasity = 100 / thisComp.numLayers * index;

Это выражение можно применить к свойству Opacity.
Прозрачность (opacity) каждого слоя увеличивается пропорционально его индексу.

Если вы хотите расположить слои в виде сетки, можно использовать numLayers для расчета строк и столбцов:

columns = 3; // Количество столбцов
rows = Math.ceil(thisComp.numLayers / columns); // Количество строк
x = ((index — 1) % columns) * 200; // Шаг по X
y = Math.floor((index — 1) / columns) * 200; // Шаг по Y[x + 200, y + 200];

Это выражение можно применить к свойству Position.