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

Использование выражений для изменения свойств текста и доступа к ним

  1. Руководство пользователя After Effects
  2. Выпуски бета-версии
    1. Обзор программы бета-тестирования
    2. Домашняя страница бета-версии After Effects
    3. Функции бета-версии
      1. Импорт и добавление 3D-моделей в композицию (бета-версия)
      2. Освещение на основе изображения (бета-версия)
      3. Извлечение и анимация камер и источников света из 3D-моделей (бета-версия)
  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. Эффекты 3D-канала
    15. Программные эффекты
    16. Эффекты подложки
    17. Эффекты «Шум» и «Зернистость»
    18. Эффект «Увеличение с сохранением уровня детализации»
    19. Устаревшие эффекты
  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. Отслеживание движений камеры в трехмерном пространстве
    5. Пространство для работы с трехмерными объектами
    6. Инструменты 3D-преобразования
    7. Дополнительные возможности 3D-анимации
    8. Предварительный просмотр изменений в 3D-дизайнах в режиме реального времени с помощью модуля Mercury 3D
    9. Добавление гибкого дизайна в графику 
  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 и другими приложениями
    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 использует функции "get" и "set" для чтения и записи значений свойств текста в механизм выражения. Выражения используются для управления и установки стилей шрифтов, таких как свойства текста в текстовых слоях.

Чтобы получить доступ к этим функциям для свойств текста:

  1. Добавление выражения в свойство Source Text текстового слоя. Дополнительные сведения см. в разделе Основы выражения.
  2. Во всплывающем меню Язык выражений выберите Свойства > текст > Свойства.

Сохранение выражений в виде шаблонов настроек

Выберите свойство исходного текста, в который добавлены выражения. Затем выберите Анимация > Сохранить шаблон настроек анимации, чтобы можно было использовать выражения в других проектах. Шаблоны настроек анимации сохраняются на панели Эффекты и шаблоны.

Дополнительные сведения см. в разделе Обзор эффектов и стилей анимации.

Меню выражений и шрифты PostScript

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

  • Откройте всплывающее меню Язык выражений и выберите Текст > Шрифт. Откроется диалоговое окно с раскрываемыми меню для выбора шрифта и шрифта для вставки в выражение.
Меню «Шрифт»

Синхронизация шрифтов

Шрифты, на которые ссылаются только в Редакторе выражений, не записываются как шрифты, используемые проектом. Чтобы убедиться, что все шрифты, упомянутые в Редакторе выражений, будут автоматически синхронизироваться или заполнять диалоговое окно «Разрешение шрифтов», используйте все эти шрифты в слое, даже если этот источник слоя скрыт.

Используемые шрифты

Объект стиля

Все свойства стиля для текстового слоя существуют в объекте стиля, доступ к которому осуществляется в свойстве Source Text с помощью следующих действий:

// Использование всего пути к свойству Source Text text.sourceText.style // Использование общего имени текущего свойства thisProperty.style

Использование стиля само по себе аналогично использованию любого из двух приведенных выше примеров, но это может сбивать с толку, если атрибуты стиля из нескольких текстовых слоев объединяются.

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

// Доступ к объекту стиля определенного текстового слоя thisComp.layer(“Другое имя слоя”).text.sourceText.style;

Доступные текстовые атрибуты

Следующие атрибуты стиля текста можно прочитать и задать с помощью объекта style:

  • Шрифт
  • Размер шрифта
  • Псевдополужирный
  • Искусственный курсив
  • Все прописные
  • Малые прописные
  • Трекинг
  • Интерлиньяж
  • Автоинтерлиньяж
  • Отклонение от базовой линии
  • Заполнить (включить/выключить)
  • Цвет заливки
  • Обводка (включить/выключить)
  • Цвет обводки
  • Ширина обводки

Свойство «Исходный текст» текстового слоя преобразуется выражениями в виде строки JavaScript. Сам текст можно прочитать с помощью sourceText, но он должен быть задан для объекта style с помощью метода setText, если атрибуты style изменяются. Смотрите примеры ниже.

Объединение стиля и исходного текста

текст и стиль
Объединение стиля и исходного текста

Чтобы вернуть значения стиля и фактического исходного текста во времени, необходимо объединить функции getStyleAt и setText. Ниже приведены два примера того, как записать это выражение.

// Чтобы вернуть значения как стиля, так и фактического исходного текста во времени (сокращенная рука) var sourceTextProperty = thisComp.layer(“MAIN TEXT”).text.sourceText; var newStyle = sourceTextProperty.getStyleAt(0,0); newStyle.setText(sourceTextProperty);
// Для возврата значений как стиля, так и фактического исходного текста предыдущего слоя в порядке наложения слоев var sourceTextProperty = thisComp.layer(index - 1).text.sourceText; var newStyle = sourceTextProperty.getStyleAt(0,0); newStyle.setText(sourceTextProperty);
шрифты раскрывающегося списка
Связывание шрифтов или стилей с раскрывающимся меню

