Преобразовываем меш в кривую Безье

Для преобразования любого плоского меша в кривые Безье нужно выполнить несколько операций: сначала преобразовать меш в кривую, затем преобразовать ее точки в формат Безье (с “рычагами”) и, дополнительно, можно пересчитать количество управляющих точек, чтобы удалить точки, не влияющие на форму кривой. Все то же самое можно сделать в режиме “одной кнопки”, написав небольшой скрипт.

Пусть у нас текущий выделенный объект – это плоский меш, который мы хотим быстро преобразовать в кривую Безье.

Преобразовать меш в обычную кривую можно, использовав универсальный оператор преобразования объектов convert.

В параметре target мы указали в какой тип объектов – кривую, нам нужно преобразовать активный объект. Так же мы указали False в параметре keep_original, чтобы после преобразования исходный меш автоматически удалялся.

Теперь, чтобы из обычной кривой получить кривую Безье, нам нужно всем ее сплайнам (отдельным контурам) назначить тип “Bezier”.

Пройдем по сплайнам кривой в цикле и назначим каждому нужный нам тип.

Следующим этапом сократим количество точек, воспользовавшись оператором decimate().

Оператор decimate работает в режиме редактирования объекта, поэтому переключимся в режим редактирования перед его вызовом, и вернемся в объектный режим после.

Здесь следует обратить внимание на значение параметра ratio в операторе decimate. Оно должно задаваться в диапазоне от 0 до 1, и чем меньше его значение, тем меньше точек останется на кривой. Значения в диапазоне 0.5 – 0.7 обычно являются неплохим балансом между точным соответствием формы кривой исходному контуру и количеством точек на кривой.

Если мы сейчас переключимся в режим редактирования, то увидим, что все управляющие “рычаги” на точках кривой Безье расположены под разными углами. Чтобы превратить их в обычные, прямые “рычаги”, нужно изменить их тип.

Пройдем в цикле по всем точкам и поставим тип “AUTO” для левого и правого управляющих рычагов.

Теперь полученная нами кривая Безье имеет полностью привычный вид и управление.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии