Бывают ситуации, когда необходимо уменьшить количество полигонов у высокополигональной модели с сохранением развертки и хорошей полигональной сеткой. Особенно это актуально в случаях 3D моделей отсканированных для 3D принтеров, в которых порой несколько миллионов полигонов и сетка достаточно кривая, не предназначенная для редактирования полигональным моделированием.
В этом уроке рассмотрим, как можно решить данную задачу в бесплатном 3D редакторе Blender стандартным плагином «Decimate» («Десятикратное уменьшение»).
Для работы понадобится стандартный 3D редактор Blender и модель, которой необходимо уменьшить количество полигонов.
Помещаем модель в сцену. В данном случае это высокополигональная 3D модель головы Сюзанны, состоящей из 31 488 полигонов. На модели присутствует развертка и наложена текстура.
Теперь добавим модификатор «Decimate»: «Properties» => «Modifiers» => «Add Modifier» => «Generate» => «Decimate».
После этого откроются параметры модификатора, в которых будут три опции:
Первая опция «Collapse» (Разрушение) позволяет уменьшить количество полигонов, задав их в процентах в шкале «Ratio» (Соотношение).
По умолчанию значение «Ratio» задано 1, то есть равно 100%. Следовательно, чтобы уменьшить количество полигонов на 90%, в шкале «Ratio» нужно выставить значение 0,1, если на 99%, то равное 0,01. Внизу напротив надписи «Face» автоматически будет указано количество полигонов в случае применения модификатора.
До определенного значения процентного соотношения развертка на модели будет сохраняться. Это во многом зависит от ровности полигональной сетки. В данном случае развертка сохранятся при сокращении полигонов в два раза, то есть на 50%. При уменьшении полигонов на 90% происходит уже искажение развертки.
Как видим, данный способ подойдет в тех случаях, когда необходимо уменьшить количество полигонов примерно наполовину. При значительном уменьшении полигонов достаточно плохо сохраняется развертка, а полученную полигональную сетку достаточно трудно редактировать.
Так же данным способом есть возможность уменьшить количество полигонов только на определенной части развертки. Для этого необходимо на выбранную часть равертки назначить группу вершин, а затем выбрать её в модификаторе «Decimate» в разделе «Collapse» через «Vertex group name».
Ниже можно установить галочку напротив надписи «Triangulate» (Триангулировать), то есть после применения модификатора полигональная сетка будет разбита на треугольники. А активация галочкой «Symmetry» (Симметрия) позволяет уменьшить полигоны симметрично по выбранной оси.
В различных 3D редакторах есть модификатор «подразделения поверхности», который увеличивает количество полигонов и придает ей более сглаженную форму. Например, в Autodesk 3dsmax это модификатор «Turbo Smooth», а в Blender это модификатор «Subdivision Surface».
Так вот, функция «Un-Subdivide» (обратное подразделение) в модификаторе «Decimate» выполняет обратное действие, то есть уменьшает количество полигонов на заданное число итераций. В данном случае применено четыре итерации.
Как видим, текстура на модели «поплыла», но зато геометрия получилась достаточно ровная. Что позволяет данной модели сделать развертку, а затем «запечь» текстуры с первоначального варианта. Функция «Un-Subdivide» в модификаторе «Decimate», это своего рода быстрая ретопология с достаточно приличной геометрией в результате.
Третья функция данного модификатора «Planar» позволяет уменьшить количество полигонов через «Angle Limit» (Угловой предел).
Внизу можно выбрать параметры, которые нужно сохранить при уменьшении числа полигонов. В крайнем правом углу можно выбрать «UVs», то есть уменьшить число полигонов с сохранением границ развертки. Галочкой можно активировать «All Boundaries», то есть все границы.
В данном способе ровность полигональной сетки необходимо регулировать параметром значения угла. Как видим, развертка в данном случае остается ровной.
Таким образом, если необходимо быстро уменьшить количество полигонов модели и при этом получить хорошую геометрию и развертку, то оптимальным решением будет использование функции «Un-Subdivide» (Антиподразделение). Так как полигоны в этом случае будут четырехугольными, что позволит произвести модели развертку. Затем останется только сделать запекание текстур.
На нашем ресурсе вы можете почитать другие уроки по бесплатному редактору Blender 3D:
Перепечатка и использования данного материала без прямой обратной ссылки категорически запрещена!