Выражения. Свойство index After Effects
Свойство index в After Effects это номер слоя в композиции. Это полезный инструмент в выражениях, который позволяет слоям взаимодействовать друг с другом или адаптировать поведение в зависимости от их положения в стопке слоев.
Список эффектов и не только After Effects
Выражения After Effects список
Вы можете использовать index для создания эффекта задержки (delay) между слоями. Например, если вы хотите, чтобы каждый слой начинал анимацию с небольшой задержкой относительно предыдущего:
delay = 1; // Задержка в секундах
opacity = 100 * (time — index * delay);
Примените это выражение к параметру, например, к непрозрачности (Opacity). В результате первый слой начнет анимацию через 1 секунду, второй через 2 секунды и так далее.
Допустим, вы хотите, чтобы позиция каждого слоя по оси Y увеличивалась в зависимости от его индекса:
offset = 50; // Смещение для каждого слоя[transform.position[0], transform.position[1] + index * offset];
Здесь каждый слой будет смещаться вниз на 50 пикселей относительно предыдущего.
С помощью index можно обращаться к свойствам соседних слоев. Например, чтобы позиция текущего слоя зависела от позиции слоя выше:
thisComp.layer(index — 1).transform.position;
Это выражение заставит текущий слой копировать позицию слоя, находящегося выше него в композиции. Если слой с индексом 1 (самый верхний), выражение вызовет ошибку, поэтому можно добавить проверку:
if (index > 1) {
thisComp.layer(index — 1).transform.position;
} else {
transform.position; // Оставить текущую позицию для верхнего слоя
}
index начинается с 1 для самого верхнего слоя в композиции.
Если слой находится в прекомпозиции, index будет относиться к его порядку внутри этой прекомпозиции.
Можно комбинировать index с другими функциями, такими как thisComp.numLayers (общее количество слоев), чтобы создавать более сложные эффекты.
offset = 50; // Смещение для каждого слоя по оси Y для четных слоев[transform.position[0], transform.position[1] + random(index).toFixed(0) * offset];
offset = 50; // Смещение для каждого слоя по оси X для нечетных слоев[ transform.position[0] + random(index).toFixed(0) * offset , transform.position[1]];