Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → loopOut в After Effects: циклическая анимация

loopOut и loopIn в After Effects: типы циклов и типовые ошибки

Как зациклить анимацию в After Effects: выражение loopOut, типы cycle, pingpong, offset и continue, loopIn, зацикливание видео через Time Remapping и почему появляется пустой кадр.

loopOut и loopIn в After Effects: типы циклов и типовые ошибки

Анимация сделана, но нужно, чтобы она повторялась.

В After Effects это решается одной строкой выражения — если понимать, что именно она повторяет.

Что делает loopOut

Документация: loopOut продолжает движение свойства за пределами последнего ключа.

Он берёт закономерность между ключами и повторяет её дальше по времени.

Практика: без ключей выражение бесполезно: повторять нечего.

Как добавить

Практика: последовательность такая.

Поставьте минимум два ключа. Затем с зажатым Alt (Option на macOS) щёлкните по секундомеру свойства — откроется поле выражения.

Практика: впишите loopOut() и нажмите Enter. Дальше можно уточнять параметры в скобках.

Типы

Практика: типов четыре.

cycle повторяет отрезок между первым и последним ключом. pingpong идёт вперёд-назад. offset повторяет с накоплением смещения. continue продолжает движение с последней скоростью.

Практика: для вращения подходит offset, для маятника — pingpong.

cycle

Практика: самый частый вариант.

Повтор начинается с последнего ключа и идёт до следующего цикла.

Практика: если начало и конец не совпадают, на стыке будет рывок. Это не ошибка выражения, а ошибка анимации.

pingpong

Практика: движение идёт вперёд, потом назад.

Подходит для качелей, дыхания, покачивания.

Практика: на стыке направление меняется мгновенно: если нужна плавность, добавьте промежуточные ключи.

offset

Практика: каждый цикл продолжает предыдущий со сдвигом.

Колесо, бесконечная лента, вращающийся элемент — это offset.

Практика: ключи должны описывать ровно один шаг, иначе смещение накопится неправильно.

continue

Практика: этот тип сохраняет скорость последнего участка.

Это не цикл в прямом смысле: движение просто продолжается по инерции.

Практика: удобно для разлетающихся элементов, которым не нужен стык.

loopIn

Документация: loopIn работает в обратную сторону — до первого ключа.

Практика: нужен редко, когда композиция выхватывает середину бесконечного процесса.

Зацикливание видео

Практика: для слоя с видео используется Time Remapping.

Включите его, поставьте ключ на последнем нужном кадре, удалите автоматический ключ в конце слоя и добавьте loopOut() на свойство Time Remap.

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

Пустой кадр

Практика: самая частая жалоба — на стыке мелькает пустой кадр.

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

Практика: поставьте ключ на кадр раньше конца, затем loopOut: стык станет чистым.

Дизайн цикла

Практика: бесшовность — это не про выражение, а про ключи.

Первый и последний кадр должны совпадать, а движение между ними — быть равномерным.

Практика: проверьте цикл, поставив playhead на стык и пролистав несколько кадров вперёд-назад.

Порядок работы

  1. Поставьте два-три ключа.
  2. Откройте поле выражения.
  3. Введите loopOut().
  4. Выберите тип.
  5. Проверьте стык.
  6. При необходимости поправьте ключи.
  7. Для видео включите Time Remapping.
  8. Проверьте на повторе.

Практика: шаг 8 — единственная настоящая проверка: смотреть надо именно стык.

Где ломается

Ничего не происходит. На свойстве нет ключей.

Рывок на стыке. Первый и последний кадр не совпадают.

Пустой кадр. Ключ стоит за пределами источника.

Движение «плывёт». Выбран continue вместо cycle.

Выражение в эффекте, а не в свойстве. Открыто не то поле.

FAQ

Какие типы есть у loopOut?

cycle, pingpong, offset и continue.

Нужны ли ключи?

Да, минимум два.

Чем loopIn отличается?

Повторяет движение до первого ключа.

Как зациклить видео?

Через Time Remapping и loopOut на Time Remap.

Почему появляется пустой кадр?

Последний ключ стоит на кадре, которого нет в источнике.

Практика: вращение и offset

Практика: у вращения есть неприятная особенность: значение накапливается и через несколько циклов становится огромным. Это не ошибка, но число в панели выглядит пугающе, а некоторые эффекты начинают терять точность. Лечится это тем, что ключи ставят на один полный оборот, а не на несколько, и следят за интерполяцией: линейная даёт ровную скорость, а сглаженная — «дыхание», которое на цикле заметно.

Практика: несколько свойств

Практика: часто нужно зациклить сразу несколько свойств слоя. Выражение придётся вставить в каждое: одна строка на позицию, вторая на масштаб, третья на прозрачность. Если параметров много, проще собрать их в один контроллер через null-объект и анимировать его, а остальные свойства привязать к контроллеру. Тогда цикл живёт в одном месте, и править его нужно один раз.

Практика: проверка стыка

Практика: самый честный тест — просмотр на повторе без остановки. Включите Preview с зацикливанием и смотрите минуту. Глаз быстро находит момент, где что-то дёргается, даже если по кадрам всё кажется ровным. Если стык виден, вернитесь к ключам: скорее всего, последняя поза чуть отличается от первой, а разница в пару пикселей на цикле превращается в заметный рывок.

Практика: цикл и звук

Практика: если анимация зациклена, а звук нет, стык слышен даже когда картинка идеальна. Проверяйте цикл вместе с аудиодорожкой: щелчок на стыке выдаёт, что визуальный ритм не совпадает с музыкальным. Иногда достаточно сдвинуть начало цикла на несколько кадров, чтобы всё встало на место, и никакие выражения менять не придётся.

Итог

Практика: loopOut — одна строка, которая делает анимацию бесконечной. Но бесшовность обеспечивают ключи, а не выражение: первый и последний кадр должны совпадать, движение — быть равномерным, а тип цикла — соответствовать задаче. Если стык дёргается, правьте анимацию, а не формулу.

Выражение и рендер

Практика: выражения считаются на каждом кадре. На простой анимации это незаметно, но если в композиции десятки зацикленных свойств, просмотр начинает тормозить. Если проект тяжёлый, замените выражение на предварительный рендер: включите ключи на нужную длительность и удалите выражение. Это некрасиво с точки зрения «правильного» проекта, зато быстро и предсказуемо при сдаче.

Что попробовать первым

Практика: если не знаете, какой тип выбрать, начните с cycle. Он предсказуем и почти всегда даёт понятный результат. Если цикл должен накапливать движение — переключитесь на offset, если раскачиваться — на pingpong. И не забывайте: тип задаётся в скобках, а не в отдельном меню, поэтому опечатка в кавычках ломает всё выражение сразу.

Похожие материалы