uz
Feedback
Скептическая рысь

Скептическая рысь

Kanalga Telegram’da o‘tish

Очевидное и невероятное про Аfter Effects. VK версия: https://vk.com/ae_lynx

Ko'proq ko'rsatish
Mamlakat belgilanmaganToif belgilanmagan
2 061
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
Elastic Comp Changer Добавляет или удаляет кадры посреди композиции сдвигая ключи и края слоёв. В том числе внутри прекомпозов.

Изменить соотношение сторон Плагин Atomic Stretch ($0) позволяет растянуть футаж "по-умному". С указанием сейф зоны и всё такое. Настройки понятные, но есть тутор на русском.

Искал про анимацию типографики, а наткнулся на крутую лекцию про шрифты. Фанат шрифтов харизматично рассказывает про типы шрифтов и как они появились. Много примеров использования. В начале ответ на "зачем менять лого на три пикселя?", а к концу еще и немного понимаешь как это работает. Если вам неинтересна типографика, то смотреть чертовски увлекательно.

Порезать слой на отдельные слои SplitImage ("Free") rd: Slicer (Free) Divide & Corner ($20) Swiss Knife ($60)
Порезать слой на отдельные слои SplitImage ("Free") rd: Slicer (Free) Divide & Corner ($20) Swiss Knife ($60)

Давно хотел подтянуть написание скриптов. Недавно 2RogerThat сделал курс, да всё времени не было. Сейчас наконец начал изучать, поэтому надеюсь вскоре буду радовать вас еще и скриптами. Если вам тоже часто хочется что-то автоматизировать, то присоединяйтесь - январское затишье отличное время для изучения нового. По промокоду newyear скидон 10%. (Если моего мнения недостаточно, то курс даже Скавинский и Никита Шилов (Nix-Studio-Edition) одобрили)

Path можно привязывать начиная с CC18, если что.

Генератор снежинок Два Repeater'а поверх Path'а привязанного к Null'ям с за'wiggle'нными Position'ами (вот это плотность терминов) и бесконечные снежинки готовы. Несложно, но каждый год заново это делаю, решил добавить.

Удобно сократить количество копипастов подготовив слои этим выражением.

Вернуть конкретную строку
line = 2;
textLayer = thisComp.layer("Text");

try {
    textLayer.text.sourceText.split(/\n|\r/)[line - 1];
} catch (err) {
    ""
};

Там математик @huempolbu_evrd творит интересные штуки в АЕ. И иногда с помощью мата объясняет как именно. Только канал грязно ведёт, но я уже ткнул его — может исправится.

try {
    m = thisLayer.marker; //замени на thisComp.marker для триггера на маркеры композиции, а не маркеры слоя

    firstKeyTime = thisProperty.key(1).time; //время первого ключа
    lastKeyTime = thisProperty.key(thisProperty.numKeys).time; //время последнего ключа

    n = 0;
    //ищем ближайший маркер слева:
    if (m.numKeys > 0) { //если маркеров больше 0
        n = m.nearestKey(time).index; //номер ближайшего маркера
        if (m.key(n).time > time) n--; //если время ближайшего маркера больше текущего времени, то берем предыдущий маркер
    }
    //зкончили искать ближайший маркер слева

    if (n > 0) { //если мы нашли маркер слева, то:
        inMarker = m.key(n).time; //начало маркера
        markerDuration = m.key(n).duration; //длительность маркера
        markerMid = inMarker + markerDuration / 2; //середина между началом и концом маркера (точка, где анимация развернется)
        outMarker = inMarker + markerDuration; //конец маркера

        if (markerDuration == 0) thisProperty.valueAtTime(firstKeyTime + (time - inMarker)); //если обычный маркер, то проигрываем анимамацию начиная с первого ключа:
        else { //в противном случае (т.е. когда маркер растянут)
            if (time <= markerMid) thisProperty.valueAtTime(firstKeyTime + (time - inMarker)); //если мы в первой половине текущего маркера, то проигрываем анимамацию начиная с первого ключа
            else thisProperty.valueAtTime(firstKeyTime + outMarker - time); //если мы во второй половине текущего маркера, то проигрываем анимамацию в обратную сторону, начиная с положения "до куда успели за половину маркера" 
        }
    } else thisProperty.valueAtTime(firstKeyTime); //до первого маркера показываем значение из первого ключи (замени на "value" если хочешь чтоб показывало анимацию ключей)
} catch (e) {
    value //если нет ключей (или еще какая фигня), то просто value
}

В данном примере выражение прописано в Fill и в Slider Control, который является множителем для обычно зацикленного Scale. Т.е. в скейле типа [80, 80] + loopOut("cycle")*slider а слайдер проанимирован от 0 до 1 и привязан к маркеру. Таким образом мы реверсируем не анимацию сердца, а анимацию множителя.

Вот этот мальчик должен большую часть времени мяться в уголке, но иногда увеличиваться, да еще и с идеей. Удобно привязать Scale мальчика и Scale лампочки на маркер композиции.

Удобно расставить маркеры только в моменты событий, вместо того, чтоб плодить ключи или слои.

cycle и pingpong по маркеру Запускает анимацию на каждом маркере. А при растянутом маркере (растянуть можно зажав Alt) запускает анимацию от старта маркера и отзеркалит начиная с середины, чтоб к концу маркера закончить анимацию.

Скрипт бесплатный и опенсорс. Свежую версию и контакты автора можно найти на github.

А еще в нём есть встроенный js beautifier. Теперь можно не заходить на beautifier.io.

Применить выражение к нескольким слоям Скрипт quickExp позволяет в один клик применить выражение к нескольким слоям. Также умеет массово отключать/включать и удалять выражения.

Удалить ненужные композиции В окне Project выделяем композиции, которые хотим оставить и нажимаем File - Dependencies - Reduce Project Композиции, используемые в выделенных можно не выделять.

Записал объяснение как работает linear(), используя полезные примеры. С тонкостями, которые не рассказывают другие. Оказывается говорить на аудиторию, даже "неживую", волнительно, но я старался