Анимация движения по кривой в Blender. Настройка ограничителя Follow Path
Обновлено:
В Blender, чтобы создать анимацию перемещения объекта по сложной траектории (криволинейной), не обязательно добавлять ключевые кадры во все места, где объект должен изменять направление своего движения. Вместо этого можно определить траекторию следования с помощью кривой, потом привязать к ней объект.
Создание ключевых кадров движения может происходить как через сам объект, так и через кривую. Второй вариант в основном используется, когда движение по пути длится весь фильм или по одной траектории будет перемещаться несколько объектов. В любом случае вы всегда должны добавлять тому, кто будет двигаться, ограничитель Follow Path | Следовать по пути, а в качестве цели (target) в его настройках выбирать подготовленную кривую.
На исходной сцене скроем куб (H) и добавим на сцену кривую Path | Путь. В режиме редактирования создадим у нее изгибы. Вернем кубу видимость (Alt + H). Уменьшим объект, увеличим траекторию.
На вкладке Constraints | Ограничители редактора свойств применим к кубу ограничитель Follow Path | Следовать по пути. В его настройках в качестве цели укажем нашу кривую. В результате меш должен переместиться на один из ее концов.
При этом координаты положения куба не меняются. То есть, несмотря на то, что объект сместился на сцене, его координаты остались нулевыми. Если бы меш исходно был в другом месте, то он установился бы на кривой со смещением, соответствующим его координатам. На экране оно обозначалось бы пунктирной линией.
Рассмотрим случай, когда требуется анимировать движение меша по кривой не с самого начала фильма и закончить не в самом конце. Например, фильм длится 250 кадров, но куб должен следовать по пути только с 100-го по 180-й кадр.
Первое, что надо сделать, — включить флажок Fixed Position | Фиксированное положение. После этого параметр Offset | Смещение изменится на Offset Factor | Коэффициент смещения. Это позволит настраивать смещение не через количество кадров, а измеряя его в долях единицы, что удобнее.
Перейдем в 100-й кадр и создадим ключевой кадр для коэффициента смещения (нажать I над свойством или точку справа). Здесь смещение от фиксированного положения должно оставаться нулевым, а значит куб все еще будет находиться в исходном положении. Теперь перейдем в 180-й кадр, поднимем коэффициент до единицы и создадим ключевой кадр. Это значит, что в этом кадре куб должен оказаться на конце кривой-ограничителя. Поскольку свойство смещения объекта по траектории анимировано, то ему придется двигаться по ней.
Обратим внимание, куб перемещается, не меняя своей ориентации. Если представить, что на одной из его граней есть глаза, получится, что они всегда смотрят в одну сторону, хотя герой совершает повороты. Чтобы объект всегда "смотрел лицом" на кривую, в настройках ограничителя устанавливают флажок Follow Curve | Следование по кривой.
Можно добавлять больше двух ключей, контролируя тем самым скорость и направление движения на каждом временном отрезке.
Теперь посмотрим, как следование по пути работает, если ключевые кадры создаются для кривой. Перед этим удалим наши предыдущие настройки ограничителя: снимем флажок фиксированного положения, удалим ключевые кадры для смещения, само значение вернем к исходному, то есть нулевому.
В ограничителе Follow Path нажмем Animate Path | Анимировать путь. Запустив анимацию мы увидим, что меш начинает свое движение в первом кадре, двигается по пути кривой до сотого кадра, после этого продолжает перемещаться уже за пределами кривой по воображаемому продолжению ее последнего изгиба.
И вот теперь надо перейти к анимационным настройкам самой кривой, которые находятся на вкладке Data | Данные → панели Path Animation | Анимация пути. Длительность перемещения объекта непосредственно по изгибам кривой здесь контролируется через поле Frames | Кадры.
Для изменения моментов старта и конца анимации ключевые кадры создают для параметра Evaluation Time | Оценка времени. Но проблема в том, что F-кривая там уже есть, она появилась, когда мы нажали кнопку для анимации пути в ограничители. Поэтому перед тем как создавать свои ключи, эту автоматику надо удалить через контекстное меню (правый клик по полю): пункт Clear Keyframes | Очистить ключевые кадры.
Перейдем в 100-й кадр и создадим первый ключ, установив значение оценки времени нулевым. Если движение должно строго вписываться в кривую, то при анимации в 80 кадров в 180-том надо создавать ключ со значением оценки времени 80. Если задать например 100, то куб уйдет за кривую, то есть за период в 80 кадров он будет двигаться быстрее.
Здесь также можно создавать дополнительные кадры, делая скорость неравномерной, движение вспять и даже уход за пределы траектории.
К одной и той же кривой можно привязывать разные объекты через их ограничители Follow Path. Допустим, к траектории у нас привязан не только куб, но и сфера. При запуске анимации они будут двигаться вместе. В настройках ограничителя каждого объекта, изменяя значение смещения, мы сможем индивидуально изменять сдвиг объекта по пути на заданное количество кадров вперед или назад. То есть старт и финиш перемещения все равно будет совместным, просто один меш будет двигаться позади другого.
Однако чтобы второй объект начинал движение позже, придется создавать ключи для его смещения, то есть мы возвращаемся к варианту настройки через сам ограничитель и включение фиксированного положения.
Практическая работа "Анимация движения объекта по окружности (орбите)"
Создайте анимацию движения шара по окружности с периодом в 50 кадров (один проход по окружности длится 50 кадров, оборотов будет 5, если длительность анимации 250 кадров).
Подсказка: в качестве пути следует выбрать окружность, анимировать путь и в его настройках уменьшить количество кадров до 50-ти.