Циклическая анимация в Blender: модификатор Cycles
Обновлено:
В Blender есть модификаторы не только для изменения формы объекта, но и для анимации, которые правильнее называть модификаторами F-кривых. Они изменяют график зависимости значения свойства от времени по той или иной формуле (масштабирование, циклирование, добавление шума). Эти модификаторы находятся на соответствующей вкладке бокового региона (N) редактора графов (Graph Editor).
Нередко требуется создать циклическое перемещение объекта, то есть такое, при котором имеются очевидные повторы движения. Примеры: сфера безостановочно двигается по окружности как Земля вокруг Солнца, персонаж шагает, маятник колеблется туда-сюда. Для реализации подобного ключевые кадры создают только для первого повтора, а далее накладывают модификатор циклов (cycles modifier).
Научимся создавать цикличную анимацию в Blender на примере. Пусть по задумке весь фильм куб должен двигаться туда-сюда: сначала влево и вниз, потом по той же траектории обратно, то есть вверх и вправо. Затем цикл будет повторяться снова. На видео ниже показан результат, к которому мы должны придти:
Установим вид на сцену сверху (7). Пересечение осей X и Y можно рассматривать как декартову систему координат. Переместим (G) куб в I-ю четверть. Создадим ключевой кадр (I). Перейдем в 24-й кадр. Переместим куб во II-ю четверть, зафиксируем положение (I). В 48-м кадре разместим куб в III-ей четверти и создадим третий ключ.
Перейдем в редактор графов (Shift + F6). Поскольку мы меняли значения только положений по осям X и Y, только эти F-кривые имеют вид кривых. Следует выделить соответствующие каналы.
После этого можно добавить модификатор Cycles | Цикличность. В результате кривые положения объекта станут похожи на волны, изменение их значений будет повторяться во времени.
При просмотре анимации вы увидите, что после того, как куб достигает третьей четверти, он не идет обратно по той же траектории, а сразу перепрыгивает в свою исходную точку, находящуюся в первой четверти. На графике это отражается резким вертикальным "подъемом" значений обоих кривых в одном и том же кадре каждой итерации цикла.
Чтобы движение соответствовало задуманному, то есть было колебательным, надо внести изменения в настройки модификатора. Для каждой кривой (обратите внимание, что здесь каждый канал настраивается отдельно, выделять их надо по очереди) необходимо выбрать в качестве режима после последнего ключевого кадра (After Mode) — Repeat Mirrored | Повторять с зеркалированием.
Теперь куб будет двигаться туда-сюда. При необходимости количество повторов можно ограничить. Значение -1 у параметра количества циклов до первого ключевого кадра обозначает, что до него циклической анимации не будет.
Поскольку по умолчанию Blender использует сглаженную интерполяцию (Bezier), а для цикличного вращения (например, колеса) она зачастую не подходит, так как объект будет разгоняться и замедляться в начале и конце цикла, то необходимо перед наложением модификатора установить для ключевых кадров линейную интерполяцию.
Модификаторы анимации можно копировать и вставлять (кнопки справа от выпадающего списка выбора модификатора). Так сначала настраивают один канал (например, движение по оси X), а затем "перекидывают" установки на другие (Y и Z). Модификатор наложится уже на их F-кривые, определяемые их ключевыми кадрами.
Практическое задание: создание анимации "упрыгивающего мяча" в Blender
Создайте циклическую анимацию, в которой сфера, подпрыгивая вверх-вниз на плоскости, перемещается вдоль оси X или Y в одном направлении. Для данной оси необходимо применить циклический модификатор с повтором со смещением (repeat with offset), когда каждая новая итерация начинается в той точке, где заканчивается предыдущая.
При этом для F-кривой перемещения по оси Z также применяется модификатор Cycles.