Раскрывающиеся меню можно использовать для управления стилями текста, например для блокировки текстовых слоев определенными шрифтами. Это полезно для рекомендаций по брендам, шаблонов, MoGRTS и многого другого:

// Чтобы заблокировать текстовый слой для определенных шрифтов с помощью dropdown Menu Control var dropDownMenu = thisComp.layer(“LayerName”).effect(“Dropdown Menu Control”)(“Menu”); switch (dropDownMenu.value) { case 1 : text.sourceText.style.setFont(“Georgia”); break; case 2 : text.sourceText.style.setFont(“Impact”); break; по умолчанию : text.sourceText.style.setFont(“Tahoma”); }

Основной текстовый слой

основной текстовый слой
Получение свойств текста из “Text Layer 1”, но переопределение размера шрифта и цвета заливки

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

// Чтобы получить все свойства текста из текстового слоя, thisComp.layer(“Текстовый слой 1”).text.sourceText.style;

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

// Получить все свойства текста из “Text Layer 1”, но переопределить цвет заливки и размер шрифта с жестко закодированными значениями var newStyle = thisComp.layer(“Text Layer 1”).text.sourceText.style; newStyle.setFillColor(hexToRgb(“FF0000”)).setFontSize(100);
// Чтобы получить все свойства текста из “Text Layer 1”, но переопределить цвет заливки и размер шрифта с текущими текстовыми свойствами слоя var newStyle = thisComp.layer(“Text Layer 1”).text.sourceText.style; var currentFillColor = thisProperty.style.fillColor; var currentFontSize = thisProperty.style.fontSize; newStyle.setFillColor(currentFillColor).setFontSize(currentFontSize);

Примеры

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

Шрифт

Ниже приведены примеры доступа к шрифту текстового слоя, размеру шрифта, искусственному полужирному шрифту, искусственному курсиву, отслеживанию и ведущему:

// Чтобы вернуть имя шрифта для самого текстового слоя
text.sourceText.style.font;
 // Чтобы вернуть имя шрифта, используемого другим текстовым слоем{{n} }var otherLayer = thisComp.layer("Имя другого слоя");

otherLayer.text.sourceText.style.font;

// Чтобы вернуть значение размера шрифта для самого текстового слоя
text.sourceText.style.fontSize;

// чтобы вернуть значение размера шрифта для другого текстового слоя
 var otherLayer = thisComp.layer("Имя другого слоя");

otherLayer.text.sourceText.style.fontSize;

// Чтобы вернуть логическое значение значение того, является ли текст слоя Faux Bold или нет (True или False)
text.sourceText.style.isFauxBold;

// Чтобы вернуть логическое значение того, является ли текст слоя text Faux Italic или нет (True или False)
text.sourceText.style.isFauxItalic;

// Чтобы вернуть значение отслеживания текстового слоя в виде числа{{ n}}text.sourceText.style.tracking;

// Чтобы вернуть значение интерлиньяжа текстового слоя в виде nu mber
text.sourceText.style.leading;

Заливка

Ниже приведены примеры получения параметров «Заливка» и «Цвет заливки» текстового слоя.

// Чтобы вернуть логическое значение того, применена ли к тексту слоя заливка (True или False)
text.sourceText.style.applyFill; 
// Чтобы вернуть значение цвета заливки текстового слоя
// По умолчанию возвращается массив значений RGB по шкале от 0 до 1,0
текст .sourceText.style.fillColor;

// Установите цвет заливки текстового слоя с помощью setApplyFill и setFillColor
// Значения setFillColor определяются как массив RGB на шкале между 0–1.0
var newStyle = style.setApplyFill(true);

newStyle.setFillColor([1.0, 1.0, 1.0]);
{{n} }// Установите цвет заливки текстового слоя, заменив массив RGB 0–1.0 на hexToRGB, чтобы определить значения цвета с помощью шестнадцатеричных значений
var newStyle = style.setApplyFill(true);
{{ n}}newStyle.setFillColor(hexToRgb("FFFFFF"));
Примечание.

Для возврата значений цвета заливки для R, G или B текстового слоя, добавьте в скобки 0, 1 или 2 соответственно.

// Чтобы вернуть красное (R) значение цвета заливки

text.sourceText.style.fillColor[0];

Обводка

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

// Чтобы вернуть логическое значение того, применена ли к тексту слоя Обводка (True или False)
text.sourceText.style.applyStroke; 
// Чтобы вернуть значение цвета обводки текстового слоя // По умолчанию возвращается массив значений RGB по шкале от 0 до 1,0
text.sourceText.style. strokeColor;

// Задайте цвет обводки текстового слоя с помощью setApplyStroke и setStrokeColor
// Значения setStrokeColor определяются как массив RGB со шкалой от 0 до 1,0{{ n}}var newStyle = style.setApplyStroke(true);

