Руководство пользователя Отмена

Справочник по языку выражений

  1. Руководство пользователя After Effects
  2. Выпуски бета-версии
    1. Обзор программы бета-тестирования
    2. Домашняя страница бета-версии After Effects
  3. Начало работы
    1. Начало работы с After Effects
    2. Новые возможности After Effects 
    3. Сведения о выпуске | After Effects
    4. Системные требования для After Effects
    5. Сочетания клавиш в After Effects
    6. Поддерживаемые форматы файлов | After Effects
    7. Рекомендации по аппаратному обеспечению
    8. After Effects для компьютеров с процессорами Apple
    9. Планирование и настройка
  4. Рабочие среды
    1. Общие элементы пользовательского интерфейса
    2. Знакомство с интерфейсом After Effects
    3. Рабочие процессы
    4. Рабочие среды, панели управления, программы просмотра
  5. Проекты и композиции
    1. Проекты
    2. Основы создания композиции
    3. Предварительная композиция, вложение и предварительный рендеринг
    4. Просмотр подробных сведений о производительности с помощью инструмента «Профайлер композиций»
    5. Модуль рендеринга композиций CINEMA 4D
  6. Импорт видеоряда
    1. Подготовка и импорт неподвижных изображений
    2. Импорт из After Effects и Adobe Premiere Pro
    3. Импорт и интерпретация видео и аудио
    4. Подготовка и импорт файлов 3D-изображений
    5. Импорт и интерпретация элементов видеоряда
    6. Работа с элементами видеоряда
    7. Определение точек редактирования с помощью функции «Определение изменения сцен»
    8. Метаданные XMP
  7. Текст и графические элементы
    1. Текст
      1. Форматирование символов и панель символов
      2. Эффекты текста
      3. Создание и редактирование текстовых слоев
      4. Форматирование абзацев и панель «Абзац»
      5. Экструзия слоев текста и слоев-фигур
      6. Анимация текста
      7. Примеры и ресурсы для текстовой анимации
      8. Шаблоны динамического текста
    2. Анимационный дизайн
      1. Работа с шаблонами анимационного дизайна в After Effects
      2. Использование выражений для создания раскрывающихся списков в шаблонах анимационного дизайна
      3. Работа с основными свойствами для создания шаблонов анимационного дизайна
      4. Замена изображений и видео в шаблонах анимационного дизайна и основных свойствах
      5. Быстрая и простая анимация с помощью панели «Свойства»
  8. Рисование, заливка цветом и контуры
    1. Обзор слоев-фигур, контуров и векторных изображений
    2. Инструменты рисования: «Кисть», «Штамп» и «Ластик»
    3. Сглаживание обводки фигуры
    4. Атрибуты фигур, операции заливки цветом и операции с контурами для слоев-фигур
    5. Использование эффекта фигуры «Cмещение контура» для изменения фигур
    6. Создание фигур
    7. Создание масок
    8. Удаление объектов из видеоматериалов с помощью панели «Заливка с учетом содержимого»
    9. Инструменты «Кисть для ротоскопии» и «Уточнить подложку»
  9. Слои, маркеры и камера
    1. Выделение и упорядочивание слоев
    2. Режимы наложения и стили слоев
    3. 3D-слои
    4. Свойства слоя
    5. Создание слоев
    6. Управление слоями
    7. Маркеры слоя и маркеры композиции
    8. Камеры, освещение и точки обзора
  10. Анимация, ключевые кадры, отслеживание движения и прозрачное наложение
    1. Анимация
      1. Основы анимации
      2. Анимация с помощью инструментов «Марионетка»
      3. Управление и анимация контуров фигур и масок
      4. Анимация фигур Sketch и Capture с помощью After Effects
      5. Инструменты анимации
      6. Работа с анимацией на основе данных
    2. Ключевой кадр
      1. Интерполяция ключевого кадра
      2. Установка, выбор и удаление ключевых кадров
      3. Редактирование, перемещение и копирование ключевых кадров
    3. Отслеживание движения
      1. Отслеживание и стабилизация движения
      2. Отслеживание лиц
      3. Отслеживание маски
      4. Ссылка на маску
      5. Скорость
      6. Растягивание по времени и перераспределение времени
      7. Тайм-код и единицы отображения времени
    4. Прозрачное наложение
      1. Прозрачное наложение
      2. Эффекты прозрачного наложения
  11. Прозрачность и композиция
    1. Обзор композиции и прозрачности и соответствующие ресурсы
    2. Альфа-каналы и маски
    3. Подложки дорожек и перемещающиеся подложки
  12. Корректирование цвета
    1. Основы работы с цветом
    2. Управление цветом
    3. Эффекты цветокоррекции
    4. Управление цветом OpenColorIO и ACES
  13. Эффекты и стили анимации
    1. Обзор эффектов и стилей анимации
    2. Список эффектов
    3. Диспетчер эффектов
    4. Эффекты имитации
    5. Эффекты стилизации
    6. Аудиоэффекты
    7. Эффекты искажения
    8. Эффекты перспективы
    9. Эффекты канала
    10. Эффекты создания
    11. Эффекты времени
    12. Эффекты перехода
    13. Эффект «Устранение эффекта плавающего затвора»
    14. Эффекты «Размытие» и «Резкость»
    15. Эффекты 3D-канала
    16. Программные эффекты
    17. Эффекты подложки
    18. Эффекты «Шум» и «Зернистость»
    19. Эффект «Увеличение с сохранением уровня детализации»
    20. Устаревшие эффекты
  14. Выражения и автоматизация
    1. Выражения
      1. Основы работы с выражениями
      2. Понимание языка выражений
      3. Использование элементов управления выражениями
      4. Различия в синтаксисе между движками выражений JavaScript и Legacy ExtendScript
      5. Управление выражениями
      6. Ошибки выражения
      7. Использование редактора выражений
      8. Использование выражений для изменения свойств текста и доступа к ним
      9. Справочник языка выражений
      10. Примеры выражений
    2. Автоматизация
      1. Автоматизация
      2. Сценарии
  15. Видео с погружением, VR и 3D
    1. Создание сред VR в After Effects
    2. Применение видеоэффектов с эффектом погружения
    3. Инструменты составления композиций для видеоизображений VR/360
    4. Модуль рендеринга Advanced 3D
    5. Импорт и добавление 3D-моделей в композицию
    6. Импорт 3D-моделей из Creative Cloud Libraries
    7. Освещение на основе изображения
    8. Извлечение и анимация источников света и камер из 3D-моделей
    9. Отслеживание движений камеры в трехмерном пространстве
    10. Отбрасывание и принятие теней
    11. Встроенные анимации 3D-моделей
    12. Ограничитель тени
    13. Извлечение 3D-данных о глубине
    14. Изменение свойств материалов 3D-слоя
    15. Пространство для работы с трехмерными объектами
    16. Инструменты 3D-преобразования
    17. Дополнительные возможности 3D-анимации
    18. Предварительный просмотр изменений в 3D-дизайнах в режиме реального времени с помощью модуля Mercury 3D
    19. Добавление гибкого дизайна в графику 
  16. Виды и предварительный просмотр
    1. Предпросмотр
    2. Предпросмотр видео с помощью Mercury Transmit
    3. Изменение и использование представлений
  17. Рендеринг и экспорт
    1. Основы рендеринга и экспорта
    2. Кодирование H.264 в After Effects
    3. Экспорт проекта After Effects как проекта Adobe Premiere Pro
    4. Преобразование фильмов
    5. Многокадровый рендеринг
    6. Автоматический рендеринг и рендеринг по сети
    7. Рендеринг и экспорт неподвижных изображений и наборов неподвижных изображений
    8. Использование кодека GoPro CineForm в After Effects
  18. Работа с другими приложениями
    1. Dynamic Link и After Effects
    2. Работа с After Effects и другими приложениями
      1. Экспорт проекта After Effects как проекта Premiere Pro
    3. Синхронизация настроек в After Effects
    4. Библиотеки Creative Cloud Libraries в After Effects
    5. Подключаемые модули
    6. Cinema 4D и Cineware
  19. Совместная работа: Frame.io и Team Projects
    1. Совместная работа в Premiere Pro и After Effects
    2. Frame.io
      1. Установка и активация Frame.io
      2. Использование Frame.io с Premiere Pro и After Effects
      3. Часто задаваемые вопросы
    3. Team Projects
      1. Начало работы с Team Projects
      2. Создание Team Project
      3. Совместная работа с помощью Team Projects
  20. Память, хранилище, производительность
    1. Память и хранилище
    2. Как After Effects справляется с проблемами нехватки памяти при предварительном просмотре    
    3. Повышение производительности
    4. Установки
    5. Требования к графическому процессору и драйверу графического процессора для After Effects
  21. База знаний
    1. Выявленные неполадки
    2. Исправленные ошибки
    3. Часто задаваемые вопросы
    4. After Effects и macOS Ventura
    5. Как After Effects справляется с проблемами нехватки памяти при предварительном просмотре

Узнайте о выражениях и справочниках выражений, в том числе о методах преобразования времени и методах векторной математики в After Effects.

Зацикливание ключевых кадров с выражениями в After Effects

Используйте элементы выражения After Effects вместе со стандартными элементами JavaScript для написания выражений. Можно использовать меню языка выражений в любое время для вставки методов и атрибутов в выражение, а также инструмент «Лассо» для вставки свойств.

Если описание аргумента содержит знак равенства (=) и значение (такое как t=time или width=.2), то аргумент будет использовать имеющееся значение по умолчанию, если не использовать другое значение.

Некоторые описания аргументов содержат число в квадратных скобках, указывающее на размер предполагаемого свойства или массива.

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

На веб-сайте W3Schools JavaScript содержатся сведения о стандартном языке JavaScript, включая описание математических и строковых объектов.

Выражения: движок JavaScript

При вычисление выражений After Effects использует движок JavaScript. Производительность вычисления выражений во время рендеринга может быть в 5 раз больше, чем у старого движка ExtendScript.

В ОС Windows программное обеспечение After Effects использует движок JavaScript V8. Он предоставляет более современную версию JavaScript, чем доступно в движке ExtendScript, который поддерживает только 3-е издание стандарта ECMA-262. 

Настройки проекта можно использовать для выбора, будет ли проект использовать движок JavaScript или Устаревший движок ExtendScript.

  1. Выберите Файл > Настройки проекта

  2. Выберите вкладку Выражения, а затем Движок выражений как JavaScript или устаревший движок ExtendScript.

    Примечание.

    В проектах, сохраненных в предыдущих версиях After Effects, по умолчанию используется устаревший движок ExtendScript.

