Blender 3D – уменьшение полигонов модификатором «Decimate»

 
Blender 3D – уменьшение полигонов модификатором «Decimate»

Бывают ситуации, когда необходимо уменьшить количество полигонов у высокополигональной модели с сохранением развертки и хорошей полигональной сеткой. Особенно это актуально в случаях 3D моделей отсканированных для 3D принтеров, в которых порой несколько миллионов полигонов и сетка достаточно кривая, не предназначенная для редактирования полигональным моделированием.


В этом уроке рассмотрим, как можно решить данную задачу в бесплатном 3D редакторе Blender стандартным плагином «Decimate» («Десятикратное уменьшение»).


Для работы понадобится стандартный 3D редактор Blender и модель, которой необходимо уменьшить количество полигонов.


1. Подготовка сцены


Помещаем модель в сцену. В данном случае это высокополигональная 3D модель головы Сюзанны, состоящей из 31 488 полигонов. На модели присутствует развертка и наложена текстура.


Blender 3D – уменьшение полигонов модификатором «Decimate»

Теперь добавим модификатор «Decimate»: «Properties» => «Modifiers» => «Add Modifier» => «Generate» => «Decimate».


Blender 3D – уменьшение полигонов модификатором «Decimate»

После этого откроются параметры модификатора, в которых будут три опции:


  • «Collapse» (Разрушение) – это процентное уменьшение полигонов;
  • «Un-Subdivide» (обратное подразделение) – это уменьшение полигонов через сокращение итераций сглаживания;
  • «Planar» (Плоскостное) – это уменьшение полигонов через установление параметров углов.

2. Процентное уменьшение полигонов


Первая опция «Collapse» (Разрушение) позволяет уменьшить количество полигонов, задав их в процентах в шкале «Ratio» (Соотношение).


По умолчанию значение «Ratio» задано 1, то есть равно 100%. Следовательно, чтобы уменьшить количество полигонов на 90%, в шкале «Ratio» нужно выставить значение 0,1, если на 99%, то равное 0,01. Внизу напротив надписи «Face» автоматически будет указано количество полигонов в случае применения модификатора.


До определенного значения процентного соотношения развертка на модели будет сохраняться. Это во многом зависит от ровности полигональной сетки. В данном случае развертка сохранятся при сокращении полигонов в два раза, то есть на 50%. При уменьшении полигонов на 90% происходит уже искажение развертки.


Blender 3D – уменьшение полигонов модификатором «Decimate»

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


Так же данным способом есть возможность уменьшить количество полигонов только на определенной части развертки. Для этого необходимо на выбранную часть равертки назначить группу вершин, а затем выбрать её в модификаторе «Decimate» в разделе «Collapse» через «Vertex group name».


Blender 3D – уменьшение полигонов модификатором «Decimate»

Ниже можно установить галочку напротив надписи «Triangulate» (Триангулировать), то есть после применения модификатора полигональная сетка будет разбита на треугольники. А активация галочкой «Symmetry» (Симметрия) позволяет уменьшить полигоны симметрично по выбранной оси.


3. Уменьшение полигонов через обратное подразделение поверхности


В различных 3D редакторах есть модификатор «подразделения поверхности», который увеличивает количество полигонов и придает ей более сглаженную форму. Например, в Autodesk 3dsmax это модификатор «Turbo Smooth», а в Blender это модификатор «Subdivision Surface».


Так вот, функция «Un-Subdivide» (обратное подразделение) в модификаторе «Decimate» выполняет обратное действие, то есть уменьшает количество полигонов на заданное число итераций. В данном случае применено четыре итерации.


Blender 3D – уменьшение полигонов модификатором «Decimate»

Как видим, текстура на модели «поплыла», но зато геометрия получилась достаточно ровная. Что позволяет данной модели сделать развертку, а затем «запечь» текстуры с первоначального варианта. Функция «Un-Subdivide» в модификаторе «Decimate», это своего рода быстрая ретопология с достаточно приличной геометрией в результате.


3. Уменьшение полигонов угловым пределом


Третья функция данного модификатора «Planar» позволяет уменьшить количество полигонов через «Angle Limit» (Угловой предел).


Внизу можно выбрать параметры, которые нужно сохранить при уменьшении числа полигонов. В крайнем правом углу можно выбрать «UVs», то есть уменьшить число полигонов с сохранением границ развертки. Галочкой можно активировать «All Boundaries», то есть все границы.


Blender 3D – уменьшение полигонов модификатором «Decimate»

В данном способе ровность полигональной сетки необходимо регулировать параметром значения угла. Как видим, развертка в данном случае остается ровной.


Таким образом, если необходимо быстро уменьшить количество полигонов модели и при этом получить хорошую геометрию и развертку, то оптимальным решением будет использование функции «Un-Subdivide» (Антиподразделение). Так как полигоны в этом случае будут четырехугольными, что позволит произвести модели развертку. Затем останется только сделать запекание текстур.


На нашем ресурсе вы можете почитать другие уроки по бесплатному редактору Blender 3D:


Перепечатка и использования данного материала без прямой обратной ссылки категорически запрещена!





Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.