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

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

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016, 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза
Контактная информация:

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


Теги:

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

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

Однажды мне понадобилось создать несколько одинаковых композиций с идентичной анимацией, но которые должны были отличаться только содержанием текстового слоя. Делать это руками мне совершенно не хотелось, а хотелось бы иметь возможно как можно быстрее вносить изменения в оригинальную анимацию (и в ее копии), что просто невозможно сделать руками с несколькими десятками композиций.
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 байт) 1466 скачиваний
AEplug - Text Comp Duplicates.zip
(625 байт) 1466 скачиваний

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

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

"01\r\n02"

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


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



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

Теги:



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

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

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

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

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

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

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


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

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

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