Scripting expressions в after effects нет вкладки
Мы не обмениваемся ссылками на пиратский контент - будь то скрипты, плагины или что-нибудь в этом духе. За ссылки на ломаные скрипты - бан.
Особенно воздержитесь от вопросов типа "как поставить афтер эффектс" или "у меня кодек не работает". Для этого есть другие места.
ВНИМАНИЕ - список материалов группы в разделе "Список выражений" чуть ниже (привет, кэп). Прежде чем задать вопрос, посмотри. Возможно, на него уже есть ответ.
Ссылки на выражения по темам
- Часть 1.
- Часть 2 - seedRandom
- Часть 3 - Шум Перлина
- Bar Graph'ы, инфографика (+проект)
- Остановка в случайном месте
- Вступление
- Кладем слой с эффектом в композицию
- Ставим ключевой кадр всем выбранным свойствам
- Пэрентим кучу слоёв к другой куче слоёв
- Добавляем нуль, подрезанный под выбранные слои
- Массовая смена тайминга композиций и выложенных прекомпов
- Подрезка первого слоя под второй
- Подрезка прекомпоза для AE младше CC
- Expression Toolbox - своя библиотека выражений
- iExpressions - более сотни выражений
- Smart Baker - умный перевод выражений в кифрэймы
- True Comp Duplicator - дублирует композицию со всеми вложенными прекомпами
- Reposition Anchor Point - перемещаем сами поняли что
- Masks to Layers - маски в слои
- Ease and Wizz - сглаживания
- Rift - грамотный сдвиг слоев, кифрэймов, маркеров(. )
- pt-ImportSubtitles - импорт субтитров в текстовый слой
- pt-Multiplane - создание трехмерной сцены из 2д слоев с глубиной
- Mocha Import - грамотный импорт tracking data из mocha
- Duik - ИК и куча фишечек для анимации
- BG Renderer - рендерит пока вы работаете
- Activate Disabled Expressions - активирует отключенные выражения
- Distribute Layers - раскидывает слои по композиции
- Align 3D - выравнивание слоев в 3D!
- Lines Creator - соединяет слои линиями
- AEmap + Locations - делает карту мира и работает с ней
- ДЗ №2 - появление без кифрэймов
- ДЗ №3 - золотое сечение
- ДЗ №4 - зависимость от скорости
- ДЗ №5 - Зависимость от расстояния
- ДЗ №6 - одометры
AE_Expressions запись закреплена
Решил, что сейчас лучшее время, чтобы выложить весь курс по выражениям сюда, а не на гугл или ютуб )
Абдул Альхазред
Это спасибо, это от души
AE_Expressions запись закреплена
Очень интересный подход к проблеме временного парентинга. Помню, сколько сил потребовало полное решение от Алексей Кравченко
Лариса Магданова
На самом деле пользоваться действительно просто, автор показала на скрине исчерпывающую инструкцию. Может, картинка сложится, если показать так?
AE_Expressions запись закреплена
Олег Иванов
Решил потихоньку показывать, то над чем сейчас работаем. Мы создаём абсолютно уникальный проект, который позволит очень быстро создавать 3Д локацию любой точки Земли и показать на ней ваше путешествие.
Сходили в поход в горы, сплавились по крутой реке, проехали на горном веле, проделали большой путь, покажите это в красивом видео. Дабы люди оценили масштаб. Сделать это максимально просто с помощью нашего проекта для After Effects и Element3D.
Очень скоро мы сделаем просто бомбический апгрейд существующего проекта. А пока вот вам кусочек этого апдейта: реалтайм террейн прямиком из АЕ и Element3D.
Следите за новостями, дальше больше!
В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложить вам некоторое расширение данного плагина. Давайте сделаем так, чтобы он мог загружать и сохранять написанные нами скрипты.
Начнем с загрузки скрипта. Для этого добавим кнопку Open и обработчик ее нажатия
Первым делом в обработчике мы вызываем диалоговое окно для открытия файла. Первым аргументом в статический метод File.openDialog передается подсказка для пользователя. Если система поддерживает такую подсказку, она будет отображена. В противном случае этот аргумент будет проигнорирован.
Так же этот метод принимает и второй аргумент - метод или строка (в зависимости от ОС) фильтрации расширения открываемых файлов. Но по какой-то причине в последних версиях AE этот аргумент не работает, поэтому в этом скрипте я его использовать не стал. Вместо этого мы чуть ниже сделаем соответствующую проверку.
Если пользователь выбрал файл, метод File.openDialog возвратит экземпляр класса File. В противном случае, если пользователь нажал Отмена, будет возвращен null. В таком случае мы прерываем работу обработчика
Далее мы проверяем расширение выбранного файла. Для этого мы используем регулярное выражение, проверяющее окончание строки с именем файла.
Нас интересуют файлы .js и .jsx. Оба эти расширения интерпретируются AE как сценарии. Если проверка прошла успешно, мы открываем файл для чтения, для этого передаем методу open аргумент “r” - read, передаем нашему текстовому полю содержимое файла и закрываем файл, чтобы он не засорял память программы.
Если расширение файла нам не подходит, мы предупреждаем об этом пользователя, на чем работа обработчика завершается.
Можете проверить работу кнопки. Если вы все сделали верно, в текстовом поле отобразится содержимое открытого файла.
Следующим шагом мы сохраним наш скрипт. Для этого добавим кнопку Save.
Тут почти та же логика, что и в предыдущем блоке. Мы открываем диалоговое окно для сохранения файла.
Если пользователь нажал Отменить File.saveDialog возвращает null и мы прерываем работу обработчика
Далее проверяем имя файла указанное в диалоговом окне и, если имя не содержит расширений .js или .jsx, переименовываем файл, добавляя нужное расширение
Имя файла доступно только для чтение, поэтому для его изменения мы используем метод rename.
А сами кнопки будем уже добавлять не в окно, а в эту группу
Теперь кнопки отрисовываются инлайн, что, согласитесь, выглядит гораздо лучше.
На этом пока все. Надеюсь, данный пример был вам полезен. Полный скрипт с подробными комментариями вы можете найти тут. Документацию по работе с файлами в AE Extendscript смотрите тут.
В предыдущей статье мы сделали основу модели для построения титров на сцене After Effects. Мы добавляем в проект сцену, или несколько сцен. Теперь нам надо добавить на сцену сами титры. Для того чтобы добавить титры, следует создать в макете AE модели, которые послужат нам для копирования.
Заходим в проект, где уже создана композиция ModelScene_1x1. В той же папке 1x1 создаем две композиции. Одну назовем ModelTitre_simple_1x1, другую ModelTitre_double_1x1.
Начнем с композиции ModelTitre_simple_1x1. Добавим ее в композицию ModelScene_1x1.
В самой ModelTitre_simple_1x1 мы создадим текстовое поле. Назовем его reference_text.
Нам надо задать анимацию нашему титру. Можно сделать это скриптом, но мы не можем предугадать какую анимацию захочет создать моушен-дизайнер. Тем более для такого рода задач и предназначен After Effects, так и оставим это ему. Наша задача привязать запуск анимации к точке входа титра на сцене, и ее завершение к точке выхода. Ключевыми кадрами это решить несколько затруднительно. На помощь нам придет Expression, язык схожий с Javascript, который интерпретируется во время рендера и возвращает в каждом кадре текущее значение свойства, в котором оно написано. Проще понять на примере. Поэтому раскрываем наш слой reference_text, В нем раскрываем группу свойств Transform, и выделяем свойство Position.
Далее переходим в меню Animation > Add Expression. У свойства Position появится поле Expression и в нем дефолтный код, просто возвращающий текущее значение.
Поменяем этот код на следующий:
Давайте посмотрим, что тут у нас происходит. В начале кода мы объявляем несколько переменных. Во первых мы находим ширину текстового поля. Для этого мы используем глобальную переменную thisLayer, указывающую на этот слой, и ее метод sourceRectAtTime, который возвращает нам прямоугольник текста в текущем кадре.
Далее определяем отступ титра от левого края сцены. Высчитываем начальное и конечное положение титров. Когда титры скрыты, их позиция минус ширина текста и еще минус отступ, на сцене титры должны стоять на расстоянии отступа от левого края.
Положение титров по оси Y фиксированное, и определяется текущим положением слоя
Далее мы указываем продолжительность анимации в секундах, и находим время появления композиции на сцене и время ее завершения. Это нам необходимо для того, чтобы высчитать время для финальной анимации.
Находя время мы обращаемся к композиции сцены по ее имени, ModelScene_1x1, другого способа обратиться к родительскому элементу нет. Находим на сцене слой с таким же именем, как и имя текущей композиции в проекте, thisComp.name. Затем сохраняем свойства inPoint и outPoint нашего слоя с титрами.
Подготовка завершена, теперь осталось выполнить саму анимацию. Сначала мы проверяем текущее время композиции, оно отсчитывается от 0. Если время меньше или равно animationTime, то логично предположить, что это время стартовой анимации.
Метод easeOut, возвращающий текущее положение слоя в зависимости от времени, принимает 5 обязательных аргументов.
time - время внутри данной композиции
startTime - время начала анимации, метод будет работать только если time >= startTime
endTime - время завершения анимации
startPosition - значение анимируемого свойства в начале анимации
endPosition - значение свойства по завершении анимации
Свойство position имеет два значения, X и Y. Оба значение хранятся в виде массива, где первый элемент, это значение X, а второй - Y.
Ну, а если время стартовой анимации прошло, то мы запускаем завершающую анимацию
Продолжительность титра - его точка выхода на сцене минус точка входа
Соответственно время старта анимации равно этому значению минус animationTime
Можете проверить анимацию, как внутри композиции с титром, так и на сцене ModelScene_1x1. Переместите титр на временной шкале, сократите его длительность, анимация подстроится под вашу настройку.
Давайте теперь сделаем то же со вторым титром, ModelTiter_double_1x1. Выложим его на сцену и войдем в него. Тут анимация будет несколько сложнее, мы будем анимировать две строки независимо друг от друга. И, как ни странно, для этого нам понадобится три текстовых слоя. Один мы назовем reference_text, два других strin_1 и string_2
Кликаем по слою reference_text правой клавишей и выбираем в контекстном меню пункт Guide Layer.
Слой становится техническим, и при рендере отображаться не будет. Нам он потребуется только для хранения текста, который будут читать и отображать слои string_1 и string_2. Для чего нам это нужно? Мы не знаем заранее сложность самого титра и какие слои в него вложены. Поэтому возьмем за правило, что в каждом титре есть слой с именем reference_text. Наш скрипт будет именно в этот слой копировать распарсенный текст, а все остальное мы оставим на волю макета.
Чтобы отобразить в строке нужную часть текста, нам снова поможет Expression. Выделяем свойство sourceText слоя string_1 и выбираем в меню Animation > Add Expression
Заменяем выражение на следующее
Мы разбиваем текст из слоя reference_text по разделителю перенос. Обратите внимание, что тут перенос обозначается как \r. Далее можно было бы просто вернуть refText[0], но чтобы код был универсален для обеих строк, мы выделим из имени слоя его id, и вернем элемент массива refText соответствующий этому id. Теперь мы можем скопировать это же выражение и в свойство sourceText слоя string_2. Таким образом текстом string_1 будет первая строка reference_text, а string_2 - вторая.
Теперь анимируем наши строки. Анимация будет почти в точности повторять анимацию титра simple, с той лишь разницей, что мы добавим в нее небольшую задержку. Вторая строка будет появляться с учетом этой задержки, а первая исчезать так же с ее учетом.
Добавляем свойству Position слоя string_1Expression и копируем туда код из текстового поля композиции ModelTitre_simple_1x1. Дополняем код объявлением переменной delay.
И вычитаем ее значение из финала анимации (первая строка будет уезжать на 0.3 секунды раньше):
Решить, как поступить с переменной delay в коде второй строки, оставляю вам для самостоятельной работы.
Теперь у нас есть макеты двух видов титров и все готово для того, чтобы выложить их на сцену. Но о том, как это сделать, мы поговорим в следующий раз.
Все Expressions из этой статьи вы можете скачать тут
Some Adobe extensions that worked in older AE versions won't work with newer AE 2022. In order to fix this, all you need to do is:
Go to your extension folder (located in "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions")
In your extension folder, locate the folder named "CSXS".
Inside it, you'll see a "manifest.xml" file. Open it in Notepad & find 'Execution Environment' section in the xml code. It'll look something like this :
All you have to do is just select this exact section and replace it with the following:
Now save the file as xml on your desktop (because you'll likely won't have necessary permissions to save it there).
Copy this modified 'manifest.xml' from your desktop to the "CSXS" folder
Restart AE 2022
Now you'll see the extension in the 'Window' menu as usual.
Note: Make sure you don't touch the other code in the XML other than 'ExecutionEnvironment'
If this works for you, please upvote so that it can reach other people. This could save a lot of unfinished projects.
Tested & working on Windows 10 & 11.
Similar method could 'theoretically' work on MacOS. If you do try it, let us know in the comments below
It actually worked for 2022 on an m1 laptop!
it shows now but it is not opening at all :(
trying to install Geolayers 3
Verify if you have "Allow access for Scripts to connect to internet" checked in AE -> Edit -> Preferences -> Scripting & Expressions.
If that is already enabled, then it's possible that the extension itself needs an update to make it compatible with AE 2022
Nice, saving this for later thanks. Upvoted
after trying this the extension now shows in the window but clicking it doesnt do anything, anyone know a fix
Which extension are you trying to get it work? I might be able to help you
I am also facing the same problem and to fix it, I reset my pc and reinstalled motion bro and after effetcs. after that clicking on the extension. motion bro was opened, effects were also being used but . after some time. after effect crash so i opened it again and then same problem exist.. motion bro extension is not opening Anyone have a permanent solution?
It works great. Nice post at the right time. Works in 2021 too.
Any thought on how to make kbar 2.0.2 work in AE 2022? It appears in panels but is empty and all black. Flow works perfectly, thanks. Upvoted!
i think i might have accidentally messed up some of the other xml code. is there any way to reset all of the code, so i can do it again without messing up? thanks
scratch that - luckily i had a tab open on word pad containing the original xml code. now it works perfectly. ty so much
Thanks, it worked perfectly, I've tried to fix it for 3 hours :/ Such a random bug.
YOU ARE GOD. Thank you for the fix. It is working, even in AE 2021. UPVOTED!
Worked like a charm. Thank you
Dude, You save my life, I owe you a cold beer.
Now I can see the extension, but clicking it doesn't do anything, anyone know a fix it? I working with Mac M1.
Close AE, open terminal on your Mac and type each command line by line and press enter after each line
Alternatively, if you know your AE version, you can only type the corresponding line (for example: AE 2021 is CSXS 11 and so on)
After you do this, try restarting AE (or even your pc once) and try opening the extension again.
People sometimes reported that an alternative command also worked for them, I'm pasting it below if the above method doesn't work:
Change the CSXS number in the above line from 12 to 5 and try it.
If it still doesn't work, may the the extension itself needs an update from the developer for it to work with the newer version of AE.
Please let us know in the comments if this worked for you, so it could help others.
помогите пожалуйста,зависла программа на рендеринге,и теперь невозможно закрыть вкладку,кнопки в программе также зависли,а с другими вкладками все прекрасно,но именно after effects не получается закрыть. Перезагрузка не помогает.
Никита, Не знаю как на CC20 у меня восемнадцатая, но думаю то же самое.
Открой окно настроек Edit > Preferences > General и поставь галочку. См. изображение.
Никита, я же сказал. Ищите в другой категории. В 2019 она уехала в scriptsing&expressions судя по статье на форуме adobe help
Подскажите, может быть кто сталкивался, установил Дьюик, всё как надо, скопировал только скрипт.
Дал разрешения необходимые. Запускаю появляется следующая ошибка(см. Приложение)
Я уже сносил и Дьюик и временные файлы от него. Уже сносил АЕ. Устанавливал заново. Ошибка повторяется. В интернете все указанные способы перепробовал. Ошибки с конкретной строкой я не смог найти.
Помогите пожалуйста.
АЕ 2020 версия 17.1.4
Rotw, Добрый день! У меня такая же ошибка появилась в AE 2020 при установке Duik Bassel.2. Проделала всё то же самое, но ничего не помогло(
Читайте также: