Сглаживание полигональных объектов и усложненное моделирование
Сглаживание полигональных объектов обычно необходимо для придания модели более реалистичного вида, так как в реальной жизни у предметов практически не бывает прямых и острых граней. В 3ds Max выполнение этой операции с простыми объектами не составляет труда, однако чем сложнее полигональный объект, тем более тщательная проработка сетки требуется перед этой операцией. Казалось бы, чего проще, назначить один из модификаторов сглаживания, например Mesh Smooth (Сглаживание сетки), и он автоматически произведет нужные манипуляции с объектом. Подрегулировать параметры модификатора — и готова нужная модель. Но как уже было сказано выше, так можно поступать только с простейшими полигональными объектами, когда форма модели достаточно примитивна и симметрична.
Рассмотрим простейший пример — сглаживание бокса. Если в любом из видовых окон программы 3ds Max 2009 создать бокс из одного сегмента по длине, ширине и высоте, а затем назначить ему модификатор Mesh Smooth (Сглаживание сетки), объект приобретет форму октаэдра. Если теперь увеличить число итераций модификатора Mesh Smooth (Сглаживание сетки) до 4-5, то объект приобретет форму сферы.
а
б
Вот таким способом из бокса можно получить сферу. Если понадобится с помощью модификатора сглаживания получить бокс с закругленными гранями, то в зависимости от радиуса закругления граней необходимо будет увеличивать число сегментов длины, ширины и высоты бокса. Увеличение общего числа сегментов ведет к необоснованному в данном случае утяжелению модели, то есть увеличению числа полигонов. Чтобы добиться сглаженности граней, не слишком утяжеляя при этом модель, можно проделать нижеописанные действия. Прежде всего, нужно назначить боксу, состоящему из одного сегмента по трем измерениям модификатор Edit Poly (Редактировать полигон) или преобразовать его в редактируемую полигональную сетку. Выбрав подобъект Edge (Ребро), а затем, выделив ребра, перпендикулярные подлежащим скруглению, операцией Connect (Соединить) создать новые ребра, параллельные граням бокса, которые необходимо закруглить. Затем можно назначить модификатор сглаживания, Причем, чем ближе вновь созданное ребро будет к закругляемой грани, тем меньший радиус будет иметь фаска. Таким образом, результат сглаживания в случае увеличения числа сегментов до 10 и с использованием операции Connect (Соединить) будет одинаковым, при этом во втором случае бокс будет содержать примерно в 10 раз меньше полигонов. Увеличение числа итераций модификатора сглаживания в этом случае, кроме увеличения числа полигонов, приведет к более плавному сглаживанию граней.
а
б
Чаще всего для сглаживания полигонального объекта применяют модификаторы MeshSmooth (Сглаживание сетки) и TurboSmooth (Турбосглаживание). Модификатор TurboSmooth (Турбосглаживание) появился в одной из последних версий программы 3 ds Max. В отличие от MeshSmooth (Сглаживание сетки) он при сглаживании создает более наглядную корректную сетку, состоящую из прямоугольных полигонов, и все огрехи создания низкополигональной сетки сразу становятся видны. При этом модификатор Turbo Smooth (Турбосглаживание) не позволяет так управлять параметрами сглаживания, как MeshSmooth (Сглаживание сетки). В этом модификаторе предусмотрено три типа сглаживания: Classic (Классический), Quad Output (Четырехугольные грани) и NURMS (Non-Uniform Rational Mesh Smooth — Неоднородное рациональное каркасное сглаживание). Можно определить, с какими поверхностями — треугольными или четырехугольными — будет работать модификатор. Для типов сглаживания Classic (Классический) и Quad Output (Четырехугольные грани) значения параметров сглаживания вводятся в полях Strength (Сила) и Relax (Ослабление) области Smoothing Parameters (Параметры сглаживания), В панели Local Control (Локальный контроль) находятся элементы управления расположением и весами вершин и ребер после сглаживания. Это весьма мощный инструмент и достаточно сложный в обращении. Чтобы понять, какой из методов наиболее подходит для конкретного случая, нужно попробовать применить каждый из них.
а
б
МодификаторSmooth
Модификатор Smooth (Сглаживание) обеспечивает автоматическое отнесение смежных граней сетки к одной и той же группе сглаживания, если угол отклонения грани от плоскости соседней не превышает порогового значения. В результате при визуализации сетки, в том числе и в окнах проекций при тонированном режиме отображения, производится сглаживание видимых ребер между гранями, хотя в геометрию модели при этом не вносится никаких изменений. С помощью данного модификатора можно также принудительно назначить выделенной совокупности граней заданную группу сглаживания. Для использования модификатора Smooth (Сглаживание) выполните следующие действия.
- Выделите сетчатый объект целиком или выделите набор смежных граней объекта, ребра между которыми требуется сгладить при визуализации.
- Перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и выберите модификатор Smooth (Сглаживание). Появится свиток Parameters (Параметры).
- Используйте следующие элементы управления для настройки сглаживания граней:
- Auto Smooth (Автосглаживание) — установка этого флажка обеспечивает автоматическое отнесение к одной и той же группе сглаживания смежных граней, угол между нормалями которых не превышает величины, заданной в счетчике Threshold (Порог);
- Prevent Indirect Smoothing (Предотвратить косвенное сглаживание) — установка этого флажка, который доступен только в режиме автосглаживания, в некоторых случаях помогает устранить ошибки автоматического сглаживания;
- Smoothing Groups (Группы сглаживания) — набор кнопок с номерами, щелчок на любой из которых принудительно присваивает выделенной совокупности граней группу сглаживания, соответствующую номеру на кнопке.
На рисунке для примера показан сетчатый объект, представляющий собой тело лофтинга и изображающий заготовку капота некоего автомобиля. Отчетливо видны продольные ребра на поверхности объекта. На рисунке показан этот же объект после применения модификатора Smooth (Сглаживание), приводящего к некоторому сглаживанию ребер.
а
б
Модификатор MeshSmooth
Модификатор MeshSmooth (Сглаживание сетки) позволяет сгладить резкие изгибы сетчатой оболочки, добавляя дополнительные грани вдоль линий перегиба и в углах сетки.
Для использования модификатора MeshSmooth (Сглаживание сетки) выполните следующие действия.
- Выделите объект, оболочку которого требуется сгладить. Перейдите на командную панель Modify (Изменить) и выберите в разделе Subdivision Surfaces (Разбиение поверхностей) раскрывающегося списка модификаторов строку MeshSmooth (Сглаживание сетки). Появятся свитки Subdivision Method (Метод разбиения), Subdivision Amount (Степень разбиения), Local Control (Локальное управление), Soft Selection (Плавное выделение), Parameters (Параметры), Settings (Настройки) и Resets (Восстановление), показанные на рисунке.
- Настройте параметры модификатора сглаживания. Укажите тип оболочки, которая будет сформирована после сглаживания, выбрав в раскрывающемся списке свитка Subdivision Method (Метод разбиения) один из трех вариантов:
- Classic (Классическое) — будет сформирована обычная сетка с треугольными гранями и четырехугольными полигонами;
- Quad Output (Квадратичный выход) — при сглаживании сетки будут добавляться только четырехугольные полигоны (каждый из которых тем не менее также состоит из двух треугольных граней, разделенных невидимым в обычных условиях ребром);
- NURMS (Non-Uniform Rational MeshSmooth — Неоднородная рациональная сглаженная сетка) — будет сформирована оболочка типа NURMS, похожая на поверхности NURBS в том смысле, что также позволяет настраивать веса управляющих точек, влияющие на ее форму.
Установите или снимите следующие флажки:
- Apply To Whole Mesh (Применить ко всей сетке) — игнорируется любое выделение подобъектов, и сглаживание применяется ко всей сетке;
- Old Style Mapping (Проецирование в старом стиле) — будет использован подход к модификации системы проекционных координат при разбиении сетки на все большее количество граней, принятый в программе 3ds Max версии 3.
- Настройте параметры алгоритма сглаживания в свитке Subdivision Amount (Степень разбиения):
- Iterations (Итераций) — задает количество итераций применения модификатора сглаживания из диапазона от 0 до 10. В процессе каждой итерации создается дополнительный набор граней;