Подразделение меша Doo-Sabin при помощи Blender Geometry Nodes

Подразделение поверхности меша Doo-Sabin представляет собой тип подразделения, основанный на обобщении би-квадратичных однородных B-сплайнов, в отличие от более часто используемого подразделения Catmull-Clark, которое основана на обобщенных би-кубических однородных B-сплайнов. Создать подразделение меша Doo-Sabin в Blender Geometry Nodes можно с использованием всего двух нод.

Добавим в сцену куб (shift + a – Mesh – Cube), назначим ему модификатор Geometry Nodes и создадим начальное дерево нод.

Чуть усложним форму меша для наглядности, экструдировав 3 грани куба в разных направлениях (выделить грань – e – 2 – ввод).

Согласно алгоритму Doo-Sabin, подразделение должно создавать новую грань на каждом отдельном вертексе, новую грань на каждом отдельном ребре и новую грань на каждой отдельной грани.

Получить нужный результат мы можем при помощи нодов Subdivide Mesh и Dual Mesh.

Добавим в главную ветку нодового дерева последовательно два нода: Subdivide Mesh (shift + a – Mesh – Operators – Subdivide Mesh) и Dual Mesh (shift + a – Mesh – Operators – Dual Mesh).

Эта простая комбинация нод делает всю нужную работу – полученный нами результат соответствует алгоритму.

Для того чтобы сделать несколько уровней подразделения меша, выделим оба нода Subdivide Mesh и Dual Mesh и нажатием комбинации клавиш Ctrl + g соберем их в группу. Назовем ее “Doo-Sabin”.

Теперь, если нам нужно сделать подразделение Doo-Sabin на 2 уровня, просто включим созданную нами нодовую группу последовательно два раза в главную ветку геометрии.

При необходимости подразделить меш большее число раз, просто последовательно добавьте нужное количество нодовых групп.

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

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии