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

Скачать Viber 21.04.2019
Скачать Viber

Бывает так, что нам нужно упростить модель. Делается это, например, чтобы облегчить сцену, оптимизировать работу с объектом, или же модель изначально была создана в сторонних программах, или автор модельки при экспорте задал наивысшее число полигонов. В уроке рассмотрим 3 модификатора: Optimize , ProOptimizer , Multires .

Совет: нажмите клавишу «7», чтобы во вьюпорте отображалась информация о количестве полигонов и вершин объекта.

Выделяем нашу модель. Заходим в Модификаторы, в раскрывшимся списке выбираем Optimize. Задаем нужные значения в опциях модификатора.

  • Fase Thresh - отвечает за разбиение граней;
  • Edge Thresh - разбивает ребра;
  • Max Edge Len - задает максимальную длину ребра;
  • Auto Edge - включает режим автоматической оптимизации;
  • Bias — задает количество полигонов.

Играя со значениями этих параметров мы уменьшаем количество полигонов. В режиме Realistic (Shift+F3) визуально оцениваем нужную гладкость модели.
Конвертируем модель в Editable Poly (ПКМ по вьюпорту — Convert to...), переходим в Object Properties и смотрим параметр Faces (вкладка General). Он показывает количество полигонов модели. С помощью Optimaze можно сократить число полигонов на несколько тысяч без потери качества модели.

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

Там же в Modifier List находим модификатор ProOptimizer. Рассмотрим на примере любимого чайника с намеренно завышенным числом сегментов. Применяем к объекту модификатор. Жмем рассчитать (Сalculate). Указываем на сколько в процентах мы хотим упростить объект (Vertex %) или задаем определенное количество вершин (Vertex Count). Чуть ниже мы видим статистику, где указано количество полигонов до и после модификации.

Конвертируем чайник в Editable Poly. Модификатор применился. Сравним два чайника: исходный и с примененным модификатором. Видим, что визуально модель не изменилась, но число полигонов на втором объекте в разы ниже.

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

Также применяем модификатор через Modifier List. Жмем Generate. Задаем параметры нашего чайника.

  • Vert Percent - процентная доля вершин;
  • Vert Count определяет количество вершин;
  • Fase Count показывает нам число вершин после оптимизации;
  • Max Fase - до оптимизации.

Это три простых способа оптимизировать модель без потери качества с помощью стандартных модификаторов 3д макс. Пробуйте и у вас обязательно все получится!
Делитесь с друзьями статьей и ищите остальные ну ооочень полезные советы в нашей группе

Бывают ситуации, когда требуется уменьшить количество вершин у высокополигональной модели с сохранением геометрии. В этой статье будут рассмотрены некоторые способы решения данной задачи, с помощью специальных инструментов программы Autodesk 3Ds Max: стандартных модификаторов «MultiRes», «Optimize», «ProOptimize» и специального плагина «Polygon Cruncher».


Сразу необходимо сделать одно важное замечание. Если требуется уменьшать полигональную сетку у 3D модели, которая состоит из нескольких миллионов полигонов (а то и десятков миллионов), то для этого нужен мощный компьютер с большим объемом оперативной памяти. Если же ресурсов «железа» не достаточно, то целесообразно 3D модель разделить на несколько частей путем поочередного удаления некоторых групп полигонов и экспорта/импорта по частям.


Так же отметим, что , состоящие из нескольких миллионов полигонов, хорошо открываются через Autodesk 3Ds Max. Многие 3D программы при аналогичных характеристиках компьютера обычно зависают, например, Blender, MODO, Sculptris.


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

1. Подготовка 3D модели

В качестве примера была взята стандартная модель из бесплатного 3D редактора Blender голова «Сюзанна», которая состоит из 507 вершин, 1005 ребер и 500 граней.


К данной модели сделана развертка, а также наложена текстура для более наглядного результата изменения полигональной сетки. После этого был применен модификатор «Subdivision Surface», с количеством итераций равным 3. В итоге получили высокополигональную модель с 31 658 вершинами, 63 144 ребрами и 31 488 гранями.


2. Уменьшение количества полигонов в программе Autodesk 3Ds Max

Итак, импортируем высокополигональную модель в Autodesk 3Ds Max. Правой кнопкой мыши через опцию «Convert To» переведем её из «Edit Mesh» в «Edit Poly». Отметим, что при этом количество вершин немного увеличится, в данном случае, с 31 488 до 31 658.


Для уменьшения количества полигонов в Autodesk 3Ds Max есть несколько как стандартных модификаторов, так и специальных плагинов. Рассмотрим некоторые их.

2.1 Модификатор «MultiRes»

Модификатор «MultiRes» (Множественное разрешение) относится к стандартным модификаторам 3Ds Max и находится во вкладке «Modify» (Модификаторы) в списке Modifier List (Список модификаторов). Он является наиболее эффективным для оптимизации полигональной сетки в этой программе, поэтому рассмотрим его более подробно.

2.1.1 Уменьшение количества вершин

Применяем модификатор «MultiRes» к модели и в самом низу нажимаем кнопку «Generate» (Генерировать). После этого станет активным раздел «Resolution» (Разрешение) со следующими задаваемыми параметрами:

  • «Vert Percent» (Процент Вершин) позволяет установить значение в процентах, до которого необходимо уменьшить модель;
  • «Vert Count» (Число Вершин) позволяет установить необходимое количество вершин, до которых необходимо уменьшить модель.

Для примера, уменьшим количество вершин до того значения, которое было у , то есть до 507, что составит 1,6% от имеющихся сейчас.



Как видим, модель, более-менее сохранила форму, но текстура у левого виска лежит не так как нужно.

2.1.2 Сохранение расположения текстуры

Это исправляется путем увеличения количества вершин, например до 2%. Либо можно пойти другим путем, через закрепление координат выбранных вершин, которые при оптимизации сетки модификатор трогать не будет. Для этого предназначен параметр «Maintain Base Vertex» в разделе «Generation Parameters» (Задать Параметры).


Активируем его галочкой. Увеличиваем количество вершин до той геометрии, при которой текстура на модели ляжет как надо, например до 2%.


После этого нажимаем на «+» у модификатора «MultiRes» и выбираем «Vertex» (Вершины). Теперь мышью при зажатой клавише «Ctrl» нужно указать те вершины, расположение которых необходимо сохранить. В данном случае выбраны 5 вершин. Затем, нажимаем кнопку «Generate».



После этого устанавливаем нужное количество вершин в «Vert Count», в данном случае 507. Таким образом, рисунок текстуры на модели будет расположен как нужно при прежнем количестве вершин.



Рассмотрим другие важные параметры этого раздела данного модификатора.

Раздел «Generation Parameters» (Задать Параметры)

«Vertex Merging» (Слияние Вершин) – предназначен для соединения разных элементов одного объекта при оптимизации полигональной сетки. Например, в данном случае, Сюзанна состоит из трех элементов: головы и двух глаз. Оптимизация сетки у этих элементов происходит отдельно друг от друга. Вершины глаз находятся на различном расстоянии от вершин головы. Если диапазон этого расстояния указать в данном параметре, то они соединятся. Например, при значении 0,5 сантиметров, это будет выглядеть следующим образом.



Как видим, вершины глаз, находящиеся на расстоянии до 0,5 сантиметров, соединились с вершинами головы.


Рассмотри другие важные параметры:

  • «Within Mesh» (Внутри Сетки) объединяет вершины не только между элементами, но и внутри каждого элемента общей сетки при заданном значении «Vertex Merging»;
  • «Boundary Metric» (Метрика Границ) старается сохранить форму на границе областей с разными материалами;
  • «Crease Angle» (Сгиб Угла) определяет угол между соседними гранями, который будет отображаться как сглаженный.

2.2 Модификатор «Optimize»

Изучим следующий модификатор. «Optimize» (оптимизация) – также является стандартным модификатором уменьшения граней объекта при сохранении её исходной формы.


Он более ранний, чем модификатор «MultiRes», поэтому он не такой функциональный. В частности, у него отсутствует такая полезная функция, как закрепление вершин, которая позволяет корректировать нужное отображение текстуры на объекте.


