Render.ru

Возможно ли настроить плавную геометрию у кривой Безье?

Рейтинг
56
#1
Допустим, имеется кривая. В настройках ее геометрии делаем Bevel, создавая объем с каким-либо профилем (в примере на скринах тип просто Round). Также, назначаем вершинам разные радиусы, варьируя толщину фигуры. К сожалению, в результате геометрия на окружности вокруг вершины получается угловатой.
И вот вопрос: возможно ли как-то добиться плавного выхода геометрии из вершины, а не резким спадом или подъемом? (как на втором скрине, зеленый контур)
Screenshot_26b.jpg Screenshot_26a.jpg
 
Рейтинг
253
#2
похоже косяк алгоритма какой-то. Надо либо вектора подбирать с длиной не слишком большой или маленькой. Либо сглаживание накидывать еще сверху. Хотя если приглядываться, стык похоже все же виден. Скорее всего это так сегменты сращиваются нечисто.
Подозреваю, что рисуется именно сегментами. В теории должны тик в тик, а на практике видимо не очень получается

математические кривые безье идеально стыкуются, если вектора параллельны. Но здесь ведь строится оболочка. И скорее всего именно на этом этапе косяк и возникает.

тут вот сегмент без сглаживания, со сглаживанием и третья это когда размеры векторов существенно отличаются. Чем больше отличаются, тем стык хуже делается. Хотя сама кривая там вполне себе нормальная, хоть и по всем правилам имеет довольно сильную кривизну, но никаких изломов. А вот когда оболочка навешивается, тогда да. И чем толще будет оболочка, тем хуже стыковка. Это в общем ожидаемо, хотя могли бы наверное и получше сделать эту операцию
 

Вложения

Рейтинг
253
#3
чем тоньше оболочка, тем меньше заметны искажения. Для тонких вообще не видно практически.

Если надо такую фигуру, я бы просто полигонами сделал. Там будет все идеально под сабдивами, иба стыков как таковых нет. А масштаб колец менять мало чем отличается от регулировки толщины кривой.
 
Рейтинг
56
#4
В данном случае я привел простой пример, чтобы была понятна суть проблемы.
Фигуры разные, и на этапе моделирования нужна гибкость, привязкой хуков к вершинам.

По всей видимости, да, косяк алгоритма, а точнее- упрощенный способ создания объема-оболочки, просто линейный лофт от одного диаметра к другому, а кол-во этих шагов-переходов зависит от разрешения кривой.

Сабдив чуток исправляет ситуацию.
 

ProcXel.A

Мастер
Рейтинг
126
#5
А чем не нравится модификатор Curve? Просто делаешь ровного червячка и искривляешь модификатором.
 
Рейтинг
253
#6
модификатор наверное не может вытворять такое, что делает бевел на кривой :)

на сайте сообщества блендера видали файл с зеркалом? меня лично он впечатлил, чтобы разобраться как там этими кривыми такое можно сделать
 

Вложения

ProcXel.A

Мастер
Рейтинг
126
#7
О, нашел настройки интерполяции радиусов.
чтобы разобраться как там этими кривыми такое можно сделать
Там делов на пять минут. Настраиваешь форму профиля. Накручиваешь размеры радиусов. И включаешь BSpline интерполяцию.
По всей видимости, да, косяк алгоритма
Нет. Это не косяк. Это линейная интерполяция. То есть по прямой от точки до точки. Там в настройках ещё три варианта есть: Cardinal, BSpline и Ease.
 

Вложения

Последнее редактирование:
Рейтинг
253
#8
Там делов на пять минут. Настраиваешь форму профиля. Накручиваешь размеры радиусов. И включаешь BSpline интерполяцию.
ну я вообще сплайнами моделить как-то не привык. Хотя некоторые вещи ими можно вполне так делать. Там проблема возникает если это потом в полигоны переводить. Не очень экономно выходит. Хотя в некоторых случаях это без разницы практически.
Но обычно все что можно я полигонами все же стараюсь
 
Рейтинг
56
#9
О, нашел настройки интерполяции радиусов.
Зашел написать, что подсказали на буржуйском сайте как сделать. Именно так, как вы написали.
Очень полезное знание:)
Тоже вставляю скрин- не зря же мучался:) Может и правда кому пригодится
 

Вложения

  • 285 КБ Просмотров: 78
Сверху