Меню

Adobe after effects счетчик



Видео уроки для After Effects от AEplug

форум для общения, ваших вопросов и моих ответов

Текущие версии программ: After Effects CC 2020 v17.5.1 Premiere Pro CC 2020 v14.6

Популярные темы Важные темы
  • Как сделать красивый чат YouTube на стриме в OBS Studio. Без лев.
  • Платная консультация у AEplug
  • Настройка микрофона и обработка голоса для стрима с помощью VST .
  • After Effects уроки для начинающих на русском от AEplug
  • Красивые часы, таймер, счетчик для стрима в OBS Studio без фонов.
  • NVENC кодирование — Ускоряем рендер в 264 в 4-10 раз
  • Подборка: Частые и распространенные ошибки, проблемы, глюки и баги After Effects. И что с ними делать?
  • Экспорт формата MP4 (H.264) из After Effects CC новых версий 2015, 2017, 2018, 2019, 2020 года
  • Где бесплатно достать музыку и звуки для озвучки своих видео работ. Список сайтов.
  • Как я записываю видео уроки с экрана
  • Увеличение скорости рендера композиции в After Effects. Подборка уроков и советов для ускорения работы.
  • Список самых полезных горячих клавиш в Adobe After Effects (shortcuts и hotkeys) с примерами +видео

Генерирование текста со случайными цифрами с помощью выражений в After Effects

Генерирование текста со случайными цифрами с помощью выражений в After Effects

Сообщение #1 aeplug » 25 май 2016, 03:36

toFixed(количество цифр после десятичного знака)

posterizeTime(частота изменений в секунду)

seedRandom(seed, timeless = false)

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

Так же в группе случайных функций вы может заметить еще несколько вариантов:

  • gaussRandom()
  • gaussRandom(maxValOrArray)
  • gaussRandom(minValOrArray, maxValOrArray)

От обычного random() они отличаются гауссовым распределением (Нормальное распределение — Википедия) при генерации. Примерно 90% результатов будет находится в диапазоне 0–1, а оставшиеся 10% вне этого диапазона (так написано в документации у Adobe).

Источник

Эксперименты с выражениями в Adobe After Effects 6.0

Эта статья, является большей частью вольным переводом новой статьи Дэна Эббертса, вперемешку с моими собственными идеями. К статье я приложил файл с примерами (примеры сделаны не ко всем пунктам статьи, а только к тем, которые, по-моему, мнению могут вызвать затруднения).

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

Но обо всем по порядку.

Новый синтаксис

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

Все объекты, методы и свойства, состоящие из нескольких слов теперь не нужно разделять при помощи разделителя «_» (например, audio_levels). Теперь это все представлено в «interCaps» формате. Например, audio_levels, теперь выглядит так — audioLevels.

Вместо кавычек типа » теперь можно использовать и одинарные.

Старый синтаксис по заявлению разработчиков тоже будет работать, но предпочтительнее использовать новый.

Улучшеннный wiggle()

Теперь можно настроить колебания wiggle() при помощи seedRandom(). Дело в том, что seedRandom() меняет значения, получаемые с помощью wiggle(), даже при одинаковых настройках последнего. Изменяя seedRandom(), при неизменном wiggle(), мы каждый раз будем получать совершенно различные значения. Посмотрите на следующие выражения:

seedRandom(13);

wiggle(3,35)

wiggle(3,35)

Хотя, в обоих случаях wiggle() постоянный, но значения выражения будут совершенно разными, благодаря seedRandom().

Однако, учтите, что wiggle() игнорирует параметр timeless seedRandom(seed, timeless=false). Он равен false по умолчанию.

Если вы хотите удерживать постоянное значение wiggle() на определенное количество кадров, то вы можете воспользоваться новой полезной функцией posterizeTime().

posterizeTime()

Аппарат выражений в AE 6.0 получил новую функцию posterizeTime(). С ее помощью вы можете управлять скоростью анимации. Например, значение wiggle() будет меняться пять раз в секунду в следующем выражении:

posterizeTime(5);

wiggle(5,35)

Конвертирование аудио в ключевые кадры

Это довольно интересный новый ассистент ключевых кадров («Convert Audio to Keyframes»). Он создает нулевой объект, называемый по умолчанию Audio Amplitude. Этот слой содержит три анимированных эффекта slider. Первый из них отображает в ключевых кадрах изменения громкости в левом канале, второй в правом, а третий в обоих каналах сразу. Вы можете теперь извлечь значения из этих эффектов с помощью выражений и применить к какому-то свойству. То есть сделать то, что раньше делалось в motion math с помощью скрипта layeraud. И соответственно изменению уровней громкости будут меняться свойства, которые извлекают значения из sliderов.

Читайте также:  Как убрать удалить счетчик

В примере, изображенном на иллюстрации, мы используем Convert Audio to Keyframes для того, что бы слой medium cyan изменял размеры в зависимости от уровня в правом канале, а слой medium yellow в зависимости от уровня в левом канале. Выражения простейшие…

Да кстати, если вы не находите motion math там, где привыкли его видеть в АЕ5.5Keyframe Assistant), то не пугайтесь. Где-то в help по скриптам в АЕ6.0, я прочитал, что по умолчанию motion math в шестой версии не устанавливается (учитесь, дескать, господа сами скрипты писать). Но, установка его в AE не представляет никаких проблем. Для этого просто перенесите файл MotionMath.AEX из папки After Effects 6.0’Support Files’Plug-ins’Professional’Keyframe Assistant'(MotionMath) на уровень выше, то есть в After Effects 6.0’Support Files’Plug-ins’Professional’Keyframe Assistant. Ну и заодно файлы языковой поддержки, если хотите использовать поддержку немецкого, французского или японского языков.

Текст

Все, кто попробовал новую версию AE, первым делом отмечали появление инструмента text. Наконец-то, говорили они, adobe пошевелился и внял многочисленным просьбам пользователей и создал хороший текстовый инструмент. Хотя, на днях я полазил по конференциям посвященным АЕ, и в общем то не все так гладко с этим инструментом, как выяснилось. Замечу, что лично, меня не одна из перечисленных там проблем не коснулась.

Инструмент text имеет достаточно большое количество настроек, и преимущества в удобстве работы по сравнению с text effect (который остался в наборе и бросать его окончательно, видимо, не стоит).

С помощью выражений и этого нового инструмента мы можем добиться весьма и весьма интересных эффектов.

Для начала создадим текстовый слой. Для этого мы можем пойти в меню layer>new>text (ctrl+alt+shift+t) или же просто щелкнуть инструментом «T» на нашей композиции. Обратите внимание, что вы можете создать как вертикальный, так и горизонтальный текст. Для этого кликните левой кнопкой мыши на «T» и подержите. Появиться выбор horizontal type tool или vertical type tool. Выберите horizontal type tool. Введите любое слово. Абсолютно все равно, какое. Я написал «hello world».

Теперь добавим выражение для свойства source text (текстовый слой > группа свойств text > свойство source text).

Начнем изучение возможностей выражений для управления свойствами текста. По умолчанию в поле выражений у нас появилось text.sourceText. Это значит, что текст, который мы ввели, остается без изменений и ничего с ним не происходит. А теперь давайте введем в поле выражений position[0]. Теперь у меня, вместо «hello world», появилась цифра 124 (значение координаты X текстового слоя). Если вы анимируете текстовый слой, то будет меняться сам текст, отображая значение X координаты в момент времени.

А сейчас давайте поговорим о том, что представляет, из себя в Java Script текстовая строка и буквы в ней. Текстовая строка в Java Script является массивом, включающем в себя последовательность букв. Каждая буква имеет свой индекс. Пробел игнорируется (то есть в слове он присутствует, но индекса не имеет). Индексирование начинается с 0.

Давайте разберем это на примере.

Имеется следующее выражение:

s=»Hellow world»;

s[1]

Первой строкой мы вводим переменную s, которая равна «Hellow world». Она является, по сути своей массивом, из которого мы во второй строке извлекаем букву, имеющую индекс 1. Это буква «е». Она то и будет выведена на экран.

Java Script поддерживает сложение строк. Например, итого выражения «Hellow»+»World» будет вывод на экран HellowWorld.

JavaScript поддерживает большое количество строковых свойств и методов. Большей частью они, к сожалению, в АЕ не поддерживаются.

Читайте также:  Счетчик электрический трехфазный меркурий 200

Я приведу здесь все найденные мною поддерживаемые свойства и методы, что бы вам, не пришлось копаться в книгах. Но вообще-то, учебничек по Java, я бы порекомендовал под рукой иметь… По причине того, что Adobe все расширяет поддержку скриптов в AE. Так что неизвестно, что версии нам новые готовят.

Строковые свойства и методы

Свойства
Length — отражает длину строки

Методы

Для начала посмотрите на строковые методы, которые я нашел в справочнике по JavaScript.

anchor , big, blink, bold, charAt, fixed, fontcolor, fontsize, indexOf , italics, lastIndexOf, link, small, strike, sub, substring, sup, toLowerCase, toUpperCase, fromCharCode

Я попробовал их все, но реально в АЕ работают следующие:

fromCharCode() – извлекает символ по индексу из шрифтового набора

toUpperCase() – переход в верхний регистр

toLowerCase() – переход в нижний регистр

Это связано с тем, что большинство методов предназначены для web. А в АЕ имеется лишь ядро и встроенные объекты, но никак не вся мощь Java для броузеров. Ошибку АЕ правда при их использовании не выдает, но ничего кроме надписи «использован метод такой-то» получить не удается.

А теперь примеры на свойства и методы.

Данное выражение извлекает длину строки и выводит ее на экран вместо нашего текста:

s = ‘hellow world’;

s.length

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

String.fromCharCode(90) + String.fromCharCode(49) + String.fromCharCode(50)

Если вы используете символ «‘r» в строке, как здесь «abcd’refgh», то ваша строка будет в этом месте закончена и начата новая:

abcd

efgh

А сейчас давайте создадим, что-то более сложное. Например, сетку из шестнадцатиричных символов размером 8*4 символа. Символы будут меняться(что-то типа эффекта Numbers). Для этого в поле ввода выражений впишем следующее:

numRows = 4;

numChars = 8;

holdFrames = 5;

seed = Math.floor(time/(holdFrames*thisComp.frameDuration));

seedRandom(seed,true);

s = «»;

j = 0;

while(j 57) c += 7;

s += String.fromCharCode(c);

k += 1;

s += «‘r»;

j += 1;

s

Давайте разберем его.

Первые три строки определяют размеры сетки, и то, через какое время будет происходить смена символов. Следующие две строки обеспечивают случайную смену символов через каждые 5 кадров. Переменная s содержит нулевое значение (пока нулевое). Это выражение включает два цикла. Внешний цикл формирует нашу сетку. А внутренний генерирует смену символов. А на выходе все это подставляется в нашу переменную s.

Время разделять

Еще один строковый параметр split(). Разберем его на примере.

s = «honesty,integrity,loyalty,compassion,empathy»;

s.split(«,»)[2]

Задана переменная s, равная текстовой строке «honesty, integrity, loyalty, compassion, empathy». Нам нужно извлечь слово loyalty. Для этого используем split().

s.split(«,»)[2] обозначает, что будет извлечено слово после второй запятой.

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

holdTime = 1.0; // время задержки

s = «honesty,integrity,loyalty,compassion,empathy»; // переменная с текстом

j = Math.floor(time/holdTime); // переменная, возвращающая ближайшее целое число,

» меньшее или равное аргументу time/holdTime

s.split(«,»)[j] // будет отображать слово после точки номер, которой будет равен j

Обратите внимание, слова будут меняться только первые 5 секунд. Поэкспериментируйте сами, что бы получить другой результат.

Давайте порисуем

Еще одно нововведение в АЕ6, сразу бросающееся в глаза – это более тесная интеграция инструмента рисования в программу.

Для рисования два раза щелкните левой кнопкой мыши на нужном вам слое и выберите инструмент рисования. Сделайте один завиток. Во теперь можно и выражение добавить.

Добавьте выражение на свойство stoke end.

freq = 0.5;

50*(1-Math.cos(freq*time*Math.PI*2))

Будет происходить достаточно интересная прорисовка.

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

if (index linear(index,9,12,[1,1,0,1],[0,1,1,1])

А теперь добавьте на rotation свойства stroke:

(index-1)*30

Последним шагом дублируйте наш слой 11 раз и получите конечную анимацию.

Выражения и новый инструмент (эффект) Liquify

Этот новый эффект позволяет получать очень интересные и органичные имитации жидкости. Давайте, применим его на любом понравившемся вам изображении, и создадим какие-то искажения. Теперь применим на свойстве Distortion Persentage выражение

Читайте также:  Мосэнерго вакансия контролер счетчиков

freq = 0,6; // переменная, определяющая частоту обновления свойство

(1-Math.cos(freq*time*Math.PI*2))*50 // определяет величину свойства по текущему времени

Работа с трэкером

В АЕ6.0 появились изменения в аппарате трэкинга, позволяющие с большим удобством манипулировать данными трэкинга с помощью выражений.

Приведу пример, когда нужно сделать «рой» цветных точек кружащихся вокруг головы дельтапланериста.

У нас имеются следующие слои: видео с дельтапланеристом и слои с цветными точками. Будем трэкать точки к видео. Далее я опишу методику для одного слоя. Для остальных слоев все будет идентично.

Перед тем, как начать трэкинг-анализ примените выражение к параметру Attach Point точки трэкинга:

L= thisComp.layer(«Comp 1»);

masterPos = L.motionTracker(«Tracker 1»)(«Track Point 1»).attachPoint;

masterPos + wiggle(4,45) – position

Теперь трэкайте и получите «рой» точек вокруг дэльтапланериста.

Ну, вот собственно и все. Пробуйте шестую версию сами, и вполне возможно вам удастся раскопать что-то еще. Желаю успехов.

Источник

Adobe after effects счетчик

Форум / Основы AE / как правильно(точно) настроить счетчик через slider control

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений 5

1 Тема от РеальноеИмя Сергей 12.11.2019 18:07:14 (12.11.2019 18:13:06 отредактировано РеальноеИмя Сергей)

  • РеальноеИмя Сергей
  • Участник
  • Offline
  • Зарегистрирован: 15.10.2019
  • Сообщений: 18
  • Тема: как правильно(точно) настроить счетчик через slider control

    Доброго времени суток. Подскажите пожалуйста, как правильно настроить slider control? У меня в композиции каждые 7 секунд меняется число (счетчик, сделанный через slider control). Предположим композиция идет 49 секунд. Я хотел, что бы счетчик считал от 1 до 7, каждые 7 секунд прибавляя к числу 1. То есть нулевая секунда число 0, 7я секунда -1, 14я секунда — 2 и тд до 49й секунды и числу 7.
    Выражение использовал такое: Math.round(effect(«Slider Control»)(«Slider»))
    Но вот незадача, число округлялось уже на 51й сотой 4йсекунды и получалось что счетчик ставил число 1 уже где то на 4й секунде а не на 7й как мне надо.
    Я поменял выражение на это: Math.floor(effect(«Slider Control»)(«Slider»))
    Счетчик начал считать, но теперь уже с опозданием. Ставил число 1 не ровно на 7й секунде а позже. Потому что число округлялось в меньшую степень.
    Попробовал так же добавлять рандомные значения к выражению, например:
    Math.floor(effect(«Slider Control»)(«Slider»)+0.03) что бы счетчик округлял в нужную мне, меньшую, сторону в тот момент, когда мне это надо, то есть ставил 1 на 7й секунде.
    И я уже обрадовался, но посмотрел что происходит дальше и расстроился, потому что дальше счетчик опять сбивается, причем чем дальше по времени тем больше сбивается.
    Как сделать, что бы счетчик считал точно и без лишних чисел? Без задержек и опозданий. Что бы он не округлял как бы, а учитывал только целые числа. То есть на 7й секунде он мне поменял значение на 1 (ни позже ни раньше), на 21й на 3 , на 49й на 7 и тд.

    p.s не считая того варианта, что можно настраивать ключевые кадры каждые 7 секунд вручную
    Если видео 49 секунд и нужно каждые 7 секунд настроить, это не сложно. Ну а если видео 5 минут идет и надо каждые 2 секунды менять? Я надеюсь можно как то автоматизировать процесс. То есть поставить 2 ключевых кадра ( в начале и конце) и вот прописать какое то правильное выражение. Я как то так это представлял.

    2 Ответ от iskovich-v 12.11.2019 23:48:56

    • iskovich-v
    • Участник
    • Offline
    • Зарегистрирован: 10.02.2016
    • Сообщений: 1,644
    • Re: как правильно(точно) настроить счетчик через slider control

      Пока дочитал до конца — забыл с чего все начиналось.

      То есть поставить 2 ключевых кадра ( в начале и конце) и вот прописать какое то правильное выражение. Я как то так это представлял.

      3 Ответ от РеальноеИмя Сергей 13.11.2019 01:41:07

      • РеальноеИмя Сергей
      • Участник
      • Offline
      • Зарегистрирован: 15.10.2019
      • Сообщений: 18
      • Re: как правильно(точно) настроить счетчик через slider control

        Пока дочитал до конца — забыл с чего все начиналось.

        Я не умею объяснятся кратко)
        Спасибо большое! То что надо

        Источник