Некоторые специалисты по 3D моделированию вообще против его использования, так как, по их мнению, он очень сильно портит полигональную сетку. Но, все-таки списывать со счетов данный модификатор рано, так как, если «MultiRes» больше подходит для работы с вершинами 3D объекта, то модификатор «Optimize» больше рассчитан на работу с ребрами и гранями.


Поэтому, кратко рассмотрим его основные параметры, которые расположены в разделе «Optimize» (Оптимизация) во вкладке «Parameters» (Параметры):


«Face Thresh» (Разбиение Граней) – разбивает грани по заданному значению, чем оно больше, тем меньше полигонов:



«Edge Thresh» (Разбиение Ребер) – разбивает ребра по заданному значению, чем оно больше, тем меньше полигонов:



«Bias» (Срез) – отвечает за количество ребер и фасок, чем оно выше, тем больше полигонов:



«Max Edge Len» (Максимальная Длина Ребра) – устанавливает максимальную длину ребёр объекта, чем больше это значение, тем меньше полигонов:


2.3 Модификатор «ProOptimize»

Уменьшить количество полигонов 3D модели с сохранением её геометрии можно ещё одним стандартным модификатором «ProOptimize» (Профессиональная Оптимизация).


При применении данного модификатора, необходимо нажать на кнопку «Calculate» (Посчитать) во вкладке «Optimization Lever» (Уровень Оптимизации), тем самым произойдет подсчет вершин 3D объекта.


Аналогично модификатору «MultiRes», можно установить либо нужное количество вершин, либо их процентное соотношение. Установим значение равное 507.



Как видим, исчезла текстура. Чтобы её вернуть, необходимо во вкладке «Optimization Options» (Параметры Оптимизации) в разделе «Materials and UVs» (Материалы и Развертки) активировать опцию «Keep Textures» (Сохранить Текстуры), а после снова пересчитать вершины кнопкой «Calculate».



Теперь сравним полученный результат оптимизации полигональной сетки этого модификатора с результатом модификатора «MultiRes»:



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


В данном модификаторе есть возможность оптимизировать сетку объекта симметрично по выбранным осям. Это делается через вкладку «Symmetry Options» (Опции Симметрии).



Бывает, что при просчете сетки модели, появляется облако вершин, представляющее собой лишь точки без ребер и граней. Чтобы это исправить, необходимо перед просчетом, во вкладке «Optimization Options» в разделе «Merge Tool» (Инструмент Соединения) активировать опцию «Merge Vertices» (Соединение Вершин).

2.3 Плагин «Polygon Cruncher»

Помимо стандартных модификаторов Autodesk 3Ds Max для оптимизации полигональной сетки можно использовать специальный плагин «Polygon Cruncher» (Полигональное Сжатие). Он платный, но бесплатно его можно использовать в течение трех дней.


Модель загружается стандартно через вкладку «File» => «Open». Отображение текстуры включается активацией опции «Keep UV Textures» (Сохранить Текстуры).



После нажатия внизу на кнопку «Compute Optimization» (Вычисление Оптимизации) откроется дополнительное меню, в котором можно указать количество нужных вершин или граней. Ниже автоматически будет показана информация оптимизации в процентном соотношении. Установим количество вершин равное 507.



Для сравнения полученную модель экспортируем в формат.OBJ и импортируем в 3Ds Max.



Результат получился, почти такой же, как и при использовании стандартного модификатора «MultiRes» с той же самой проблемой исчезновения части текстуры.


Конечно, здесь рассмотрены не все возможности данного плагина и их описание займет немало времени, но некоторые все-таки следует отметить. Плагин поддерживает множество самых популярных 3D форматов, обладает возможностью проигрывания анимации модели, что позволяет оценить насколько оптимизированная полигональная сетка подходит для созданной анимации, экспорт 3D модели осуществляется при помощи достаточно гибких настроек.


В заключении можно сделать следующий вывод, что главным преимуществом модификатора «MultiRes», которому он обязан своей популярностью, является уменьшение количества полигонов сетки не только с сохранением её первоначальной формы, но и с возможностью корректного отображения текстуры на объекте путем выделения и закрепления нужных вершин.