newStyle.setStrokeColor([1.0, 0.0, 0.0]);

// Устанавливаем Обводка Цвет текстового слоя, заменяющий массив RGB 0–1,0 на hexToRGB для определения значений цвета с помощью шестнадцатеричных значений
var newStyle = style.setApplyStroke(true);

newStyle. setStrokeColor(hexToRgb("FF0000"));

// Чтобы вернуть значение ширины обводки текстового слоя в виде числа
text.sourceText.style.strokeWidth;
Примечание.

Для возврата значений цвета обводки для R, G или B текстового слоя, добавьте в скобки 0, 1 или 2 соответственно.

// Чтобы вернуть зеленое (G) значение цвета обводки

text.sourceText.style.strokeColor[1];

Функции «Get»

Используйте функцию «get» для возврата значений стиля определенного символа в необходимое время. В качестве «index» нужно указывать число, являющееся индексом буквы или символа, значение стиля которого необходимо получить. «atTime» также должно быть числом, указывающим время в композиции, из которого можно получить стиль в случае, если стиль является ключевым кадром и меняется с течением времени.

text.sourceText.getStyleAt(index, atTime);
Примечание.

Использование text.sourceText.style аналогично использованию text.sourceText.getStyleAt(0,0).

// Получает стиль первого символа в начале временной шкалы

text.sourceText.getStyleAt(0,0);

Функции «Set»

Дополнительные функции «set», которые могут использоваться по отдельности или в сочетании друг с другом для управления стилями в слоях. Каждая из этих функций вызывается для объекта стиля свойства исходного текста:

// Установите используемый шрифт в Arial
style.setFont("ArialMT")

// Установите размер шрифта 80
style.setFontSize(80);

// Включите Faux Bold с логическим значением
style.setFauxBold(true){ {n}}
// Включить искусственный курсив с помощью логического значения
style.setFauxItalics(true)

// Включить все заглавные буквы с помощью логического значения{{n} }style.setAllCaps(true)

// Включить малые заглавные буквы с помощью логического значения
style.setSmallCaps(true)

// Установить Отслеживание в виде числа
style.setTracking(10);

// Устанавливаем интерлиньяж в виде числа
style.setLeading(10);{{n} }
// Включить автоматический интерлиньяж с помощью логического значения
style.setAutoLeading(true);

// Установить смещение базовой линии в виде числа
 style.setBaselineShift(10);

// Устанавливаем ширину обводки в виде числа
style.setStrokeWidth(10); 

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

Примечание.

Точка с запятой ставится только после самого последнего атрибута. Написание каждого атрибута в отдельной строке помогает облегчить чтение всей цепочки.

// Включить заливку, задать цвет заливки, задать базовую линию, задать отслеживание и включить автоматический интерлиньяж

text.sourceText.style

    .setApplyFill(true){ {n}}
    .setFillColor(hexToRgb("FFFFFF"))

    .setBaselineShift(10)

    .setTracking(25){ {n}}
    .setAutoLeading(true);

Совет по форматированию текстовых выражений

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

  text.sourceText + “\r” + text.sourceText.toUpperCase()

Дополнительнsые варианты использования выражений в исходном тексте

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

var nextLayer =  thisComp.layer(index + 1);
nextLayer.name + "\rOpacity = " + nextLayer.opacity.value; 

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

// Создать sourceFootageName как пустую строку
var sourceFootageName = ""; 
// Перебираем все слои в композиции
for (var i = 1; i <= thisComp.numLayers; i++) {
  
    // Если i соответствует индексу этого слоя, перейти к следующему циклу
    if (i == index) {
        continue;
    }
  
    // Установить myLayer для текущая итерация цикла
    var myLayer = thisComp.layer(i);
  
    // Если в myLayer нет видео или он не активен, переходим к следующему циклу/слою 
    if ( !myLayer.hasVideo || !myLayer.active ) {
      continue;
    }
  
    // Если myLayer активен в текущее время
    if ( myLayer.active ) {
        try {
            // Задайте для sourceFootageName имя источника myLayer
            sourceFootageName = myLayer.source.name;{{n }}        } catch ( err ) {
            // Если у myLayer нет источника,
            // установите для sourceFootageName имя myLayer
            sourceFootageName = myLayer.name;
 
  
        // Остановить цикл
        break ;
    }
}
  
// Отобразить sourceFootageName
sourceFootageName;

Дополнительные ресурсы о выражениях

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

Дополнительные сведения об использовании выражений для текстовых стилей и раскрывающихся списков см. эту запись в блоге Adobe: After Effects 2020: Express Yourself (and Your Text).

Кроме того, на веб-сайте MotionScript вы можете посмотреть руководства и интересную коллекцию Дэна Эббертса (Dan Ebberts) с примерами выражений.

На форуме AE Enhancers также можно найти множество примеров и сведения о выражениях, сценариях и шаблонах настроек анимации.

Логотип Adobe

Вход в учетную запись