Loop

В motion-design очень часто идет речь о зацикливании некоторого объема анимации. В общем виде это бывает 3-ех видов:

  1. зацикливание ключевых кадров
  2. ручное копирование файла несколько раз друг за другом
  3. правильная расстановка ключей, чтобы при сохранении GIF - картинка уже была зациклена

1. Зацикливание ключевых кадров (используем экспрешены)

Если мы говорим об экспрешенах, то вы точно должны знать сайт aexpressions.ru

loopOut()

Вы ставите сколь угодно ключей, затем с нажатым Alt вы нажимаете на иконку секундомера и вводите экспрешен: loopOut()

После этого все ваши ключи будут повторяться раз за разом. Например их 3, после 3-го ключа, анимация сразу прыгнет на 1-ый и снова начнет идти до 3-го и так до тех пор, пока не закончится слой. Поздравляю, это называется цикличный повтор, но такое название вы встретите только здесь, все называют это просто Лупом.

Но у этого экспрешена есть и разновидности, за счет ввода параметров:

  • loopOut("cycle",0); — цикличный повтор, тоже самое, что просто написать loopOut()
  • loopOut("cycle",1); — как только появляется цифра, вы начинаете контролировать, сколько промежутков зацикливать. В данном случае вы проиграете все без зацикливания, а зацикливать будете только последний промежуток (последние 2 ключа).
  • loopOut("cycle",2); — зацикливаем 2 последних промежутка и так далее.

Вместо cycle могут быть написаны и другие слова:

  • pingpong - проигрывание ключей сначала в обратную снова, а затем снова в обычную
  • offset - тот же cycle, отличие в том, что новое повторение происходит из последней точки, в которой стоял объект
  • continue - продолжить анимацию со скоростью в последнем ключевом кадре

Визуальный пример различных разновидностей loopOut()

loopOut_example.mp4

Пример использования цифр внутри параметров экспершена

Для закрепления:

Как зациклить анимацию от IMGN VFX

Loop для Path

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

valueAtTime(time % key(numKeys).time)

Если тяжело запоминать синтаксис, то вы всегда можете освежить память через встроенное меню:

  1. Выбрать слой
  2. Нажать Ctrl+Alt+T (или Layer>Time>Enable Time Remaping или правой кнопкой мыши по слою Time>Enable Time Remaping)
  3. С нажатой клавишей Alt щелкнуть левой кнопкой мыши по иконке секундомера
  4. Нажать на иконку стрелки и дойти до пункта на изображении (Property>loopOut)
  5. Иногда после этого действия нужно поставить один ключевой кадр перед самым концом слоя, а последний ключевой кадр удалить
  6. Теперь вы можете удлинять слой, сколько захотите

2. Ручное копирование файла несколько раз друг за другом:

Скопировать файл несколько раз и передвинуть вручную друг за другом. Вместо ручного передвижения можно воспользоваться командой меню:

  • Animation>Keyframe Assistant > Sequence Layers...

Эта команда расставляет слои друг за другом

Чтобы сделать материал лучше — пишите мне любые, даже на первый взгляд глупые вопросы:

t.me/amchat