Улучшения, предоставляемые движком JavaScript

  • Более высокая математическая точность в операциях с плавающей запятой.
  • Можно использовать методы массива и строки из современной версии JavaScript.
  • Доступны другие современные объекты JavaScript, такие как массивы однотипных данных, использование ключевых слов «let» и «const» и многие другие добавления, внесенные в последних версиях стандарта ECMA-262.

Различия между движками JavaScript и ExtendScript

  • В движке JavaScript используется строгий синтаксис инструкций if/else, который необходимо записывать в стандартной для JavaScript форме.
  • При доступе к индексам символов в текстовом слое как к массиву, используйте text.sourceText.value[I] вместо text.sourceText[I].
  • Более старые методы выражения snake_case, такие как this_comp и to_world, которые ранее были признаны устаревшими в ExtendScript, не поддерживаются.
  • Упрощенный синтаксис «this(arg)» не поддерживается.

Глобальные объекты, атрибуты и методы (справочник по выражениям)

comp(name)

Тип возвращения: композиция.

Тип аргумента: name – это строка.

Извлекает другую композицию по имени.

footage(name)

Тип возвращения: видеоряд.

Тип аргумента: name – это строка.

Извлекает элемент видеоряда по имени.

thisComp

Тип возвращения: композиция.

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

thisLayer

Тип возвращения: слой, свет или камера.

Представляет слой, содержащий выражение. Поскольку thisLayer является объектом по умолчанию, использовать его не обязательно. Например, можно начать выражение с thisLayer.width или width и получить тот же результат.

thisProperty

Тип возвращения: свойство.

Представляет свойство, содержащее выражение. Например, при написании выражения по свойству «Поворот», можно начать выражение с thisProperty для обращения к свойству «Поворот».

time

Тип возвращения: число.

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

colorDepth

Тип возвращения: число.

Возвращает значение глубины цвета проекта. Например, colorDepth возвращает число 16, когда глубина цвета проекта составляет 16 бит на канал.

posterizeTime(framesPerSecond)

Тип возвращения: число.

Тип аргумента: framesPerSecond – это число.

Значение framesPerSecond становится частотой кадров, на основе которой работает оставшаяся часть выражения. Это выражение позволяет установить частоту кадров для свойства ниже частоты кадров композиции. Например, следующее выражение обновляет значение свойства произвольным значением один раз в секунду:

  posterizeTime(1);   random()

value

Тип возвращения: число, массив или строка.

Представляет текущее значение для свойства, содержащего выражение.

Методы преобразования времени (справочник по выражениям)

timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Тип возвращения: число.

Тип аргумента: t и fps – это числа; isDuration – это логическое значение.

Преобразует значение t, которое возвращается к значению времени текущей композиции по умолчанию, то есть целому числу кадров. Число кадров в секунду указывается в аргументе fps, который возвращается к значению частоты кадров текущей композиции по умолчанию (1.0 / thisComp.frameDuration). Аргумент isDuration со значением по умолчанию «ложь» принимает значение «истина», если значениеt представляет собой разницу между двумя значениями времени вместо абсолютного значения времени. Абсолютные значения времени округляются в меньшую сторону к отрицательной бесконечности, а продолжительность — в сторону противоположную нулю (к положительным значениям).

framesToTime(frames, fps = 1.0 / thisComp.frameDuration)

Тип возвращения: число.

Тип аргумента: frames и fps – это числа.

Инверсия timeToFrames. Возвращает время, соответствующее требуемому аргументу frames. Оно не должно обязательно являться целым числом. Описание аргумента fps см. в параграфе timeToFrames.

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)

Тип возвращения: строка.

Тип аргумента: t и timecodeBase – это числа; isDuration – это логическое значение.

Преобразует значение t в строку, представляющую временной код. Описание аргументов t и isDuration см. в параграфе timeToFrames. Значение timecodeBase, которое возвращается к значению по умолчанию 30, определяет число кадров в одной секунде.

timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)

Тип возвращения: строка.

Тип аргумента: t – это число, а ntscDropFrame и isDuration – это логические значения.

Преобразует t в строку, представляющую собой тайм-код NTSC. Описание аргументов t и isDuration см. в параграфе timeToFrames. Если значение параметра ntscDropFrame – «ложь» (по умолчанию), то результирующая строка будет является тайм-кодом NTSC без пропуска кадров. Если значение параметра ntscDropFrame – «истина», то результирующая строка будет является тайм-кодом NTSC с пропуском кадров.

timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)

Тип возвращения: строка.

Тип аргумента: t, fps и framesPerFoot – это числа, а isDuration – это логическое значение.

Преобразует значение t в строку, представляющую собой метраж пленки и кадры. Описание аргументов t, fps и isDuration см. в параграфе timeToFrames. Аргумент framesPerFoot задает число кадров в одном футе пленки. По умолчанию он имеет значение 16 кадров - типичное значение для пленки 35 мм.

timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Тип возвращения: строка.

Тип аргумента: t и fps – это числа; isDuration – это логическое значение.

Преобразует значение t в строку, представляющую собой время в текущем формате отображения «Настройки проекта». Описание всех аргументов см. в параграфе timeToFrames.

В After Effects CS5.5 и более поздних версиях к функции timeToCurrentFormat() добавлен дополнительный аргумент ntscDropFrame. По умолчанию: ntscDropFrame = thisComp.ntscDropFrame.

Примечание.

Если требуется внести во внешний вид временного кода более серьезные изменения, используйте метод timeToCurrentFormat или другие методы timeTo для создания временного кода вместо использования эффекта Временной код или Числа. Создайте текстовый слой, добавьте выражение к свойству Исходный текст и введите timeToCurrentFormat() в поле выражения. С помощью этого метода можно форматировать и анимировать текст тайм-кода. Кроме того, тайм-код использует тот же стиль отображения, который задан в параметрах текущего проекта.

Методы математических векторов (справочник по выражениям)

Функции математических векторов – это глобальные методы, позволяющие выполнять действия с массивами, обрабатывая их как математические векторы. В отличие от встроенных методов JavaScript, таких как Math.sin, эти методы не используют префикс Math. Если не указано иное, методы математических векторов обрабатывают размеры и возвращают значение, являющееся размером самого большого объекта массива, заполняя недостающие элементы нулями. Например, выражение add([10, 20], [1, 2, 3]) возвращает значения [11, 22, 3].

add(vec1, vec2)

Тип возвращения: массив.

Тип аргумента: vec1 и vec2 – это массивы.

Добавляет два вектора.

sub(vec1, vec2)

Тип возвращения: массив.

Тип аргумента: vec1 и vec2 – это массивы.

Вычитает два вектора.

mul(vec, amount)

Тип возвращения: массив.

Тип аргумента: vec – это массив, а amount – это число.

Умножает каждый элемент вектора на число, определенное аргументом amount.

div(vec, amount)

Тип возвращения: массив.

Тип аргумента: vec – это массив, а amount – это число.

Делит каждый элемент вектора на количество.

clamp(value, limit1, limit2)

Тип возвращения: число или массив.

Тип аргумента: value, limit1 и limit2 – это числа или массивы.

Значение каждого компонента value ограничено диапазоном значений соответствующих значений limit1 и limit2.

dot(vec1, vec2)

Тип возвращения: число.

Тип аргумента: vec1 и vec2 – это массивы.

Возвращает скалярное (внутреннее) произведение аргументов вектора.

cross(vec1, vec2)

Тип возвращения: массив [2 или 3].

Тип аргумента: vec1 и vec2 – это массивы [2 или 3].

Возвращает векторное перекрестное произведение vec1 и vec2. Более подробные сведения см. в справочнике математических векторов или руководстве JavaScript.

normalize(vec)

Тип возвращения: массив.

Тип аргумента: vec – это массив.

Нормализует вектор таким образом, что его длина становится равной 1,0. Метод normalize – это простой способ выполнения операции div(vec, length(vec)).

length(vec)

Тип возвращения: число.

Тип аргумента: vec – это массив.

Возвращает длину вектора vec.

length(point1, point2)

Тип возвращения: число.

Тип аргумента: point1 и point2 – это массивы.

Возвращает расстояние между двумя точками. Аргумент point2 является дополнительным. Например, length(point1, point2) совпадает с length(sub(point1, point2)).

Например, можно добавить это выражение к свойству камеры «Фокусное расстояние» для закреплении фокальной плоскости на точке обзора камеры, чтобы точка обзора находилась в фокусе:

  length(position, pointOfInterest)

lookAt(fromPoint, atPoint)

Тип возвращения: массив [3].

Тип аргумента: fromPoint и atPoint – это массивы [3].

Аргумент fromPoint – это точка в пространстве слоя World, ориентацию которой требуется изменить. Аргумент atPoint – это точка в пространстве слоя World, к которой нужно направить слой. Возвращаемое значение можно использовать в качестве выражения для свойства «Ориентация», чтобы ось Z слоя была направлена в сторону аргумента atPoint. Данный метод особенно удобен при работе с камерами и светом. При использовании этого выражения применительно к камере отключите функцию автоориентации. Например, при использовании этого выражения со свойством источника направленного света «Ориентация» источник света будет указывать на опорную точку слоя номер 1 в той же самой композиции: lookAt(position, thisComp.layer(1).position)

Методы случайных чисел (справочник по выражениям)

Примечание.

Метод покачиваний, используемый для произвольного изменения значения свойства, относится к категории атрибутов Свойства и методов. Для получения дополнительной информации см. Атрибуты и методы свойств (справка по выражениям).

seedRandom(offset, timeless=false)

Тип возвращения: отсутствует.

Тип аргумента: offset – это число, а timeless – это логическое значение.

В методах random и gaussRandom используется начальное значение, управляющее последовательностью чисел. По умолчанию начальное число вычисляется как функция уникального идентификатора слоя, свойства внутри слоя, текущего времени и значения смещения, равного 0. Вызовите seedRandom для установки смещения на значение отличное от 0, чтобы создать другую случайную последовательность.

Используйте значение true для аргумента timeless, чтобы текущее время не использовалось в качестве входного для случайного начального значения. С помощью значения true, используемого для аргумента timeless, можно создавать случайные числа, которые не будут изменяться в зависимости от времени расчета.

