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

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

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


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


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


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


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


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


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


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

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% от имеющихся сейчас.


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

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


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


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


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


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


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

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


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

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


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


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


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

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


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


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

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


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


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


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


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


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


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

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


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

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


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

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


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

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


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


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


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


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

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


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

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


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

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


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


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

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


2.3 Плагин «Polygon Cruncher»


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


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


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

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


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

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


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

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


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


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


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


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


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