Текущие версии программ: After Effects CC 2018 v15.0.0  Premiere Pro CC 2018 v12.0.0

не стесняйтесь создавать новые темы для новых вопросов

Скрипт для клонирования композиций с заменой текста из массива для After Effects

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
Скрипты для After Effects, которые я пишу для своих задач или меняю чужие.
Canonical Link
Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 1442
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 3 раза
Поблагодарили: 170 раз

Скрипт для клонирования композиций с заменой текста из массива для After Effects


Теги:

Сообщение aeplug » 20 сен 2017 14:59

poster clones.jpg
poster clones.jpg (41.34 КБ) 575 просмотров
poster clones.jpg
poster clones.jpg (41.34 КБ) 575 просмотров

Однажды мне понадобилось создать несколько одинаковых композиций с идентичной анимацией, но которые должны были отличаться только содержанием текстового слоя. Делать это руками мне совершенно не хотелось, а хотелось бы иметь возможно как можно быстрее вносить изменения в оригинальную анимацию (и в ее копии), что просто невозможно сделать руками с несколькими десятками композиций.
https://www.youtube.com/watch?v=ldRi9PfrtBQ
Ну и я быстренько накидал простенький скрипт, который сделает все это за меня. Для его работы нужно:
  1. Открыть нужную композицию в проекте After Effects.
  2. Выделить нужный текстовый слой, содержимое которого будет изменяться.
  3. В самом скрипте изменить массив textArray.
  4. В скрипте изменить формирование переменной newComp.name с именем новых композиций, если надо.
  5. Не забыть сохранить изменения в файл!
  6. В After Effects выполнить этот скрипт.

Код: Выделить всё

//Скрипт для клонирования композиций с заменой текста из массива для After Effects
//http://aeplug.ru/forum/viewtopic.php?t=574

var myComp = app.project.activeItem;
var myLayer = myComp.selectedLayers[0];
var TextIndex = myLayer.index;
var textArray = ["Первый","Второй","Третий","И т.д."];

app.beginUndoGroup("Text Comp Duplicates");
for (var i=0; i < textArray.length; i++)
{
   newComp = myComp.duplicate();
   newComp.layers[TextIndex].sourceText.setValue(textArray[i]);
   newComp.name = "Script_"+ textArray[i];
}
app.endUndoGroup();

Как видите, скрипт достаточно простой и его можно менять под другие условия использования, например, для замены нескольких текстовых слоев. Это может пригодится при создании Lower Third с именами, фамилиями и профессиями.
AEplug - Text Comp Duplicates.zip
(625 байт) 92 скачивания
AEplug - Text Comp Duplicates.zip
(625 байт) 92 скачивания

Иногда может потребоваться задавать несколько строчек текста. Для этого нужно использовать стандартный разделитель для строк \r\n. Тогда элемент массива будет выглядеть в программе так:

Код: Выделить всё

"01\r\n02"

А в After Effects так:
две строчки текста.jpg
две строчки текста.jpg (7.38 КБ) 553 просмотра
две строчки текста.jpg
две строчки текста.jpg (7.38 КБ) 553 просмотра


  :info:  
Полезные ссылки:



Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

Теги:



atatat
Не Нуб
Не Нуб
Сообщения: 49
Зарегистрирован: 05 июл 2016 19:14
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Сообщение atatat » 24 сен 2017 04:30

aeplug, Спасибо большое! Тема про автоматизацию самая полезная!

Аватара пользователя

igor.lagovskoy
Нуб
Нуб
Сообщения: 1
Зарегистрирован: 24 сен 2017 17:19

Сообщение igor.lagovskoy » 24 сен 2017 17:20

Спасибо за скрипт. Очень актуально для меня.


Вернуться в «Мои скрипты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей