after effects скрипт пружина
After effects скрипт пружина
ребят, предлагаю сюда скидывать различные интересные экспрешшоны и пояснения к ним) мельком пролистал 87 тем и вроде не увидел аналогичной темы. а тема интересная блин! expressions значительно упрощают задачу и ускоряют работу, делают результат гораздо динамичней и красивей. короче плюсов дофига, минусов нету)
начну пожалуй с самого популярного экспрешшона рунета, автором которого является Тимур Константинов. вот скрипт:
вот ссылка на несколько полезных выражений
вот те,которыми я пользуюсь:
Для оси X:
Math.cos(S*time)*360
Для оси Y:
Math.sin(S*time)*360
Для колес эволюции и оси Z:
time*S
amp = 15; //amplitude (pixels)
freq = 10; //frequency (cycles per second)
end = 0;
j = 0;//переменная, необходимая для проведения цикла и дальнейшей проверки значений
Полезные выражения (Expression) в After Effects
Полезные выражения (Expression) в After Effects.
Выражение (Expression) AutoFade в After Effects (применяем к opacity)
Выражение (Expression) для таймера обратного отсчета в After Effects (применяем к Source Text)
Выражение (Expression) затухающих колебаний в After Effects
Выражение (Expression) в After Effects для Time Remap
Выражение (Expression) в After Effects для вращения с постоянной скоростью без ключевых кадров
Выражение (Expression) в After Effects для движения по спирали (применяем на position)
Выражение (Expression) в After Effects для перемщения с постоянной скоростью без ключевых кадров
Выражение (Expression) Wiggle в After Effects
Wiggle выражения хаотичного изменения значения. Это выражение может использоваться, чтобы сделать вашу сцену более органичной и естественной.
Первая цифра – количество сдвигов в секунду, а второе число – значение покачивания.
Выражение (Expression) Time в After Effects
Выражение Time идеально подходит для объектов с бесконечным движением. Например, если вы хотите, чтобы объект вращался бесконечно, вы можете просто добавить слово time в качестве параметра вращения, и ваш объект будет вращаться на 1 градус на длине всей композиции. Параметр времени также работает с основными математическими уравнениями, поэтому если вы хотите, чтобы слой вращался в 30 раз быстрее, вы можете просто написать выражение time*30.
Выражение (Expression) loopOut в After Effects для цикличной анимации
Цикличная анимация. Выражению loopOut() требуется наличия ключевых кадров. Так что если у вас есть слой, который вращается по кругу в течение 1 секунды, вы можете добавить выражение loopOut(), и движение будет повторяться зациклено.
Выражение (Expression) seedRandom в After Effects для рандома (случайности)
Выражение (Expression) Math.round в After Effects для рандома (случайности)
Math.round() – это выражение, округляющее десятичные числа до ближайшего целого числа. Он идеально подходит для выполнения обратных отсчетов или цифр в исходном тексте. Просто добавьте свое исходное выражение в круглую скобку выражения Math.round() в поле выражения source text, и все ваши числа будут округлены.
Выражение (Expression) Snap Zoom In/Out в After Effects
Применяем на текст. Применяем на Scale параметр. Это выражение создает масштабирование слоя в начале и конце слоя.
Если ты используешь ось Z, то примени это выражение
Выражение (Expression) Y Axis Jitter в After Effects
Создает случайное неустойчивое движение по оси Y. В переменную pos, пишем значения для определения силы Jitter.
Затухающие «Bounce» expressions в AE
Разнообразные «bounce» выражения в After Effects.
Inertial Bounce.
Очень распространенный эффект «отскока», который можно записать в виде выражения:
Элемент к которому необходимо привязать данный экспрешн,переводим в 3д слой. Затем перемещаем его anchor point в то место, где будет его «центр тяжести», то есть откуда будет идти вращение. В моем случае это самый верх слоя (текст). Также создаем ключи вращения (в моем случае X rotation от 90 до 0) и в этот X rotation дописываем выражение Inertial Bounce. Также можете создать свет (Light) в композиции для еще более натурального вида анимации.
Decay Bounce.
Еще один вид отскока, на этот раз «от земли». Со следующим выражением:
veloc = thisComp.layer(«Control Layer»).effect(«velo control»)(«Slider»);
amplitude = thisComp.layer(«Control Layer»).effect(«amplitude control»)(«Slider»);
decay = thisComp.layer(«Control Layer»).effect(«decay control»)(«Slider»);
Better Bounce.
Очень простое выражение, которое можно записать в виде:
Это выражение можно добавить к любому из параметру transform, главное аккуратнее подбирайте частоту отскока (freq) так как оно основано на fps проекта.
Баскетбольный мяч.
Еще одно популярное выражение имитирующее отскок баскетбольного мяча. Выражение к позиции следующее:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 100; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
Затухающие «Bounce» expressions в AE
Разнообразные «bounce» выражения в After Effects.
Inertial Bounce.
Очень распространенный эффект «отскока», который можно записать в виде выражения:
Элемент к которому необходимо привязать данный экспрешн,переводим в 3д слой. Затем перемещаем его anchor point в то место, где будет его «центр тяжести», то есть откуда будет идти вращение. В моем случае это самый верх слоя (текст). Также создаем ключи вращения (в моем случае X rotation от 90 до 0) и в этот X rotation дописываем выражение Inertial Bounce. Также можете создать свет (Light) в композиции для еще более натурального вида анимации.
Decay Bounce.
Еще один вид отскока, на этот раз «от земли». Со следующим выражением:
veloc = thisComp.layer(«Control Layer»).effect(«velo control»)(«Slider»);
amplitude = thisComp.layer(«Control Layer»).effect(«amplitude control»)(«Slider»);
decay = thisComp.layer(«Control Layer»).effect(«decay control»)(«Slider»);
Better Bounce.
Очень простое выражение, которое можно записать в виде:
Это выражение можно добавить к любому из параметру transform, главное аккуратнее подбирайте частоту отскока (freq) так как оно основано на fps проекта.
Баскетбольный мяч.
Еще одно популярное выражение имитирующее отскок баскетбольного мяча. Выражение к позиции следующее:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 100; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
Блог о моушн-дизайне
Собрал список выражений для АЕ, которые упрощают мне работу. Совсем простых в стиле loopOut() или wiggle (.4,6) здесь не будет, но и ничего экстрасложного тоже.
Своих экспрешнов здесь всего парочка. Большинство я брал откуда-то и переписывал по чуть-чуть под себя, так что, у чужих экспрешнов поставлю ссылку на авторов.
Плашка за текстом
Создать шейповый квадратик, а сверху отдельным слоём добавить текст;
Применить к параметру size у шейпа:
Если текст в несколько строк, то к position у шейпа добавьте этот экспрешн. Без него тоже всё будет работать, но придётся вручную подгонять позицию плашки за текстом.
К остальным экспрешнам
Анимируемый wiggle
Простой способ заанимировать wiggle. Используем для этого два слайдера: первый отвечает за частоту, второй за амплитуду. Анимировать лучше только амплитуду.
Добавить эффект Slider Control на слой с экспрешном и продублировать его. Применить к любому параметру:
Цикличный wiggle
Благодаря этому экспрешну, wiggle начинается и заканчивается в одной и той же точке.
Если вдруг цикл не работает, то это скорей всего из-за того, что луп не успевает прийти в изначальное состояние за отведённое время. Просто сделайте loopTime побольше или freq почаще
Прикрепить шейп к одной стороне
Применить к position, изменять size у шейпа:
Риг для катящегося круга и квадрата
Катящийся круг
Применить к rotation, анимировать position:
Катящийся квадрат
Работает как с шейпами, так и со слоями и композициями. Если квадрат катится неправильно — изменить значение Slider Control.
Добавить на слой с экспрешном эффект Slider Control;
Применить к position, анимировать rotation:
На основе экспрешна от Mikey Borup
Ежесекундные ступенчатые повороты
Замена time*n. Только вместо плавного поворота — ступенчатый. Чаще всего пригождается, чтобы сделать анимацию секундной стрелки, шестерёнок или других похожих механизмов.
Применить к rotation:
Управляемые ступенчатые повороты
Практически то же самое, что и выше. Но с чуть большим количеством настроек.
Применить к rotation:
Постоянный масштаб при скейле
Если привязать один объект к другому и начать скейлить родительский, то оба слоя будут увеличиваться. Этот экспрешн не даёт дочернему слою изменять масштаб, он просто будет двигаться по позишну.
Применить к scale слоя, у которого должен быть постоянный масштаб:
Переключатель по чекбоксу
Меняет одно значение параметра на другое по нажатию на чекбокс.
Добавить эффект Checkbox Control на слой с экспрешном;
Применить к любому параметру:
Луп для шейпов
Обычный loopOut() не работает с шейпами, но зато работает этот экспрешн.
Применить к path у шейпа:
Range Mapper
Добавить эффект Slider Control на слой с экспрешном;
Применить к любому параметру:
Обводка независимая от скейла
Сохраняет постоянную обводку у шейпов при изменении масштаба.
Применить к «Stroke Width» у шейпа:
Счётчики
Почему-то часто использую счётчики в анимациях, поэтому здесь будет подборка сразу из шести. Сначала три самых простых.
1) Обычный счётчик
toFixed(1) — количество цифр после запятой;
Добавить эффект Slider Control на слой с экспрешном;
Применить к «Source Text» у текста:
2) Счётчик с запятыми вместо точек
Полезно в анимациях для неанглоязычных стран, где используется запятая в качестве десятичного разделителя вместо точки. Если нужен похожий сетап с большим количеством настроек, то он вот здесь.
3) Счётчик с дополнительными знаками
4) Счётчик с заменой 1 на 001
При zerosAmount = 3 счёт будет идти вот так: 000, 001 … 011 … 111.
5) Счётчик с разрядами
Заменяет 500000 на 500 000.
6) Счётчик для больших чисел
Счётчик, привязанный к Slider Control, не идёт дальше 1 000 000. Поэтому если нужны большие числа — приходится использовать эффект Angle Control.
Добавить эффект Angle Control на слой с экспрешном;
Применить к «Source Text» у текста:
Пара мелочей
И, под конец, 4 полезных мини-выражения, которые часто пригождаются.
1) Привязка к слою выше или ниже
Это не полноценный экспрешн, а только его часть. Вместо того, чтобы привязывать один слой к другому напрямую, иногда удобнее привязывать к слою, который стоит выше или ниже, слоя с экспрешном.
index+1 — если нужна привязка к слою ниже
2) Постоянно ускоряющиеся повороты
Попробуйте добавить к rotation:
3) Ключи для time*n
Добавляет постоянное движение, но оставляет возможность ставить ключи.
4) Привязка эффекта к слою
Чтобы Gradient Ramp не слетал при перемещении слоя, добавьте этот экспрешн на Start и End:
Похоже, это все выражения, которыми я пользуюсь на постоянной основе. Всего получилось 23.
На всякий случай, собрал их в проект и прикрепил к статье.