74d79791

Параметрические опции сглаживания


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

Для минимизации накладных расходов моделирования и поддержания скорости в 3DS МАХ включено понятие сглаживания. Сглаживание влияет на объект при его визуализации так, как если бы его геометрия была на самом деле сферической. Ребра, которые существуют между сглаженными гранями, в значительной степени игнорируются визуализатором по мере сглаживания сетки. Визуализированный эффект сглаживания отличается в интерактивном и окончательном визуализаторах из-за уровня визуализации затенения. Окончательный визуализатор использует в основном модели затенения Phong и Metal, создающие очень гладкие яркие участки путем усреднения цветового пространства каждого пиксела. Это противоположно используемой при сглаживании в 3D Studio MAX модели затенения Gouraud, при которой затенение интерполируется затенения между вершинами. Поэтому результирующее качество ярких участков зависит от плотности каркаса, поскольку чем больше определений, тем больше между ними затеняется вершин. На рисунке 7.11 приведено сравнение того, как выглядит одинаково гладкая геометрия в затененном видовом окне и в окончательном визуализаторе. На рисунке 7.12 показана та же геометрия без опции сглаживания.

Эффект сглаживания наиболее заметен на сферических каркасах, являющихся формой, на которой происходят аппроксимации функции сглаживания. Хотя сферы, созданные с совершенно различным количеством граней, имеют центральные секции, которые выглядят на удивление одинаково, в профиле сферы важными становятся дополнительные детали. На рисунке 7.12 показано, как очевидная "округленность" любого криволинейного периметра формы всегда определяется числом граней, из которых он состоит. Как человек, занимающийся моделированием, вы должны балансировать между количеством граней в сцене и необходимой степенью детализации. Помните, что сглаживание не влияет на истинную геометрию объекта - это только способ визуализации его поверхности.


ПРИМЕЧАНИЕ
Сглаживание не следует путать с модификатором MeshSmooth (сглаживание каркаса) (введено в версии 1.1), который фактически влияет на топологию поверхности, а не только на ее характеристики визуализации.
Сглаживание создает иллюзию округленности за счет присвоения соответствующим граням групп сглаживания. Все прилегающие соединенные грани, совместно использующие общую группу сглаживания, сглаживаются по своим граничным ребрам. Запомните, что сглаживание может работать только между соединенными гранями. Поэтому, когда объект имеет несколько групп сглаживания, которые присвоены различным его частям, сглаживание не распространяется на несоединенные области даже в том случае, если граням присвоена одна и также группа сглаживания.
СОВЕТ
Группы сглаживания, созданные процедурными методами, обычно очень хорошо организуются и обеспечивают удобный метод для выборки при использовании модификатора EditMesh.
Для большинства примитивов при выключенной опции Smooth группы сглаживания не присваиваются. Коробки, цилиндры и конусы являются исключениями и по-прежнему присваивают группу сглаживания своим плоским колпачкам. Обычно последующие операции моделирования могут деформировать эти ребра. Общая группа сглаживания для трех плоскостей обеспечивает продолжение их гладкой (и предположительно плоской) визуализации. Об этом следует помнить, когда вы начинаете деформировать эти стороны из их первоначальной плоскости и, возможно, не хотите, чтобы они в дальнейшем были гладкими.
ПРИМЕЧАНИЕ
Когда начинается модификация объекта, в особенности на уровне подобъектов, первоначальные присвоения группы сглаживания, вероятно, окажутся неправильным. В этом случае потребуется присвоить модификатор Smooth или выполнять сглаживание через модификатор EditMesh.

Содержание раздела