Уменьшение полигональности 3D моделей с помощью Autodesk 3Ds Max и Rhinoceros
Иногда в работе приходится сталкиваться с 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
- rhinoceros
- 3d-моделирование
- 3d-печать
- Блог компании 3dquality
- 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. Для того, чтобы оптимизировать готовую модель, понадобится установить плагин, найти его в панели плагинов и произвести необходимые оптимизационные вычисления. Отлично подойдет для того, чтобы создавать различных персонажей.
В Blender есть модификатор с похожим названием Decimate, и если вы работаете в этой программе, то для оптимизации полигональности он является наиболее подходящим. Параметры модификатора включают процентное уменьшение полигонов, сокращение итераций сглаживания и параметры углов. Экспериментируйте с этими значениями для того, чтобы получить наиболее подходящую комбинацию между внешним видом и количеством полигонов.
Уменьшаем количество полигонов модели в 3d max
Бывает так, что нам нужно упростить модель. Делается это, например, чтобы облегчить сцену, оптимизировать работу с объектом, или же модель изначально была создана в сторонних программах, или автор модельки при экспорте задал наивысшее число полигонов. В уроке рассмотрим 3 модификатора: Optimize, ProOptimizer, Multires.
Совет: нажмите клавишу «7», чтобы во вьюпорте отображалась информация о количестве полигонов и вершин объекта.
Модификатор Optimize
Выделяем нашу модель. Заходим в Модификаторы, в раскрывшимся списке выбираем 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д макс. Пробуйте и у вас обязательно все получится!
Делитесь с друзьями статьей и ищите остальные ну ооочень полезные советы в нашей группе Вконтакте.
Уменьшение количества полигонов
Здравствуйте, очень надеюсь на помощь в таком вопросе, можно ли упростить сетку,не ломая ее при этом, как это делает ProOptimizer ? Дело в том,что модель из макса была импортирована в Zbrash чтоб нарисовать складочки, потом импортирована обратно в макс. Чтоб нарисовать складки пришлось увеличить сабдивы, перед экспортом конечно я их снова уменьшила,но все равно, файл с объектом весит 140 МБ. Хотела модель загрузить на сайт,но со всеми текстурами и максовским файлом сжать до 50 МБ не получается. Что посоветуете?
На сайте c 01.08.2010
Сообщений: 37
Казань
Привет. Для начала термины (что немаловажно) «ломание сетки», как я понимаю это ее триангуляция, так? Если так, то такого инструмента автоматического в максе я не знаю, может есть какие плагины. В ZBrush ZRemesher оставляет полигоны четырехугольными. Однако это больше инструмент для ретопологии, чем для оптимизации сетки. Второй момент — 140 Мб, что за модель может столько весить в максе? Трансформер вместе с ригом? Если речь все же больше о размере файла, чем оптимизации сетки, обратите внимание стоит ли у вас галка «Compress on Save» в Преференсах . Дело в том что во многих версиях макса по умолчанию она выключена, однако ее включение позволяет сильно оптимизировать сцену с большим числом полигонов, чтобы файл не занимал много места на жестком диске. Текстуры тоже можно оптимизировать
Но если все же приоритетней вопрос оптимизации сетки, можно из ZBrush вытащить сетку в нескольких вариантах, например LowPoly + NormalMap + Displasement (кому что больше нравится) и MiddlePoly (или HiPoly) со всеми складочками, но оставить эту тяжелую сетку исключительно в формате *.obj Такой способ, как мне видится, тоже позволит уменьшить вес конечного файла *.max в котором будут содержаться нужные материалы с нужными текстурами, а для любителей сеточек потяжелее — файл *.obj, разумеется с текстурными координатами
Не знаю . надеюсь хоть чем то помог.