Напомним, что на сайте постоянно обновляются для новичков и профессионалов. Например, вы можете почитать спичечного коробка в программе 3ds Max.


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

Иногда в работе приходится сталкиваться с 3D моделями, имеющими излишнюю полигональность. Это может произойти по следующим причинам:
Модель получена в результате сканирования
Модель создана в таких программах как Zbrush, Maya и т.п
Автор при экспорте в STL по какой-то причине задал наивысшее количество полигонов
В результате при работе с такой моделью мы имеем следующие проблемы:
Сложность ее редактирования. Например, разделения на части или объедение с другой моделью
Увеличение времени загрузки модели в слайсер. В некоторых слайсерах до сих пор есть ограничение на количество полигонов 3D моделей.
Увеличение времени слайсинга.
Рассмотрим способы уменьшения количества полигонов 3D моделей с помощью Autodesk 3Ds Max и Rhinoceros.
Начнем с Autodesk 3Ds Max.
Запускаем 3Ds Max и вызываем команду Import.

В появившемся окне снимаем все галочки(иначе процесс импорта возможно будет очень долгим). Особенно замедлить процесс импорта могут операции Weld(слияние вершин) и Unify Normals(выравнивание нормалей).


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


В стеке модификаторов вызываем модификатор Prooptimiser. При желании можно воспользоваться старой версией модификатора под названием Optimise.


Нажимаем на кнопку Calculate(расчет). После просчета можно будет увидеть количество вершин в модели и уменьшить их в процентном соотношении(100%- текущее количество вершин в модели). Модификатор показывает количество вершин до и после применения модификатора.
Иногда 3D модель представляет собой облако вершин и при уменьшении количества вершин возможен глюк как на рисунке.


Для исправления необходимо перед нажатием на кнопку Calculate поставить галку у параметра Merge vertices(объединение вершин).


Это замедлит процесс просчета, но в результате получится модель, как на рисунке.


Уменьшайте количество полигонов до тех пор, пока это не будет влиять на форму объекта. Так в примере при уменьшении до 10%(в 10 раз) форма почти не меняется, а при уменьшении до 3%(в 33 раза) видны изменения.


Рекомендую преобразовать 3D модель в Editable Poly перед дальнейшей работой.


Теперь давайте запустим Rhinoceros.Открываем файл с 3D моделью (stl входит в перечень поддерживаемых файлов). По уже понятным нам причинам в появившемся окне убираем все галки


После окончания импорта 3D модель появится в видовых экранах.


Запускаем команду Reduce Mesh(уменьшение полигонов).


В появившемся окне указываем количество процентов, на которые нужно уменьшим 3D модель. Можно регулировать точность операции(при этом увеличивается время просчета).


Для 3D модели как в примере рекомендуется вначале применить команду
Weld(слияние вершин)


После этого уже не составит труда разделить модель и распечатать на 3D принтере

Полигональное моделирование — один из самых популярных и распространенных способов создания трехмерной модели. Чаще всего для этого используют программу 3ds Max, поскольку она обладает оптимальным интерфейсом и широким набором функций.

В трехмерном моделировании различают высокополигональное (high-poly) и низкополигональное (low-poly). Первое характеризуется точной геометрией модели, плавными изгибами, высокой детализацией и чаще всего применяется для фотореалистичных предметных визуализаций, дизайне интерьеров и экстерьеров.

Второй подход встречается в игровой индустрии, мультипликации и для работы на компьютерах невысокой мощности. Кроме этого, низкополигональные модели также применяются на промежуточных этапах создания сложных сцен, и для объектов, для которых не требуется высокая детализация. Реалистичность модели осуществляется с помощью текстур.

В этой статье рассмотрим, как сделать так, чтобы модель имела как можно меньше полигонов.

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

1. Запустите 3ds Max. Если он не установлен на вашем компьютере, воспользуйтесь инструкцией на нашем сайте.

2. Откройте сложную модель с большим количеством полигонов.

Уменьшить количество полигонов можно несколькими способами.

Снижение параметра сглаженности