Значение offset, в отличие от timeless также может использоваться для управления начальным значением функции покачивания.

Например, это выражение в свойстве «Непрозрачность» задает значению «Непрозрачность» случайное значение, которое не меняется с течением времени:

  seedRandom(123456, true);   random()*100

При умножении на 100 в этом примере выполняется преобразование значения в диапазоне 0-1, возвращаемом по методу random, в число в диапазоне 0-100. Этот диапазон чаще используется при работе со свойством «Непрозрачность», диапазон значений которого составляет 0-100%.

random()

Тип возвращения: число.

Возвращает случайное число в диапазоне значений от 0 до 1.

В After Effects СС и CS6 поведение выражения random() становится более произвольным, когда идентификаторы слоя расположены близко друг к другу. Поведение выражения wiggle() не затрагивается.

random(maxValOrArray)

Тип возвращения: число или массив.

Тип аргумента: maxValOrArray – это число или массив.

Если maxValOrArray является числом, этот метод возвращает число в диапазоне от 0 до значения maxValOrArray. Если maxValOrArray является массивом, этот метод возвращает массив того же размера, что и maxValOrArray,, в котором каждый компонент находится в диапазоне от 0 до соответствующего компонента maxValOrArray.

random(minValOrArray, maxValOrArray)

Тип возвращения: число или массив.

Тип аргумента: minValOrArray и maxValOrArray – это числа или массивы.

Если minValOrArray и maxValOrArray являются числами, этот метод возвращает число в диапазоне от minValOrArray до maxValOrArray. Если аргументы являются массивами, этот метод возвращает массив того же размера, что и аргумент большего размера, в котором каждый компонент находится в диапазоне от соответствующего компонента minValOrArray до соответствующего компонента maxValOrArray. Например, выражение random([100, 200], [300, 400]) возвращает массив, первое значение которого находится в диапазоне от 100 до 300, а второе значение находится в диапазоне от 200 до 400. Если размеры двух входных массивов не совпадают, значения большего размера самого короткого массива заполняются нулями.

gaussRandom()

Тип возвращения: число.

Возвращает случайное число. Результаты имеют распределение Гаусса (колоколообразное). Примерно 90 % результатов находятся в диапазоне 0–1, а оставшиеся 10 % находятся вне этого диапазона.

gaussRandom(maxValOrArray)

Тип возвращения: число или массив.

Тип аргумента: maxValOrArray – это число или массив.

Когда maxValOrArray является числом, этот метод возвращает случайное число. Примерно 90 % результатов находятся в диапазоне от 0 до maxValOrArray, а оставшиеся 10 % находятся вне этого диапазона. Когда maxValOrArray является массивом, этот метод возвращает массив случайных значений того же размера, что и maxValOrArray. 90 % значений находятся в диапазоне от 0 до maxValOrArray, а оставшиеся 10 % находятся вне этого диапазона. Результаты имеют распределение Гаусса (колоколообразное).

gaussRandom(minValOrArray, maxValOrArray)

Тип возвращения: число или массив.

Тип аргумента: minValOrArray и maxValOrArray – это это числа или массивы.

Если minValOrArray и maxValOrArray являются числами, этот метод возвращает случайное число. Примерно 90 % результатов находятся в диапазоне от minValOrArray до maxValOrArray, а оставшиеся 10 % находятся вне этого диапазона. Если аргументы являются массивами, этот метод возвращает массив случайных чисел того же размера, что и аргумент большего размера. Для каждого компонента примерно 90 % результатов находятся в диапазоне от соответствующего компонента minValOrArray до соответствующего компонента maxValOrArray, а оставшиеся 10 % находятся вне этого диапазона. Результаты имеют распределение Гаусса (колоколообразное).

noise(valOrArray)

Тип возвращения: число.

Тип аргумента: valOrArray – это число или массив [2 или 3].

Возвращает число в диапазоне от -1 до 1. В действительности шум не случаен. Он основан на шуме Перлина. Это означает, что возвращаемые значения для двух входных значений, расположенных рядом, будут расположены рядом. Этот тип шума полезен при формировании последовательности чисел, которые, по-видимому, являются случайными и значительно не отличаются друг от друга, как в случае анимации любого естественного случайного движения. Пример: rotation + 360*noise(time)

Методы интерполяции (справочник по выражениям)

Для всех методов интерполяции аргумент t часто является аргументом time или value, однако он может иметь и другие значения. Если t является аргументом time, интерполяция между значениями выполняется за указанное время. Если t является аргументом value, выражение преобразует один диапазон значений в другой.

