Как уменьшить полигоны в блендере
Перейти к содержимому

Как уменьшить полигоны в блендере

  • автор:

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:

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

Модификатор Decimate

Модификатор Decimate позволяет уменьшать количество вершин и граней меша с минимальными изменениями формы объекта. Результат работы модификатора будет хуже, чем у изначально созданной низкополигональной модели. Но в случае, если нет нужды в экстра-детализации или объект находится далеко от камеры, то можно сократить несколько тысяч полигонов без видимой потери качества.

В отличии от большинства модификаторов, модификатор Decimate не позволяет визуализировать Ваши изменения в режиме редактирования (только объектный режим).

Оптимизация модели для 3D печати на примере ПО Blender

Cегодня речь пойдет не о какой-либо модели 3D принтера, и не о процессе 3D печати. Мы хотели бы рассказать о том, как сделать процесс подготовки модели перед 3D печатью эффективнее.
Все мы знаем, что большое рабочее поле это хорошо. Но что делать, когда мы начинаем пробовать создавать управляющие программы для громадной детали и программа уходит в вечное ожидание на этапе рассечения слоёв или экспорта кода в файл. Были случаи, когда программа готовилась более суток. Чтобы понять что происходит, нужно немного вникнуть в алгоритм процесса, который происходит внутри «Черного ящика» слайсера. Немного, потому что достаточно знать, что самое сложное и затратное дело, в процессе подготовки программы, это рассечение модели по слоям и формирование по этим сечениям траекторий.

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8

Вся сложность в качестве.
В качестве модели.
В качестве печатной детали.
В оптимальности качества.
В желаемом качестве.

Иногда это очень растяжимое понятие… и так далее. Но у нас не минутка философии.
Перейдем к конкретике. Примером из жизни.

В результате 3д-сканирования, неаккуратного, незаконного и неэкономного моделирования, различных преобразований и конвертирования, возникают случаи, когда сетка модели становится пропорционально плотной, с большим количеством лишних полигонов. Это значительно увеличивает «вес» stl-файла. Документ начинает занимать много памяти и увеличивает время формирования кода управляющей программы, приводит к зависанию слайсера и переходу его в низ списка процессов операционной системы. В таких случаях, модель необходимо оптимизировать, т. е. уменьшать плотность сетки без потери качества геометрии и качества деталей.

Амуниция

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

Программное обеспечение для оптимизации – абсолютно бесплатный, с открытым кодом Blender, поддерживается почти всеми операционными системами (https:// www.blender.org/download/)

К делу

Установите и запустите Blender. Для импорта модели зайдите File –> Import –> stl, выберите необходимую модель.

Для оптимизации модели воспользуемся модификатором Decimate. Этот модификатор позволяет уменьшить количество полигонов в сетке модели с минимальными изменениями геометрии.

Переключитесь в режим Object mode (1), в панели Editing (2) выберите вкладку Modifiers (3), добавьте Add Modifier –> Decimate (4)

Опции

Ratio. Коэффициент от 0,0 до 1,0. Соотношение детали до и после оптимизации. 0,0 (0%) — все грани удалены. 1,0 (100%) — все грани остались без изменения. По мере того, как коэффициент изменяется от 1 до 0, количество полигонов в сетке уменьшается.

Качество

Для того, чтобы оценить уровень детализации, до которого модель будет упрощаться без потери качества (визуально печатная деталь соответствует математической 3D — модели). Если совсем вдаваться в подробности, то необходимо учитывать соотношение физического размера печатаемой модели, диаметра сопла и высоты слоя. Ниже, количественно, показано к чему приводят такие процедуры оптимизации.

Как не надо делать

Теперь зайдем с другой стороны. Слишком низкий коэффициент уменьшает качество детализации: Ratio 0.05 – 0.03. Для модели небольшого размера (20-30 мм) подойдет Ratio 0.05-0.03, т. к. высота слоя и диаметр сопла физически не позволят напечатать необходимую детализацию, которая сохраняется при более высоких коэффициентах. А мы все помним, что диаметр сопла 0.3мм, а на выходе пластиковая нить еще чуть больше. А это значит что все острые грани будут иметь радиус минимум 0.15мм.

И в финале немного снимков того, к чему могут привести чрезмерные увлечения заветным параметром Ratio.

Ratio: 0,015. Слишком низкий коэффициент

В общем вы поняли.
Хотения и надежды.
Искренне верим, что этот материал будет вам полезен, вы начнете/продолжите эффективно использовать возможности своего 3D принтера.

Decimate Modifier

The Decimate modifier allows you to reduce the vertex/face count of a mesh with minimal shape changes.

This is not usually used on meshes which have been created by modeling carefully and economically (where all vertices and faces are necessary to correctly define the shape). But if the mesh is the result of complex modeling, sculpting and/or applied Subdivision Surface / Multiresolution modifiers, the Decimate one can be used to reduce the polygon count for a performance increase, or simply remove unnecessary vertices and edges.

Unlike the majority of existing modifiers, this one does not allow you to visualize your changes in Edit Mode.

The modifier displays the number of remaining faces as a result of the Decimate modifier.

Options

Collapse

../../../_images/modeling_modifiers_generate_decimate_panel-collapse.png

The Decimate modifier in Collapse mode. 

Merges vertices together progressively, taking the shape of the mesh into account.

The ratio of faces to keep after decimation.

On 1.0: the mesh is unchanged.

On 0.5: edges have been collapsed such that half the number of faces remain (see note below).

On 0.0: all faces have been removed.

Although the Ratio is directly proportional to the number of remaining faces, triangles are used when calculating the ratio.

This means that if your mesh contains quads or other polygons, the number of remaining faces will be larger than expected, because those will remain unchanged if their edges are not collapsed.

This is only true if the Triangulate option is disabled.

Maintains symmetry on a single axis.

Keeps any resulting triangulated geometry from the decimation process.

A vertex group that controls what parts of the mesh are decimated.

The amount of influence the Vertex Group has on the decimation.

Un-Subdivide

../../../_images/modeling_modifiers_generate_decimate_panel-un-subdivide.png

The Decimate modifier in Un-Subdivide mode. 

It can be thought of as the reverse of subdivide. It attempts to remove edges that were the result of a subdivide operation. It is intended for meshes with a mainly grid-based topology (without giving uneven geometry). If additional editing has been done after the subdivide operation, the results may be unexpected.

The number of times to perform the un-subdivide operation. Two iterations is the same as one subdivide operation, so you will usually want to use even numbers.

Planar

../../../_images/modeling_modifiers_generate_decimate_panel-planar.png

The Decimate modifier in Planar mode. 

It reduces details on forms comprised of mainly flat surfaces.

Dissolve geometry which form angles (between surfaces) higher than this setting.

Prevent dissolving geometry in certain places.

Does not dissolve edges on the borders of areas where the face normals are reversed.

Does not dissolve edges on the borders of where different materials are assigned.

Does not dissolve edges marked as seams.

Does not dissolve edges marked as sharp.

Does not dissolve edges that are part of a UV map.

When enabled, all vertices along the boundaries of faces are dissolved. This can give better results when using a high Angle Limit.

© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Last updated on 05/17/2023.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *