Движение вдоль кривой
Contents
Введение
Если вы используете версию Synfig 0.61.08 или ниже, то читайте старую редакцию статьи, а эта статья актуальна для версии 0.61.09 и старше.
Итак статья о том как создать объект следующий вдоль произвольной кривой и поворачивающий при этом в сторону направления кривой.
Содержание
Нам предстоит:
- Нарисовать кривую и "стрелку"
- Связать стрелку и её "вращение" с кривой чтобы она следовала по ней
Создаём новый файл
Файл > Создать
Создаём слои
Выберите инструмент "Кривые".
Поставьте флажок только напротив параметра "Создать кривую контура", нарисуйте кривую вдоль которой будет двигаться наша стрелка и нажмите кнопку "Создать кривую" в нижней части Панели Параметров Инструмента.
Теперь, не переключаясь с инструмента "Кривые" выберите флажки "Создать кривую контура" и "Создать кривую области" на Панели Параметров Инструмента,
нарисуйте стрелку или что то подобное, указывающую на право.Переключитесь на инструмент трансформации.
Кликните на контур "стрелки" и нажмите Ctrl+A чтобы выделить все контрольные точки контура, зелёная точка "позиции" при этом останется не выделенной, перетащите выделенные контрольные точки так чтобы зелёная точка "позиции" оказалась в центре "стрелки", после чего добавьте "Слой вращения" над слоями контура и заливки "стрелки" и сгруппируйте эти три слоя в одну группу.
Теперь у нас есть два основных слоя, один слой с кривой контура и второй групповой со "стрелкой" и слоем вращения.
Заставляем стрелку двигаться и вращаться
Выделите слой группу кликнув на него в панели слоёв.
Выделите его зелёную точку "позиции" кликнув по ней в окне холста, также выделите слой Вращения удерживая Ctrl и кликнув по нему на панели слоёв, в добавок ко всему этому выделите синюю точку "контроля вращения" удерживая Ctrl кликнув по ней в окне холста.
Ну вот, у нас должно быть выделено два слоя и по одной контрольной точке из каждого слоя,
теперь добавьте к этим выделенным слоям ещё и слой с кривой (он должен быть последним на панели слоёв) кликнув на него удерживая Ctrl.
Кликаем правой кнопкой на пунктирной линии которая показывает форму кривой, не на какую нибудь точку на кривой, а именно на линию между точками.
В контекстном меню которое появится выберите "Привязать к кривой".
Сгруппированный слой со "стрелкой" должен переместиться так что его зелёная точка "позиции" окажется на кривой и она должна повернутся указывая в сторону направления кривой в этой точке.
Выделите только сгруппированный слой и потаскайте зелёную точку "позиции" туда-сюда. Вы увидите что зелёная контрольная точка "стрелки" теперь двигается только вдоль кривой, перемещение также вызывает вращение "стрелки" как и ожидалось.
Теперь мы можем анимировать стрелку, включите Режим редактирования анимации нажав на иконку в нижнем правом углу окна холста.
- На нулевом кадре 0f, поместите зелёную контрольную точку группового слоя "стрелки" на одном конце кривой.
- На пятой секунде 5s, перетащите эту точку в другой конец.
Посмотрите что получилось нажав "<Меню холста> → <Файл> → Предпросмотр".
Результат
Вот анимация которая получилась в результате:
Контроль ускорения
Если вы выделите слой группы и посмотрите на Панель параметров то заметите что параметр Исходной точки конвертирован в тип "Spline Vertex". Это происходит автоматически когда вы используете "привязывание к кривой". Вы можете также отключить дополнительный параметр "однородность" после чего скорость стрелки перестанет быть постоянной и начнёт зависить от количества сегментов на кривой, проходя между каждым сегментом за одно и тоже время она будет "пролетать" на длинных прямых участках кривой на большой скорости и "еле ползти" на изломанных участках содержащих большее количество вершин, так как теперь проходит от вершины к вершине за один и тот же промежуток времени.
Видео по теме контроля ускорения здесь.