linear(t, tMin, tMax, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t, tMin и tMax – это числа, а value1 и value2 – это числа или массивы.

Возвращает value1 при значении t меньше или равном tMin. Возвращает value2 при значении t больше или равном tMax. Возвращает линейную интерполяцию между value1 и value2 при выполнении условия tMin < t < tMax.

Например, это выражение в свойстве «Непрозрачность» приводит к плавному линейному переходу значений свойства «Непрозрачность» от 20% до 80% в интервале от 0 до 6 секунд:

  linear(time, 0, 6, 20, 80)

Этот метод, как и все методы интерполяции, можно использовать для преобразования одного диапазона значений в другой. Например, это выражение в свойстве «Непрозрачность» преобразует значения «Непрозрачности» из диапазона 0–100 % в диапазон 20–80 %:

  linear(value, 0, 100, 20, 80)

linear(t, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t – это число, а value1 и value2 – это числа или массивы.

Возвращает значение, которое линейно интерполируется из value1 в value2, а значения t заключаются в пределах от 0 до 1. Возвращает value1, когда t <= 0. Возвращает value2, когда t >= 1.

ease(t, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t – это число, а value1 и value2 – это числа или массивы.

Аналогично методу linear с теми же аргументами, за исключением того, что интерполяция ускоряется и замедляется, а значение скорости равно 0 в начальной и конечной точках. В результате использования этого метода анимация становится плавной.

ease(t, tMin, tMax, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t, tMin и tMax – это числа, а value1 и value2 – это числа или массивы.

Аналогично методу linear с теми же аргументами, за исключением того, что интерполяция ускоряется и замедляется, а значение скорости равно 0 в начальной и конечной точках. В результате использования этого метода анимация становится плавной.

easeIn(t, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t — это число, а value1 и value2 — числа или массивы.

Аналогично методу ease, за исключением того, что значение касательной равно 0 только на стороне value1, , а интерполяция линейна на стороне value2.

easeIn(t, tMin, tMax, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t, tMin и tMax — это числа, а value1 и value2 — это числа или массивы.

Аналогично методу ease, за исключением того, что значение касательной равно 0 только на стороне tMin, а интерполяция линейна на стороне tMax.

easeOut(t, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t — это число, а value1 и value2 — это числа или массивы.

Аналогично методу ease, за исключением того, что значение касательной равно 0 только на стороне value2, а интерполяция линейна на стороне value1.

easeOut(t, tMin, tMax, value1, value2)

Тип возвращения: число или массив.

Тип аргумента: t, tMin, и tMax — это числа, а value1 и value2 — это числа или массивы.

Аналогично методу ease, за исключением того, что значение касательной равно 0 только на стороне tMax, а интерполяция линейна на стороне tMin.

Методы преобразования цветов (справочник по выражениям)

rgbToHsl(rgbaArray)

Тип возвращения: массив [4].

Тип аргумента: rgbaArray — это массив [4].

Преобразует цвет пространства RGBA в цвет пространства HSLA. Входными данными является массив нормализованных значений красных, зеленых, синих и альфа-каналов, находящихся в диапазоне от 0,0 до 1,0. Результирующим значением является массив значений каналов тона, насыщенности, освещенности и альфа-каналов, также находящихся в диапазоне от 0,0 до 1,0. Пример:

  rgbToHsl.effect("Change Color")("Color To Change")

hslToRgb(hslaArray)

Тип возвращения: массив [4].

Тип аргумента: hslaArray — это массив [4].

Преобразует цвет пространства HSLA в цвет пространства RGBA. Это преобразование противоположно преобразованию, выполняемому по методу rgbToHsl.

Другие математические методы (справочник по выражениям)

degreesToRadians(degrees)

Тип возвращения: число.

Тип аргумента: degrees — это число.

Преобразование градусов в радианы.

radiansToDegrees(radians)

Тип возвращения: число.

Тип аргумента: radians — это число.

Преобразует радианы в градусы.

Атрибуты и методы композиции (справочник по выражениям)

layer(index)

Тип возвращения: слой, свет или камера.

Тип аргумента: index – это число.

Извлекает слой по числу (порядковый номер на панели Таймлайн). Пример: thisComp.layer(3)

layer(name)

Тип возвращения: слой, свет или камера.

Тип аргумента: name – это строка.

Извлекает слой по имени. Имена согласуются по имени слоя или имени источника при отсутствии имени слоя. При наличии повторяющихся имен After Effects использует первое (самое верхнее) имя на панели Таймлайн. Пример:

thisComp.layer("Solid 1")

layer(otherLayer, relIndex)

Тип возвращения: слой, свет или камера.

Тип аргумента: otherLayer – это объект слоя, а relIndex – это число.

Извлекает слой, который находится над или под слоем otherLayer на расстоянии relIndex слоев. Например, thisComp.layer(thisLayer, 1).active возвращает значение «истина», если следующий нижний слой на панели Временная шкала активен.

marker

Тип возвращения: MarkerProperty.

Примечание.

Невозможно получить доступ к маркеру композиции по номеру маркера. При работе в проекте, созданном в предыдущей версии After Effects, в котором в выражениях используются номера маркеров композиции, необходимо изменить эти вызовы, чтобы вместо этого использовать marker.key(name). Поскольку именем маркера композиции по умолчанию является номер, процесс преобразования ссылки для использования имени часто заключается лишь в заключении номера в кавычки.

marker.key(index)

Тип возвращения: MarkerKey.

Тип аргумента: index – это число.

Возвращает объект MarkerKey маркера с указанным индексом. Индекс ссылается на порядок маркера во времени композиции, а не на имя маркера. Например, это выражение возвращает время первого маркера композиции:

  thisComp.marker.key(1).time

marker.key(name)

Тип возвращения: MarkerKey.

Тип аргумента: name – это строка.

Возвращает объект MarkerKey маркера с указанным именем. Значение name – это имя маркера, вводимое в поле комментариев диалогового окна маркера, например, marker.key("1"). Именем маркера композиции по умолчанию является номер. Если несколько маркеров в композиции имеют одинаковое имя, этот метод возвращает первый маркер во времени (во времени композиции). Значением ключа маркера является строка, а не число. Например, это выражение возвращает время маркера композиции с именем «0»:

  thisComp.marker.key("0").time

marker.nearestKey(t)

Тип возвращения: MarkerKey.

Тип аргумента: t – это число.

Возвращает маркер, по времени находящийся ближе всего к t. Например, это выражение возвращает время маркера композиции, находящееся рядом со временем равным 1 секунде:

  thisComp.marker.nearestKey(1).time 

Это выражение возвращает время маркера композиции, ближайшее к текущему времени:

  thisComp.marker.nearestKey(time).time

marker.numKeys

Тип возвращения: число.

Возвращает общее количество маркеров композиции в композиции.

numLayers

Тип возвращения: число.

Возвращает количество слоев в композиции.

activeCamera

Тип возвращения: камера.

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

width

Тип возвращения: число.

Возвращает ширину композиции в пикселах.

Примените следующее выражение к свойству слоя Положение для расположения слоя в центре кадра композиции:

  [thisComp.width/2, thisComp.height/2]

height

Тип возвращения: число.

Возвращает высоту композиции в пикселах.

duration

Тип возвращения: число.

Возвращает продолжительность композиции в секундах.

ntscDropFrame

Тип возвращения: логическое значение.

Возвращает значение «истина», если тайм-код имеет формат с пропуском кадров. (After Effects CS5.5 и более поздние версии.)

displayStartTime

Тип возвращения: число.

Возвращает время начала композиции в секундах.

frameDuration

Тип возвращения: число.

Возвращает продолжительность кадра в секундах.

shutterAngle

Тип возвращения: число.

Возвращает значение угла затвора композиции в градусах.

shutterPhase

Тип возвращения: число.

Возвращает значение фазы затвора композиции в градусах.

bgColor

Тип возвращения: массив [4].

Возвращает цвет фона композиции.

pixelAspect

Тип возвращения: число.

Возвращает попиксельную пропорцию композиции.

name

Тип возвращения: строка.

Возвращает имя композиции.

Атрибут защищенной области маркера композиции

Параметр Защищенная область для маркеров композиции может быть считана с атрибутом маркера композиции protectedRegion.

Атрибуты и методы видеоряда (справочник по выражениям)

Для использования элемента видеоряда с панели Проект в качестве объекта в выражении воспользуйтесь глобальным методом footage, как в footage("имя_файла"). Также можно вызвать объект видеоряда с помощью атрибута источника на слое, источник которого является элементом видеоряда.

width

Тип возвращения: число.

Возвращает ширину элемента видеоряда в пикселах.

height

Тип возвращения: число.

Возвращает высоту элемента видеоряда в пикселах.

duration

Тип возвращения: число.

Возвращает продолжительность элемента видеоряда в секундах.

frameDuration

Тип возвращения: число.

Возвращает продолжительность кадра в элементе видеоряда в секундах.

ntscDropFrame

Тип возвращения: логическое значение.

Возвращает значение «истина», если тайм-код имеет формат с пропуском кадров. (After Effects CS5.5 и более поздние версии.)

pixelAspect

Тип возвращения: число.

Возвращает попиксельную пропорцию элемента видеоряда.

name

Тип возвращения: строка.

Возвращает имя элемента видеоряда, указанное на панели Проект.

Атрибуты и методы вложенных объектов слоя (справочник по выражениям)

source

Тип возвращения: композиция или видеоряд.

Возвращает исходный объект композиции или видеоряда для слоя. Время по умолчанию корректируется по времени в источнике. Пример: source.layer (1).position

sourceTime(t = time)

Тип возвращения: число.

Возвращает источник слоя, соответствующий времени t. (After Effects CS5.5 и более поздние версии.)

sourceRectAtTime(t = time, includeExtents = false)

Тип возвращения: объект JavaScript с четырьмя атрибутами: [top, left, width, height]. Расширения применяются только к слоям-фигурам, расширяя границы слоя до необходимых размеров, и текстовым слоям абзацев (After Effects, начиная с версии 15.1), где они возвращают границы рамки абзаца. Пример: myTextLayer.sourceRectAtTime().width.

effect(name)

Тип возвращения: эффект.

Тип аргумента: name – это строка.

After Effects находит эффект по имени на панели Элементы управления эффектами. Имя может быть именем по умолчанию или пользовательским именем. Если несколько эффектов имеют одинаковое имя, будет использоваться самый верхний эффект на панели Элементы управления эффектами. Пример:

effect("Fast Blur")("Blurriness")

effect(index)

Тип возвращения: эффект.

Тип аргумента: index – это число.

After Effects находит эффект по индексу на панели Элементы управления эффектами, начиная с первого верхнего эффекта.

mask(name)

Тип возвращения: маска.

Тип аргумента: name – это строка.

Имя может быть именем по умолчанию или пользовательским именем. Если несколько масок имеют одинаковое имя, будет использоваться первая (самая верхняя) маска. Пример:

mask("Mask 1")

mask(index)

Тип возвращения: маска.

Тип аргумента: index – это число.

After Effects находит маску по индексу на панели Временная шкала, начиная с первой верхней маски.

Общие атрибуты и методы слоя (справочник по выражениям)

width

Тип возвращения: число.

Возвращает ширину слоя в пикселах. Она совпадает с source.width.

height

Тип возвращения: число.

Возвращает высоту слоя в пикселях. Она совпадает с source.height.

index

Тип возвращения: число.

Возвращает порядковый номер слоя в композиции.

parent

Тип возвращения: слой, свет или камера.

Возвращает родительский объект слоя, если таковой имеется. Пример: position[0] + parent.width

hasParent

Тип возвращения: логическое значение.

Возвращает значение «истина», если слой обладает родительским слоем, и значение «ложь», если такого слоя нет.

Используйте атрибут hasParent для определения наличия родительского слоя в слое. Можно использовать этот атрибут, даже если слой не содержит ни одного родительского слоя. Например, следующее выражение указывает, что слой, к которому применяется выражение, покачивается с учетом положения родительского слоя. Если слой не имеет родительского объекта, он покачивается в зависимости от собственного положения. Если слой содержит родительский слой, поведение слоя будет соответствующим образом меняться:

  idx = index;   if (hasParent) {     idx = parent.index;   }   thisComp.layer(idx).position.wiggle(5,20)

inPoint

Тип возвращения: число.

Возвращает точку входа слоя в секундах.

Примечание.

Как правило, значение outPoint больше значения inPoint. Однако, если слой обращен во времени, значение inPoint будет больше значения outPoint. Аналогично, значение startTime может быть больше значения inPoint.

outPoint

Тип возвращения: число.

Возвращает точку выхода слоя в секундах.

startTime

Тип возвращения: число.

Возвращает время начала слоя в секундах.

hasVideo

Тип возвращения: логическое значение.

Возвращает значение «истина», если слой обладает видео, и значение «ложь», если такого видео нет.

hasAudio

Тип возвращения: логическое значение.

Возвращает значение «истина», если слой обладает аудио, и значение «ложь», если такого аудио нет.

active

Тип возвращения: логическое значение.

Возвращает значение «истина», если переключатель Видео включен для слоя, а текущее время находится в диапазоне от точки входа слоя до точки выхода слоя. При других условиях значением будет «ложь».

enabled

Тип возвращения: логическое значение.

Возвращает значение «истина», если переключатель Видео включен для слоя. При других условиях значением будет «ложь».

audioActive

Тип возвращения: логическое значение.

Возвращает значение «истина», если переключатель Аудио включен для слоя, а текущее время находится в диапазоне от точки входа слоя до точки выхода слоя. При других условиях значением будет «ложь».

sampleImage(point, radius = [.5, .5], postEffect=true, t=time)

Тип возвращения: массив [4].

Тип аргумента: point – это массив [2],radius – это массив [2], postEffect – это логическое значение, а t – это число.

Отбирает значения канала цвета и альфа-канала слоя и возвращает среднее взвешенное значение альфа-канала в пикселах в указанном расстоянии точки в виде массива: [красный, зеленый, синий, альфа]. Если postEffect имеет значение «истина», это значит, что был выполнен рендеринг выборочных значений слоя после масок и эффектов в этом слое, если же postEffect имеет значение «ложь», это значит, что был выполнен рендеринг выборочных значений слоя перед масками и эффектами. Входное значение point находится в пространстве слоя. Точка [0,0] соответствует центру верхнего левого пиксела в слое. Входное значение radius определяет горизонтальное и вертикальное расстояние от центра выборки до краев прямоугольника выборки. Значение по умолчанию использует в качестве образца один пиксел.

Примечание.

Параметр postEffect ссылается на эффекты, применяемые непосредственно к слою, а не на эффекты, применяемые косвенно, как это происходит с корректирующим слоем.

Совет.

Использование sampleImage в выражении больше не отключает параллельную обработку.

В этом примере в качестве образца используется прямоугольник шириной четыре пиксела и высотой три пиксела, центрированный вокруг точки в 100 пикселов в нижней правой части от верхнего левого края слоя:

  thisComp.layer(1).sampleImage([100, 100], [2, 1.5])

Атрибуты и методы свойств слоя (справочник по выражениям)

При добавлении масок, эффектов, цвета или текста к слою After Effects добавляет новые свойства на панель Временная шкала. Таких свойств очень много, поэтому, чтобы не описывать их все в этом документе, используйте инструмент «Лассо» для изучения синтаксиса обращения к этим свойствам в выражении.

anchorPoint

Тип возвращения: свойство [2 или 3].

Возвращает значение опорной точки слоя в системе координат слоя (пространство слоя).

position

Тип возвращения: свойство [2 или 3].

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

scale

Тип возвращения: свойство [2 или 3].

Возвращает значение масштаба слоя, выраженное в процентах.

rotation

Тип возвращения: свойство.

Возвращает значение поворота слоя в градусах. Для 3D-слоя выполняется возврат значения поворота по оси Z в градусах.

opacity

Тип возвращения: свойство.

Возвращает значение непрозрачности для слов в процентах.

audioLevels

Тип возвращения: свойство [2].

Возвращает значение свойства слоя Уровни аудио в децибелах. Это значение является 2D-значением. Первое значение относится к левому аудио-каналу, а второе – к правому. Значение не является амплитудой аудиодорожки исходного материала. Напротив, это значение свойства Уровни аудио, на которое могут влиять ключевые кадры.

timeRemap

Тип возвращения: свойство.

Возвращает значение свойства Перераспределение времени в секундах, если этот параметр активен.

marker.key(index)

Тип возвращения: MarkerKey.

Тип аргумента: index – это число.

Возвращает объект MarkerKey маркера слоя с указанным индексом.

marker.key(name)

Тип возвращения: MarkerKey.

Тип аргумента: name – это строка.

Возвращает объект MarkerKey маркера слоя с указанным именем. Значение name – это имя маркера, вводимое в поле комментариев диалогового окна маркера, например, marker.key("ch1"). Если несколько маркеров слоя имеют одинаковое имя, этот метод возвращает первый маркер во времени (во времени слоя). Значением ключа маркера является строка, а не число.

При использовании этого выражения в свойстве выполняется плавный переход значения свойства от 0 до 100 между двумя маркерами, обозначенными именем:

  m1 = marker.key("Start").time;   m2 = marker.key("End").time;   linear(time, m1, m2, 0, 100);

marker.nearestKey(t)

Тип возвращения: MarkerKey.

Тип аргумента: t – это число.

Возвращает маркер слоя, по времени находящийся ближе всего к t. Например, это выражение возвращает время маркера слоя, находящееся рядом со временем равным 1 секунде:

  marker.nearestKey(1).time 

Это выражение возвращает время маркера слоя, ближайшее к текущему времени:

  marker.nearestKey(time).time

marker.numKeys

Тип возвращения: число.

Возвращает общее количество маркеров в слое.

name

Тип возвращения: строка.

Возвращает имя слоя.

Атрибуты и методы 3D-слоя (справочник по выражениям)

orientation

Тип возвращения: свойство [3].

Возвращает значение 3D-ориентации в градусах для 3D-слоя.

rotationX

Тип возвращения: свойство.

Возвращает значение поворота по оси X в градусах для 3D-слоя.

rotationY

Тип возвращения: свойство.

Возвращает значение поворота по оси Y в градусах для 3D-слоя.

rotationZ

Тип возвращения: свойство.

Возвращает значение поворота по оси Z в градусах для 3D-слоя.

lightTransmission

Тип возвращения: свойство.

Возвращает значение свойства Передача света для 3D-слоя.

castsShadows

Тип возвращения: свойство.

Возвращает значение 1,0, если слой отбрасывает тени.

acceptsShadows

Тип возвращения: свойство.

Возвращает значение 1,0, если слой принимает тени.

acceptsLights

Тип возвращения: свойство.

Возвращает значение 1,0, если слой принимает свет.

ambient

Тип возвращения: свойство.

Возвращает значение компонента освещения в процентах.

diffuse

Тип возвращения: свойство.

Возвращает значение компонента диффузии в процентах.

specular

Тип возвращения: свойство.

Возвращает значение компонента зеркального блеска в процентах.

shininess

Тип возвращения: свойство.

Возвращает значение компонента блеска в процентах.

metal

Тип возвращения: свойство.

Возвращает значение компонента металла в процентах.

Методы преобразования пространства слоя (справочник по выражениям)

Пространство слоя преобразует методы для преобразования значения из одного пространства в другое, например преобразование пространства слоя в пространство слоя World. Методы «from» преобразуют значения из именованного пространства (композиция или слой World) в пространство слоя. Методы «to» преобразуют значения из пространства слоя в именованное пространство (композиция или слой World). Каждый метод преобразования использует дополнительный аргумент для определения времени, в течение которого вычисляется преобразование. Однако почти всегда можно использовать текущее время (время по умолчанию).

Используйте методы преобразования «Vec» при преобразовании вектора направления, такого как разница между двумя значениями положения. Используйте обычные методы преобразования (невекторные) для преобразования точки, например, положения. Пространство композиции и пространство слоя World одинаковы для 2D-слоев. Однако для 3D-слоев пространство композиции относится к активной камере, а пространство слоя World не зависит от камеры.

toComp(point, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: point — это массив [2 или 3], а t — это число.

Преобразует точку из пространства слоя в пространство композиции.

fromComp(point, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: point — это массив [2 или 3], а t — это число.

Преобразует точку из пространства композиции в пространство слоя. Результирующая точка в 3D-слое может обладать ненулевым значением, даже если она находится в пространстве слоя. Пример: fromComp(thisComp.layer(2).position)

toWorld(point, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: point – это массив [2 или 3], а t – это число.

Преобразует точку из пространства слоя в видонезависимое пространство слоя World. Пример:

  toWorld.effect("Bulge")("Bulge Center")

fromWorld(point, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: point – это массив [2 или 3], а t – это число.

Преобразует точку из пространства слоя World в пространство слоя. Пример: fromWorld(thisComp.layer(2).position)

Варианты использования этого метода можно найти в разделе Пример выражения: создание купола между двумя слоями.

toCompVec(vec, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: vec – это массив [2 или 3], а t – это число.

Преобразует вектор из пространства слоя в пространство композиции. Пример: toCompVec([1,0])

fromCompVec(vec, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: vec – это массив [2 или 3], а t – это число.

Преобразует вектор из пространства композиции в пространство слоя. Пример (2D-слой):

  dir=sub(position, thisComp.layer(2).position);   fromCompVec(dir)

toWorldVec(vec, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: vec – это массив [2 или 3], а t – это число.

Преобразует вектор из пространства слоя в пространство слоя World. Пример: p1 = effect("Eye Bulge 1")("Bulge Center"); p2 = effect("Eye Bulge 2")("Bulge Center");     toWorld(sub(p1, p2))

fromWorldVec(vec, t=time)

Тип возвращения: массив [2 или 3].

Тип аргумента: vec – это массив [2 или 3], а t – это число.

Преобразует вектор из мирового пространства в пространство слоя. Пример: fromWorld(thisComp.layer(2).position)

fromCompToSurface(point, t=time)

Тип возвращения: массив [2].

Тип аргумента: point – это массив [2 или 3], а t – это число.

Проектирует точку, расположенную в пространстве композиции, в точку на поверхности слоя (нулевое значение по оси Z) в месте, где она отображается, при просмотре из активной камеры. Этот метод удобен для настройки точек управления эффектом. Следует использовать только с 3D-слоями.

Атрибуты и методы камеры (справочник по выражениям)

Объекты камеры обладают теми же атрибутами и методами, что и объекты слоя, за исключением source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap и всех свойств материала.

pointOfInterest

Тип возвращения: свойство [3].

Возвращает значения точки обзора камеры в мировом пространстве.

zoom

Тип возвращения: свойство.

Возвращает значения масштаба камеры в пикселах.

Ниже представлено выражение для свойства слоя Масштаб, сохраняющее относительный размер слоя в кадре при изменении положения по оси Z (глубины) слоя или значения Масштаб камеры:

  cam = thisComp.activeCamera;    distance = length(sub(position, cam.position));    scale * distance / cam.zoom;

depthOfField

Тип возвращения: свойство.

Возвращает значение 1, если свойство камеры Глубина поля активно, или значение 0, если свойство камеры Глубина поля отключено.

focusDistance

Тип возвращения: свойство.

Возвращает значение фокусного расстояния камеры в пикселах.

aperture

Тип возвращения: свойство.

Возвращает значение диафрагмы камеры в пикселах.

blurLevel

Тип возвращения: свойство.

Возвращает значение уровня размытия камеры в процентах.

active

Тип возвращения: логическое значение.

Возвращает значение «истина», если камера является активной для композиции в текущем времени: переключатель Видео для слоя камеры включен, текущее время находится в диапазоне от точки входа слоя камеры до точки выхода слоя камера и этот слой камеры является первым (самым верхним) в списке на панели Временная шкала. В противном случае возвращает значение «ложь».

Атрибуты и методы света (справочник по выражениям)

Объекты света обладают теми же атрибутами и методами, что и объекты слоя, за исключением source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap и всех свойств материала.

pointOfInterest

Тип возвращения: свойство [3].

Возвращает значения точки обзора для света в пространстве слоя World.

intensity

Тип возвращения: свойство.

Возвращает значения интенсивности света в процентах.

color

Тип возвращения: свойство [4].

Возвращает значение цвета света.

coneAngle

Тип возвращения: свойство.

Возвращает угол конуса света в градусах.

coneFeather

Тип возвращения: свойство.

Возвращает значение растушевки конуса света в процентах.

shadowDarkness

Тип возвращения: свойство.

Возвращает значение темноты тени света в процентах.

shadowDiffusion

Тип возвращения: свойство.

Возвращает значение диффузии тени света в пикселах.

Атрибуты и методы эффектов (справочник по выражениям)

active

Тип возвращения: логическое значение.

Возвращает значение «истина», если эффект включен (выбран переключатель  Эффект).

param(name)

Тип возвращения: свойство.

Тип аргумента: name – это строка.

Возвращает свойство в пределах эффекта. Точки управления эффектом всегда расположены в пространстве слоя. Пример:

  effect("Bulge").param("Bulge Height")

param(index)

Тип возвращения: свойство.

Тип аргумента: index – это число.

Возвращает свойство в пределах эффекта. Точки управления эффектом всегда расположены в пространстве слоя. Например, effect("Bulge").param(4) возвращает свойство «Высота купола».

Атрибуты и методы маски (справочник по выражениям)

Примечание.

Свойства Пути маски можно связывать с другими свойствами пути (контуры в слое-фигуре и мазках кисти), но свойства не подходят для прямого числового управления с помощью выражений.

maskOpacity

Тип возвращения: свойство.

Возвращает значение непрозрачности маски в процентах.

maskFeather

Тип возвращения: свойство.

Возвращает значение растушевки маски в пикселах.

maskExpansion

Тип возвращения: свойство.

Возвращает значение расширения маски в пикселах.

invert

Тип возвращения: логическое значение.

Возвращает значение «истина», если маска обращена, и значение «ложь», если маска не обращена.

Атрибуты и методы свойства (справочник по выражениям)

value

Тип возвращения: число, массив или строка.

Возвращает значение свойства в текущем времени.

valueAtTime(t)

Тип возвращения: число или массив.

Тип аргумента: t – это число.

Возвращает значение свойства в указанном времени в секундах.

Например, чтобы значение свойства каждого кадра выбиралось произвольно из набора из четырех значений, задайте четырем параметрам, используемым в качестве ключевых кадров, значения 0, 1, 2 и 3 секунды, а затем примените к свойству следующее выражение:

  valueAtTime(random(4))

velocity

Тип возвращения: число или массив.

Возвращает временное значение скорости в текущем времени. Для пространственных свойств, например, свойства Положение метод возвращает значение вектора касательной. Результат будет обладать тем же размером, что и свойство.

velocityAtTime(t)

Тип возвращения: число или массив.

Тип аргумента: t – это число.

Возвращает временное значение скорости в указанном времени.

speed

Тип возвращения: число.

Возвращает одномерное, положительное значение скорости, равное скорости, при которой свойство изменяется во времени по умолчанию. Этот элемент можно использовать только для пространственных свойств.

speedAtTime(t)

Тип возвращения: число.

Тип аргумента: t – это число.

Возвращает пространственное значение скорости в заданном времени.

wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Тип возвращения: число или массив.

Тип аргумента: freq, amp, octaves, amp_mult и t – это числа.

Произвольно применяет эффект покачивания к значению свойства.

Значение freq – это частота в покачиваний в секунду.

Значение amp – это амплитуда в единицах измерения свойства, к которому оно применяется.

Значение octaves – это количество октав шума, которые требуется сложить. Это значение управляет объемом детализации в покачивании. Сделайте это значение больше значения по умолчанию (1), чтобы добавить более высокие частоты, или меньше, чтобы добавить амплитудную гармонику в покачивание.

Значение amp_mult – это число, на которое умножается значение amp для каждой октавы. Это значение управляет скоростью спада гармоник. Значение по умолчанию равно 0,5. Приблизьте его к 1, чтобы добавить гармонику при той же амплитуде, что и базовая частота, или приблизьте его к 0, чтобы уменьшить детализацию.

Значение t – это базовое начальное время. Этому значению по умолчанию присваивается текущее время. Используйте этот параметр, чтобы выходные данные являлись покачиванием значения свойства, полученного в разное время.

Пример: position.wiggle(5, 20, 3, .5) приводит к формированию около пяти покачиваний в секунду со средним размером в 20 пикселов. В дополнение к главному покачиванию формируются еще два уровня подробных покачиваний с частотой от 10 до 20 покачиваний в секунду и размером от 10 до 5 пикселей, соответственно.

Следующее выражение с двухмерным свойством, таким как Масштаб, инициирует покачивание обоих измерений в одной и той же степени:

  v = wiggle(5, 10);   [v[0], v[0]]

Следующее выражение с двухмерным свойством инициирует покачивание только вдоль оси Y:

  freq = 3;   amp = 50;   w = wiggle(freq,amp);   [value[0],w[1]];

temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Тип возвращения: число или массив.

Тип аргумента: freq, amp, octaves, amp_mult, и t – это числа.

Отбирает свойство во времени покачивания. Значение freq – частота покачиваний в секунду, amp – амплитуда в единицах измерения свойства, к которому применяется значение, octaves – это количество октав шума, которые требуется сложить, amp_mult – это количество, на которое умножается значение amp для каждой октавы и t – это базовое время начала. Чтобы эта функция работала, необходимо анимировать свойство, отбираемое функцией, так как функция изменяет только время выборки, а не само значение. Пример: scale.temporalWiggle(5, .2)

smooth(width=.2, samples=5, t=time)

Тип возвращения: число или массив.

Тип аргумента: width, samples, и t – это числа.

Сглаживает значения свойства с течением времени, преобразуя большие, короткие отклонения в значении в меньшие, более равномерно распределенные отклонения. Это сглаживание выполняется путем применения усредняющего фильтра к значению свойства в указанном времени. Значение width – это диапазон времени (в секундах), в пределах которого усредняется фильтр. Значение samples – это число дискретных образцов, равномерно распределенных во времени. Используйте высокое значение для обеспечения большей степени сглаживания (приводит к уменьшению производительности). Как правило, значение samples должно быть нечетным, чтобы значение в текущем времени было добавлено в среднюю величину. Пример: position.smooth(.1, 5)

loopIn(type="cycle", numKeyframes=0)

Тип возвращения: число или массив.

Повторяет сегмент времени, измеряемый от первого ключевого кадра в слое до точки выхода слоя. Цикл воспроизводится с точки входа слоя. Значение numKeyframes определяет, какой сегмент воспроизводится циклично: повторяющийся сегмент является частью слоя от первого ключевого кадра до numKeyframes + еще один ключевой кадр. Например, loopIn("cycle", 3) повторяет сегмент, ограниченный первым и четвертым ключевыми кадрами. Значение по умолчанию 0 означает, что все ключевые кадры повторяются циклично.

Методы зацикливания ключевых кадров можно использовать для настройки повторного воспроизведения набора ключевых кадров. Эти методы можно применять к большинству свойств. К исключениям относятся свойства, которые не могут быть выражены простыми числовыми значениями на панели Временная шкала, такие как свойство Исходный текст, свойства формы пути и свойство Гистограмма для эффекта Уровни. Слишком большие ключевые кадры или значения продолжительности отсекаются до максимально допустимых значений. Слишком низкие значения приводят к непрерывному циклическому повторению.

тип цикла

результат

cycle

(По умолчанию) зацикливает указанный сегмент.

pingpong

Зацикливает определенный сегмент с попеременным чередованием направления.

offset

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

continue

Не зацикливает указанный сегмент, но продолжает анимировать свойство на основании скорости в первом или последнем ключевом кадре. Например, если последний ключевой кадр свойства слоя Масштаб равен 100 %, слой будет продолжать масштабироваться от 100 % до точки выхода вместо возврата обратно к началу цикла в точке выхода. Этот тип не принимает аргумент keyframes или duration.

loopOut(type="cycle", numKeyframes=0)

Тип возвращения: число или массив.

Повторяет сегмент времени, измеряемый от последнего ключевого кадра в слое до точки входа слоя. Цикл воспроизводится до точки выхода слоя. Заданное число ключевых кадров определяет циклически повторяющийся сегмент. Значение numKeyframes используется для определения количества сегментов ключевых кадров для зацикливания. Указанный диапазон измеряется в обратном направлении от последнего ключевого кадра. Например, значение loopOut("cycle", 1) повторяет сегмент, ограниченный последним и предпоследним ключевыми кадрами. Значение по умолчанию 0 означает, что все ключевые кадры повторяются циклично. Дополнительную информацию см. в параграфе loopIn.

loopInDuration(type="cycle", duration=0)

Тип возвращения: число или массив.

Повторяет сегмент времени, измеряемый от первого ключевого кадра в слое до точки выхода слоя. Цикл воспроизводится с точки входа слоя. Указанная длительность определяет циклически повторяемый сегмент. Значение duration используется для указания числа секунд композиции в повторяющемся сегменте. Указанный диапазон измеряется от первого ключевого кадра. Например, значение loopInDuration("cycle",1) повторяет первый сегмент всей анимации. Значение по умолчанию 0 означает, что повторяющийся сегмент начинается в точке выхода слоя. Дополнительную информацию см. в параграфе loopIn.

loopOutDuration(type="cycle", duration=0)

Тип возвращения: число или массив.

Повторяет сегмент времени, измеряемый от последнего ключевого кадра в слое до точки входа слоя. Цикл воспроизводится до точки выхода слоя. Указанная длительность определяет циклически повторяемый сегмент. Значение duration используется для указания числа секунд композиции в повторяющемся сегменте. Указанный диапазон измеряется в обратном направлении от последнего ключевого кадра. Например, значение loopOutDuration("cycle", 1) повторяет последний сегмент всей анимации. Значение по умолчанию 0 означает, что повторяющийся сегмент начинается в точке входа слоя. Дополнительную информацию см. в параграфе loopIn.

key(index)

Тип возвращения: Key или MarkerKey.

Тип аргумента: index – это число.

Возвращает объект Key или MarkerKey по числу. Например, значение key(1) возвращает первый ключевой кадр.

key(markerName)

Тип возвращения: MarkerKey.

Тип аргумента: markerName – это строка.

Возвращает объект MarkerKey с этим именем. Этот аргумент следует использовать только со свойствами маркера.

nearestKey(t)

Тип возвращения: Key или MarkerKey.

Возвращает объект Key или MarkerKey, расположенный ближе всего к указанному времени.

numKeys

Тип возвращения: число.

Возвращает количество ключевых кадров в свойстве. Возвращает количество маркеров в свойстве маркера.

Примечание.

При использовании команды Разделить размеры для разделения размеров свойства Положение на отдельные компоненты количество ключевых кадров изменяется, что также приводит к изменению возвращаемого этим методом значения.

propertyGroup(countUp = 1)

Тип возвращения: группа.

Возвращает группу свойств, относящихся к свойству, по которому написано выражение. Например, при добавлении выражения propertyGroup(1) к свойству мазка кисти Поворот целью выражения становится группа свойств Преобразование, содержащая свойство Поворот. А при добавлении выражения propertyGroup(2) целью выражения становится группа свойств Кисть. Этот метод позволяет установить связи в иерархии свойств, независящие от имени. Этот метод особенно удобен при дублировании свойств, содержащих выражения.

Метод numProperties для propertyGroup возвращает количество свойств в группе свойств.

Следующее выражение возвращает количество свойств в группе, содержащей свойство, по которому написано выражение:

  thisProperty.propertyGroup(1).numProperties

propertyIndex

Тип возвращения: число.

Возвращает индекс свойства, относящийся к другим свойствам в соответствующей группе свойств, включая группы свойств в масках, эффектах, аниматорах текста, инструментах выбора, формах, средствах и точках отслеживания.

name

Тип возвращения: строка.

Возвращает имя свойства или группы свойств.

Свойства проекта (справочник по выражениям)

Метод выражений:

  • Объект thisProject thisProject представляет проект, который содержит выражение.

Тип:

Объект проекта; только для чтения

  • Атрибут проекта fullPath thisProject.fullPath — это абсолютный путь к файлу, зависящий от платформы, включая имя файла проекта. Если проект не сохранен, возвращается пустая строка.

Тип: Строка; только для чтения.

  • Атрибут проекта bitsPerChannel attribute thisProject.bitsPerChannel — это глубина цвета проекта в битах на канал (bpc), заданная в разделе Настройки проекта > Управление цветом. Может принимать значение 8, 16 или 32. Этот атрибут эквивалентен атрибуту проекта разработки сценариев app.project.bitsPerChannel.

Введите Номер; только для чтения.

  • Атрибут проекта linearBlending thisProject.linearBlending — это состояние параметра Наложение цветов с использованием гаммы 1.0, заданного в разделе Настройки проекта > Управление цветом. Этот атрибут эквивалентен атрибуту проекта разработки сценариев app.project.linearBlending.

Тип: Логический; только для чтения.

Атрибуты и методы ключа (справочник по выражениям)

При переходе к объекту Key из него можно получить свойства времени, индекса и значения. Например, следующее выражение возвращает значение третьего ключевого кадра Положение: position.key(3).value.

Следующее выражение, написанное по свойству Непрозрачность с ключевыми кадрами, игнорирует значения ключевых кадров и использует только положение ключевых кадров во времени для определения точки вспышки: d = Math.abs(time - nearestKey(time).time); easeOut(d, 0, .1, 100, 0)

  d = Math.abs(time - nearestKey(time).time); 
  easeOut(d, 0, .1, 100, 0)

value

Тип возвращения: число или массив.

Возвращает значение ключевого кадра.

time

Тип возвращения: число.

Возвращает время ключевого кадра.

index

Тип возвращения: число.

Возвращает индекс ключевого кадра.

Атрибуты MarkerKey (справочник по выражениям)

С помощью одних и тех же методов можно получать доступ к значениям маркеров композиции и слоя. Доступ к маркерам слоя осуществляется через объект thisLayer.marker, а к маркерам композиции — через объект thisComp.marker.

Работа выражений осуществляется за счет того, что маркеры представляют собой особый тип объекта Key, позволяющий использовать такие методы, как nearestKey(time) для получения доступа к маркерам; маркеры также включают атрибуты time и index. Атрибут index не является номером (именем) маркера. Это порядковый номер ключевого кадра, представляющий собой порядок следования маркера на линейке времени.

Выражения имеют доступ ко всем значениям маркера, которые можно задать в диалоговом окне Маркер композиции или Маркер слоя. Следующее выражение, написанное по свойству Исходный текст текстового слоя, позволяет отобразить время, продолжительность, индекс, комментарий (имя), главу, URL-адрес, цель кадра и имя точки разметки маркера слоя, расположенного ближе всего к текущему времени, а также сообщает предназначен ли маркер для точки разметки события:

  m = thisLayer.marker.nearestKey(time);  
  s = &quot;time:&quot; + timeToCurrentFormat(m.time) + &quot;\r&quot; +  
      &quot;duration: &quot; + m.duration + &quot;\r&quot; +  
      &quot;key index: &quot; + m.index + &quot;\r&quot; +  
      &quot;comment:&quot; + m.comment + &quot;\r&quot; +  
      &quot;chapter:&quot; + m.chapter + &quot;\r&quot; +  
      &quot;URL:&quot; + m.url + &quot;\r&quot; +  
      &quot;frame target: &quot; + m.frameTarget + &quot;\r&quot; +  
      &quot;cue point name: &quot; + m.cuePointName + &quot;\r&quot; +  
      &quot;Event cue point? &quot; + m.eventCuePoint + &quot;\r&quot;;  
  for (param in m.parameters){  
       s += &quot;parameter: &quot; + param + &quot; value: &quot; + m.parameters[param] + &quot;\r&quot;;  
  } 
  s

Поскольку метаданные XMP в элементе видеоряда можно преобразовать в маркеры слоя для основанного на этом элементе слоя, выражения могут взаимодействовать с метаданными XMP. Дополнительные сведения см. в разделе Метаданные XMP в After Effects.

duration

Тип возвращения: число.

Продолжительность маркера в секундах.

comment

Тип возвращения: строка.

Содержимое поля «Комментарий» в диалоговом окне маркера.

chapter

Тип возвращения: строка.

Содержимое поля «Глава» в диалоговом окне маркера.

url

Тип возвращения: строка.

Содержимое поля «URL-адрес» в диалоговом окне маркера.

frameTarget

Тип возвращения: строка.

Содержимое поля «Цель кадра» в диалоговом окне маркера.

eventCuePoint

Тип возвращения: логическое значение.

Установка типа точки разметки в диалоговом окне маркера. Значение «истина» для свойства «Событие»; значение «ложь» для свойства «Навигация».

cuePointName

Тип возвращения: строка.

Содержимое поля точки разметки «Имя» в диалоговом окне маркера.

parameters

Тип возвращения: ассоциативный массив строковых значений.

Содержимое полей Имя параметра и Значение параметра в диалоговом окне маркера.

Например, если имеется параметр с именем «цвет фона», для доступа к его значению в ближайшем маркере можно использовать следующее выражение:

  thisComp.marker.nearestKey(time).parameters["background color"]

MarkerValue.protectedRegion (справочник выражений)

Метод выражений:

thisComp.marker.key(index).protectedRegion

Описание:

Если задано значение true, маркер композиции ведет себя как защищенная область.

Тип:

Логическое значение; только для чтения.

Доступ выражений к точкам контуров фигур, масок и штрихов кисти (справочник по выражениям)

Выражения можно использовать для считывания и записи координат x и y точек контуров (или вершин) следующих объектов:

  • слои-маски;
  • фигуры Безье;
  • штрихи кисти на панели «Рисование» и эффекты «Кисть для ротоскопии» и «Уточнить края».

Методы выражений:

  • Метод контура points(): {pathProperty}.points(t = time) Получение координат (x, y) всех точек контура. Координаты точек контура маски слоя указываются относительно начала координат слоя в левом верхнем углу. Координаты точек контура фигур Безье указываются относительно опорной точки группы фигур контура, например, Преобразовать: Фигура 1 > Опорная точка. Координаты точек контура штрихов кистью задаются относительно начала штриха. Координаты первой точки: [0,0]. При желании можно определить время выборки на контуре. При дублировании контура этот метод можно передать методу createPath() для параметра точек.

Параметры:

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив массивов пар чисел, округленных до четвертого знака после запятой.

  • Метод inTangents() контура: {pathProperty}.inTangents(t = time) Получает координаты x, y дескриптора входящей касательной для всех точек на контуре. Значения координат касательной представляют собой смещения относительно координат родительской точки. То есть значение [0,0] не приводит к созданию кривизны на входящей касательной. Этот метод можно передать методу createPath() для параметра inTangents дублировании контура. При желании можно определить время выборки на контуре.

Параметры:

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив массивов пар чисел, округленных до четвертого знака после запятой.

  • Метод outTangents() контура: {pathProperty}.outTangents(t = time) Получает координаты x, y дескриптора исходящей касательной для всех точек на контуре. Значения координат касательной представляют собой смещение относительно координат родительской точки. Значение [0,0] не ведет к созданию кривизны на исходящей касательной. Этот метод можно передать методу createPath() для параметра outTangents при дублировании контура. При желании можно определить время выборки на контуре.

Параметры:

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив массивов пар чисел, округленных до четвертого знака после запятой.

  • Метод isClosed () контура{pathProperty}.isClosed() Определяет, является ли контур незамкнутым или замкнутым. Возвращает значение true, если контур замкнут, или false, если контур не замкнут. Этот метод можно передать методу createPath() для параметра is_closed при дублировании контура.

Параметры:

Нет

Возвращает:

логический

  • Метод pointOnPath() контура {pathProperty}.pointOnPath(percentage = 0,5, t = time)Определяет координаты x и y произвольной точки вдоль контура. Координаты точки выражены в виде процента от длины дуги контура. 0 % — первая точка, а 100 % — последняя точка. Если контур замкнут, 0 % и 100 % возвращают одинаковые координаты. Процент от длины дуги используется для обеспечения постоянной скорости вдоль контура. За исключением значений 0 % и 100 % процентные значения не обязательно коррелируют с точками Безье на контуре. Для контура с тремя точками вторая точка не обязательно соответствует 50 %. Это также означает, что для незамкнутого и замкнутого контуров с идентичными точками одинаковое процентное значение вдоль незамкнутого и замкнутого контуров не возвращает одинаковые координаты из-за дополнительной длины замкнутого контура. При желании можно определить время выборки на контуре.

Параметры:

percentage

Число между 0 и 1, дополнительное. Процент от длины дуги контура, для которого делается выборка. Значения меньше 0 или больше 1 обрезаются. Значение по умолчанию: 0,5.

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив пар чисел.

  • Метод tangentOnPath() контура: {pathProperty}.tangentOnPath(percentage = 0,5, t = time)Получает вычисленные координаты x, y дескриптора исходящей касательной для произвольной точки вдоль контура. Значения координат касательной представляют собой смещение относительно координат родительской точки. Значение [0,0] не ведет к созданию кривизны на исходящей касательной. Дескриптору входящей касательной соответствует инверсия этого значения (координаты x, y, умноженные на -1). Родительская точка касательной выражена в виде процента от длины дуги контура. Координаты, возвращаемые методом tangentOnPath(), вычисляются на основе родительской точки. Они будут отличаться от тех, которые возвращаются методом outTangents(), если процент от длины дуги также соответствует точке, определенной пользователем. Линейное расстояние между родительской точкой и точкой, координаты которой возвращаются методом tangentOnPath(), всегда равно 1. Возвращенные координаты можно умножить на некоторый множитель, чтобы создать более длинную касательную, например, (myPath.tangentOnPath() * 100). При желании можно определить время выборки на контуре.

Параметры:

percentage

Число между 0 и 1, дополнительное. Процент от длины дуги контура, для которого делается выборка. Значения меньше 0 или больше 1 обрезаются. Значение по умолчанию: 0,5.

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив пар чисел.

  • Метод normalOnPath() контура {pathProperty}.normalOnPath(percentage = 0.5, t = time) Получает координаты x, y нормали для произвольной точки вдоль контура. Значения координат нормалей смещены относительно координат родительской точки. Значение [0,0] такое же, как и у родительской точки. Родительская точка нормали выражается в процентах от длины дуги контура. Ознакомьтесь с описанием метода pointOnPath() для получения дополнительной информации о процентной длине дуги. Координаты, возвращаемые атрибутом normalOnPath(), рассчитываются от его родительской точки. Линейное расстояние между родительской точкой и точкой, координаты которой возвращаются методом normalOnPath(), всегда равно 1. Возвращенные координаты можно умножить на некоторый множитель, чтобы создать более длинную нормаль, например, (myPath.normalOnPath() * 100). При желании можно определить время выборки на контуре.

Параметры:

percentage

Число между 0 и 1, дополнительное. Процент от длины дуги контура, для которого делается выборка. Значения меньше 0 или больше 1 обрезаются. Значение по умолчанию: 0,5.

t

число, дополнительно. Время композиции (в секундах), для которого делается выборка контура. Значение по умолчанию: time (текущее время).

Возвращает:

массив пар чисел.

  • Метод createPath() контура {pathProperty}.createPath(points = [[0,0], [100,0], [100,100], [0,100]], inTangents = [], outTangents = [], is_closed = true) Создает объект контура из набора точек и касательных. Точки определяются массивом массивов пар чисел, представляющих их координаты x,y. Длина массива должна быть не менее 1 и может иметь любую большую длину. Дескрипторы входящих и исходящих касательных определяются массивом массивов пар чисел, представляющих их координаты смещения x,y. Длина массивов касательных должна быть в точности равна значению параметра points. Значения координат касательной представляют собой смещение относительно координат родительской точки. Значение [0,0] не ведет к созданию кривизны на входящей касательной. Методы points(), inTangents(), outTangents() и isClosed() контура могут передаваться в точки, параметры inTangents, outTangents и is_closed параметры для дублирования контура. Точки и касательные одного и того же контура могут передаться в атрибут createPath() с изменениями для получения другого результата. Например, следующее выражение удаляет кривые из Маски 1, не передавая параметры inTangents или outTangents:

myMask = mask("Mask 1").path;
myMask.createPath(myMask.points());

В следующем примере передаются точки и касательные Маски 1 с преобразованием ее в незамкнутый контур, задав параметру is_closed значение false:

myMask = mask("Mask 1").path;
myMask.createPath(myMask.points(), myMask.inTangents(), myMask.outTangents(), false);

 

points

Массив длиной 1 или больше, который содержит массивы пар чисел, представляющие координаты [x, y] точек контура. Не обязателен, только если параметры не передаются (т. е. createPath()). Значение по умолчанию: [[0,0], [100,0], [100,100], [0,100]].

is_closed

Логический, необязательный. Определяет, замкнута ли маска. В случае значения true последняя точка будет соединена с первой точкой. Значение по умолчанию: true.

inTangents

Массив, который содержит массивы пар чисел, представляющих координаты смещения [x, y] дескрипторов исходящих касательных в точках контура. Не обязателен, только если параметры не передаются (т. е. createPath()). Длина массива должна быть равна значению параметра points или можно передать пустой массив ([]), что означает, что у всех касательных одинаковые длина (равна значению points) и исходная точка (координаты [0,0]). Значение по умолчанию: пустой массив.

outTangents

Массив, который содержит массивы пар чисел, представляющих координаты смещения [x, y] дескрипторов входящих касательных в точках контура. Не обязателен, только если параметры не передаются (т. е. createPath()). Длина массива должна быть равна значению параметра points или можно передать пустой массив ([]), что означает, что у всех касательных одинаковые длина (равна значению points) и исходная точка (координаты [0,0]). Значение по умолчанию: пустой массив.

Возвращает:

контурный объект.

Примеры:

  • Пример 1

В данном примере реализован вывод в строку списка координат точек и касательных контура 1 фигуры 1 в слое-фигуре 1 слоя в момент time=0. Примените этот результат к исходному текстовому свойству текстового слоя для считанных координат и входящих и исходящих касательных фигуры.

pointsList = "";
sampleTime = 0;

myShape = thisComp.layer("Слой-фигура 1").content("Фигура 1").content("Контур 1").path;

for (i = 0; i < myShape.points(sampleTime).length; i++) {
    pointsList += "c: " + myShape.points(sampleTime)[i].toString() + "  i: " + myShape.inTangents(sampleTime)[i].toString() + " o: " + myShape.outTangents(sampleTime)[i].toString() + "\n";
}

pointsList;

  • Пример 2

В данном примере координаты первой вершины Маски 1 на Темно-серой заливке 1 считываются и преобразуются в координаты композиции. Примените этот результат к точкам управления 2D-эффектами, такими как Надпись и Эффект систем частиц II CC, чтобы выполнить трассировку эффекта или отследить первую точку анимированной маски. Создайте дубликат эффект и измените значение индекса точек контура ([0]) для трассировки или отслеживания других точек маски.

myLayer = thisComp.layer("Темно-серая заливка 1");
myLayer.toComp(myLayer.mask("Маска 1").maskPath.points()[0]);

Анимация, управляемая данными (справочник выражений)

Методы выражений:

  • Атрибут видеоряда sourceText {footageItem}.sourceText Возвращает содержимое файла .JSON в виде строки. С помощью метода eval() эту строку можно преобразовать в массив объектов sourceData, идентичный результатам атрибута sourceData, из которого к отдельным потокам данных можно обращаться как к иерархическим атрибутам данных. Например: 

var myData = eval(footage("sample.json").sourceText);

myData.sampleValue;

Тип:

строка, содержимое файла .JSON; только для чтения.

  • Атрибут видеоряда sourceData {footageItem}.sourceData Возвращает данные файла .JSON в виде массива объектов sourceData. Структура файла .JSON определит размер и сложность массива. К отдельным потокам данных можно обращаться как к иерархическим атрибутам данных. Например, если имеется поток данных с именем Color, следующий код вернет значение Color из первого объекта данных: footage("sample.json").sourceData[0].Color

Стандартный вариант использования состоит в назначении атрибута sourceData файла .JSON переменной с последующим обращением к нужному потоку данных. Например:

var myData = footage("sample.json").sourceData;

myData[0].Color;

Тип:

Массив объектов sourceData; только для чтения.

  • Метод видеоряда dataValue() {footageItem}.dataValue(dataPath) Возвращает значение указанного статического или динамического потока данных из файла .mgJSON. Принимает одно значение массива для определения пути в иерархии к нужному потоку данных. Например:

footage("sample.mgjson").dataValue([0]) возвращает данные первого потомка.

footage("sample.mgjson").dataValue([1][0]) возвращает данные первого потомка из второй группы.

Параметры:

dataPath 

Массив, обязательный. Путь в иерархии к статическому или динамическому потоку данных.

Возвращает:

Значение потока данных.

  • Метод видеоряда dataKeyCount() {footageItem}.dataKeyCount(dataPath)Возвращает количество выборок в указанном динамическом потоке данных из файла .mgJSON. Принимает одно значение массива, чтобы определить путь в иерархии к нужному динамическому потоку данных. 

Например:

  • footage("sample.mgjson").dataKeyCount([0]) возвращает количество выборок для первого потомка
  • footage("sample.mgjson").dataKeyCount([1][0]) возвращает количество выборок для второй группы

Параметры:

dataPath 

Массив, обязательный. Путь в иерархии к статическому или динамическому потоку данных.

Возвращает:

Количество выборок в динамическом потоке данных.

  • Footage dataKeyTimes() method {footageItem}.dataKeyTimes(dataPath, t0 = startTime, t1=endTime)Возвращает время в секундах для выборок указанного динамического потока данных из файла .mgJSON. Также можно указать промежуток времени, из которого требуется вернуть выборки. По умолчанию возвращается время для всех выборок между startTime и endTime динамического потока данных в соответствии со свойством samplesTemporalExtent заданным в файле .mgJSON. Принимает одно значение массива, чтобы определить путь в иерархии к нужному динамическому потоку данных. 

Следующий пример возвращает время выборок между 1 секундой и 3 секундами для первого потомка:

footage("sample.mgjson").dataKeyTimes([0], 1, 3)

Параметры:

dataPath

Массив, обязательный. Путь в иерархии к динамическому потоку данных.

t0

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

t1

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

Возвращает:

Массив чисел, представляющих время выборок.

  • Метод видеоряда dataKeyValues() {footageItem}.dataKeyValues(dataPath, t0 = startTime, t1=endTime)Возвращает значения для выборок указанного динамического массива данных из файла .mgJSON. Также можно указать промежуток времени, из которого требуется вернуть выборки. По умолчанию возвращается время для всех выборок между startTime и endTime динамического потока данных в соответствии со свойством samplesTemporalExtent заданным в файле .mgJSON. Принимает одно значение массива, чтобы определить путь в иерархии к нужному динамическому потоку данных. 

Например:

footage("sample.mgjson").dataKeyValues([0], 1, 3) возвращает значения выборок между 1 секундой и 3 секундами для первого потомка.

Параметры:

dataPath

Массив, обязательный. Путь в иерархии к динамическому потоку данных.

t0

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

t1

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

Возвращает:

Массив чисел, представляющих значения выборки.

Метод преобразования шестнадцатеричного кода цвета в RGB-код (справочник выражений)

Этот метод, hexToRgb(), преобразует шестнадцатеричные значения цвета, например #FF00FF в цветовые значения RGBA. С его помощью можно связывать цветовые параметры со значениями цветов, представленными в источниках данных JSON или CSV/TSV в виде шестнадцатеричных строк.

Метод выражений:

hexToRgb(hexString) Преобразует цвета из шестнадцатеричного триплетного пространства в RGB или из шестнадцатеричного квартетного пространства в пространство RGBA. Для шестнадцатеричных триплетов, для альфа-канала по умолчанию используется значение 1.0.

Параметры:

hexString

Строка, представляющая шестнадцатеричный триплет (6 цифр без альфа-канала) или квартет (8 цифр, с альфа-каналом), содержащая только цифры и символы A–F. Дополнительные начальные символы 0x, 0X или # пропускаются. Символы после 8 знаков пропускаются.

Возвращает:

Массив цветовых значений RGBA.

Примеры:

Любое из приведенных далее значений возвращает [1.0, 0.0, 1.0, 1.0]:

  • hexToRgb("FF00FF")
  • hexToRgb("#FF00FF")
  • hexToRgb("0xFF00FF")
  • hexToRgb("0XFF00FFFF") Примечание. Шестнадцатеричный квартет из 8 символов; два последних символа задают альфа-каналу значение 1.0.

 Adobe

Получайте помощь быстрее и проще

Новый пользователь?

Adobe MAX 2024

Adobe MAX
— творческая конференция

С 14 по 16 октября очно в Майами-Бич и онлайн

Adobe MAX

Творческая конференция

С 14 по 16 октября очно в Майами-Бич и онлайн

Adobe MAX 2024

Adobe MAX
— творческая конференция

С 14 по 16 октября очно в Майами-Бич и онлайн

Adobe MAX

Творческая конференция

С 14 по 16 октября очно в Майами-Бич и онлайн