1. Выделите модель. Если она состоит из нескольких элементов — разгруппируйте ее и выделите элемент, для которого нужно снизить число полигонов.

2. Если в списке примененных модификаторов присутствует «Turbosmooth» или «Meshsmooth», выберите его.

3. Снизьте параметр «iterations». Вы увидите, как количество полигонов будет убавляться.

Этот способ самый простой, но имеет недостаток — далеко не каждая модель имеет сохраненный список модификаторов. Чаще всего она уже конвертирована в полигональную сетку, то есть, попросту, «не помнит», что к ней применялся какой-либо модификатор.

Оптимизация сетки

1. Предположим, у нас модель без списка модификаторов и имеет много полигонов.

2. Выделяем объект и назначаем ему модификатор «MultiRes» из списка.

3. Теперь раскройте список модификатора и нажмите в нем «Vertex». Выделите все точки объекта, нажав Ctrl + A. Нажмите кнопку «Generate» внизу окна модификатора.

4. После этого станет доступна информация о количестве связанных точек и проценте их объединения. Просто уменьшите стрелочками параметр «Vert percent» до нужного уровня. Все изменения в модели отобразятся моментально!

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

Итак мы рассмотрели два способа упрощения полигональной сетки объекта в 3ds Max. Надеемся этот урок принесет вам пользу и поможет создать качественные 3D-модели.

Очень часто 3d моделирование и визуализация объектов, персонажей или сцен основывается на полигональном моделировании. При этом далеко не всегда количество полигонов готовой модели остается адекватным, а ведь чем больше полигонов, тем выше сложность обработки модели. Сегодня мы поговорим о способах, которые помогут уменьшить этот показатель и в то же время оставят модель реалистичной.

Способы уменьшения полигональности в 3D MAX

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

Чтобы освоить модификаторы, поэкспериментируйте над моделями с простой геометрией

  • Optimize. Модификатор, который в основном рассчитан на работу с вершинами и гранями. Чтобы уменьшить полигональность модели, понадобится поэкспериментировать с числовыми значениями в опциях модификатора, где можно указать длину ребра, количество полигонов и другие параметры. Сложность может возникнуть с тем, что у Optimize нет функции закрепления вершин, необходимой для работы с текстурами на объекте.
  • ProOptimize. Еще один стандартный модификатор, позволяющий уменьшить количество полигонов на трехмерной модели. Работая с параметрами, можно указать в процентах, на сколько нужно снизить полигональность, или сначала выполняем подсчет вершин, а потом указываем желаемое количество.
  • MultiRes. Считается наиболее эффективным модификатором для упрощения моделей путем снижения полигональности среди встроенных средств программы. Помимо указания процентного отношения и нужного количества вершин, здесь можно закрепить определенные вершины, необходимые для сохранения точной геометрии объекта.

Помимо встроенных модификаторов 3D Max позволяет использовать и дополнительные возможности, например, Polygon Cruncher, который является платным и устанавливается отдельно. Впрочем, уменьшить полигональность можно не только в 3d max, но и в других редакторах для создания трехмерных моделей.

Снижаем количество полигонов в других редакторах

Если ваша область работы — создание 3d моделей для игр, вы в основном используете ZBrush и не хотите переходить на 3D Max только ради того, чтобы уменьшить полигональность, вам подойдет плагин под названием Decimation Master. Для того, чтобы оптимизировать готовую модель, понадобится установить плагин, найти его в панели плагинов и произвести необходимые оптимизационные вычисления. Отлично подойдет для того, чтобы создавать различных персонажей.


Если вы работаете с персонажами в ZBrush, вам не обязательно использовать 3d max для снижения полигональности — применяйте плагины вашей программы

В Blender есть модификатор с похожим названием Decimate, и если вы работаете в этой программе, то для оптимизации полигональности он является наиболее подходящим. Параметры модификатора включают процентное уменьшение полигонов, сокращение итераций сглаживания и параметры углов. Экспериментируйте с этими значениями для того, чтобы получить наиболее подходящую комбинацию между внешним видом и количеством полигонов.



Рекомендуем почитать

Наверх