Чтение данных проекта After Effects из внешнего файла

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
Ссылки, описания, дополнительная информация для моих уроков на YouTube
Canonical Link
Аватара пользователя

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

Чтение данных проекта After Effects из внешнего файла


Теги:

Сообщение aeplug » 19 апр 2016 00:28

В этом уроке я предлагаю вместе разобрать один очень интересный проект, которым с нами поделился подписчик Максим Иванов, для автоматического чтение данных из внешнего файла. Для этого используются выражения в After Effects, а точнее несколько простых команд - evаl и evalFile. На их основе достигается полная автоматизация заполнения данными параметров слоев из текстового файла.
Этот метод очень пригодится тем, кто вынужден часто создавать типовые информационные видео, которые отличаются только содержанием текстовых слоев. Например прогнозы погоды, гороскопы, программы передач и другие видео вставки, которые вы можете видеть по телевизору.
В конце концов, в правильно настроенном проекте даже не требуется участие специалиста по After Effects. Всю работу по изменению данных вашего проекта может выполнять любой человек, умеющий набирать текст на клавиатуре компьютера! Все будет происходить автоматом!
https://www.youtube.com/watch?v=utIV-jLism8
Сам проект вы можете скачать для собственных экспериментов по ссылке внизу.
Вложения
Text From File PROJECT.rar
(52.22 КБ) 1475 скачиваний
Text From File PROJECT.rar
(52.22 КБ) 1475 скачиваний


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

Теги:


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

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

Объяснение как это работает

Сообщение aeplug » 19 апр 2016 14:44

Функция $.evalFile (файл) загружает файл с диска по указанному пути и выполняет в качестве скрипта JavaScript. Поэтому файл должен быть написан с соблюдением всех требований по синтаксису языка JavaScript. Подробное описание функции можно найти в документации от Adobe "JavaScript Tools Guide CC".
Описание evalfile.jpg
Описание evalfile.jpg (17.55 КБ) 15129 просмотров
Описание evalfile.jpg
Описание evalfile.jpg (17.55 КБ) 15129 просмотров

Проще говоря, можно сказать, что вместо этой команды подставляются строки из файла и выполняются как обычно. Аналого команды include в других языках.
Теперь если мы инициализацию всех важных переменных перенесем в этот файл, то сможем их менять в нем не зависимо от After Effects! Эту занудную обязанность можно даже поручить любому неквалифицированному работнику, не знакомому ни с After Effects, ни с видео производством вообще. Главное, что бы он смог редактировать простые текстовые файлы. Такие файлы обычно имеют расширение txt и содержат только строки текста без форматирования. Использование сложных файлов типа RTF, PDF, DOC и прочих, содержащих в себе много дополнительной информации о шрифтах и форматировании документа недопустимо.
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

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

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

Сообщение aeplug » 19 апр 2016 15:05

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

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

eval(thisComp.name)[0];

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

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

_01_ПН_САХА_1[0];

А сам массив подпадет в скрипт из файла через $.evalFile.
За счет этого достигается необычная гибкость данных проекта, когда одни и те же выражения обращаются в итоге к разным участкам данных в зависимости от того, откуда они выполняются.
Описание eval() находится в том же файле документации "JavaScript Tools Guide CC".
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

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

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

Сообщение aeplug » 13 май 2016 00:51

Один из подписчиков прислал проект, который может открыться с относительными путями. Но работает он только, если открыть проект из Проводника (проверял в 2014 и 2015):
относительные пути.jpg
относительные пути.jpg (21.56 КБ) 15098 просмотров
относительные пути.jpg
относительные пути.jpg (21.56 КБ) 15098 просмотров

А если открыть проект из программы как обычно File - Open Project, то не работает:
не работает.jpg
не работает.jpg (10.54 КБ) 15098 просмотров
не работает.jpg
не работает.jpg (10.54 КБ) 15098 просмотров
Вложения
Project.zip
(410.78 КБ) 947 скачиваний
Project.zip
(410.78 КБ) 947 скачиваний
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


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

Сообщение atatat » 06 янв 2017 21:11

aeplug,
а как можно изменить размер шрифта, например цифра 100 будет с размером который у текстового слоя, а у "км/ч" нужно чтобы был размер меньше. 100 км/ч должны быть в одну строчку, цифра 100 может меняться до 100000.

мой текстовый документ
var композиция1 = [<b>100 км/ч</b>];

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

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

Сообщение aeplug » 06 янв 2017 21:52

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


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

Сообщение atatat » 06 янв 2017 22:41

aeplug, а вот это textDocument.fontSize = 60; ? это из After-Effects-CS6-Scripting-Guide на 182 странице

Отправлено спустя 15 минут 5 секунд:
aeplug, если разделить на блоки то тогда например было число 10 км/ч изменилось на 1000 и просто загородит слово км/ч.

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

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

Сообщение aeplug » 06 янв 2017 23:28

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

Отправлено спустя 1 минуту 23 секунды:
atatat писал(а):Источник цитаты и просто загородит слово км/ч.

ну двигать то слой ты можешь формулами ) так что вычисляй размер и вперед для КМ
или вообще написать
Скорость (км/ч): 1000
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


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

Сообщение atatat » 06 янв 2017 23:37

aeplug писал(а):Источник цитаты так что вычисляй размер и вперед для КМ

а как сделать это вычисление? можешь показать простенький пример?

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

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

Сообщение aeplug » 06 янв 2017 23:44

SourceRectAtTime() Expression- Adobe After Effects tutorial - YouTube
https://www.youtube.com/watch?v=kI3yzx6CATg
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


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

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

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