Выражения. Свойства hasVideo hasAudio After Effects
В After Effects выражениях свойства hasVideo и hasAudio относятся к объекту AVLayer (аудио/видео слой) и позволяют определить, содержит ли слой видео- или аудио
В большинстве случаев смысла в hasVideo мало. Оно полезно только в узких сценариях, где нужно исключить аудиослои, но даже тогда его ценность ограничена
Список эффектов и не только After Effects
Выражения After Effects список
thisLayer.hasVideo — возвращает true, если у слоя есть видео.
thisLayer.hasAudio — возвращает true, если у слоя есть аудио.
if(thisComp.layer(«Слой-фигура 1»).hasVideo) {
«true»;
}else{
«false»;
}
if(thisComp.layer(«LA.mp4»).hasVideo) {
«true»;
}else{
«false»;
}
if(thisComp.layer(«Text»).hasVideo) {
«true»;
}else{
«false»;
}
if(thisComp.layer(«Сплошная заливка Синий 2»).hasVideo) {
«true»;
}else{
«false»;
}
hasVideo возвращает true для большинства слоев, включая:
Видеофайлы, изображения, текстовые слои, слои-фигуры, солиды, прекомпозиции.
Даже null layer, который вообще не содержит визуального контента.
Слои, у которых выключена иконка глаза (опция «Video»).
Это делает hasVideo практически бесполезным для точной фильтрации слоев, например, если вы хотите работать только с видеофайлами или видимыми слоями. Основные причины, почему оно кажется бессмысленным:
Слишком общий охват: hasVideo возвращает true для любого слоя, который After Effects считает «визуальным» в широком смысле, даже если слой не рендерится (как null layer).
Нет связи с видимостью: Оно не учитывает, включена ли иконка глаза (для этого нужен active).
Название вводит в заблуждение: Название hasVideo наводит на мысль, что оно проверяет наличие видеофайла, но на деле оно просто указывает, является ли слой потенциально визуальным.
hasVideo возвращает false для аудиослоев (например, .mp3, .wav). Если вы пишете выражение или скрипт, который должен обрабатывать только визуальные слои,