Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Форма входа
Cпонсор
Форма входа
Главная » Статьи » Уроки 3DsMax » Уроки 3DsMax

Оптимизация высокополигональных моделей

Во-первых: прежде чем настраивать оптимизацию, решите для себя, насколько важна реальная полноценная геометрия той или иной модели сцены. Думаю, нет смысла объяснять, что весьма мрачно рендерить кресло на 170000 поликов с полным качеством, если оно одиноко тусуется в уголке на дальнем плане (и на конечной картинке будет размером 100х100 пикселов). А честный Врей (как и все остальные) будет стараться просчитать его полноценно, на всю катушку...
В таких случаях можно использовать модификаторы Optimize или MultiRes. Оба являются недеструктивными (то есть — при удалении их из стека модификаторов полностью восстанавливается начальная геометрия объекта), оба позволяют добиться весьма неплохих результатов. Можно ещё добавить, что Optimize больше «заточен» под работу с гранями и рёбрами, а MultiRes — под работу с вершинами. Какой из них выбрать — дело вкуса, хотя мне больше нравится MultiRes (как более простой в обращении и более эффективный).
В качестве тестового объекта была взята высокополигональная модель кресла (из коллекции EverMotion Max Elements) с разрешением 167467 полигонов.
Тестовая сцена: кресло (материал Standard), Врей-план (материал Standard), 1 плоский Врей-лайт (Subdivs. = 16), Irradiance Map (Hsph.Subdivs = 30, Interp.Samples = 120).

 

Оптимизация высокополигональных моделей

 

1А) Исходный каркас.

 

Оптимизация высокополигональных моделей

 

1Б) Исходный каркас — конечный рендер.


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

Основные настройки задаются двумя параметрами: Face Tresh. (степень деградации поверхностей) и Edge Tresh. (степень деградации рёбер). При высоких значениях выдаёт абсолютно непотребные варианты.
Результаты оптимизации тут же отображаются во вьюпорте и в нижней части панели настроек модификатора (в числовых значениях).


Дополнительные настройки:

  • Переключатели Renderer/Viewport L1/L2 — позволяют выставлять различные значения деградации для отображения во вьюпорте и при рендере;
  • Параметр Bias — задаёт допустимую величину смещения рёбер/граней при оптимизации;
  • Параметр Max Edge Len. — задаёт максимально допустимую длину рёбер при оптимизации;
  • Опция Auto Edge — оптимизирует оптимизированные рёбра;
  • Опция Preserve/Material Boundaries — сохраняет границы стыка материалов (в случае наложения на один меш нескольких материалов).
  • Опция Preserve/Smooth Boundaries — сохраняет уровень сглаживания поверхностей.

C помощью модификатора Optimize количество полигонов в тестовой модели удалось уменьшить до 70596 (примерно 42%). При больших значениях начинались явные косяки с геометрией...

Оптимизация высокополигональных моделей

 

2А) Исходный каркас с наложенным модификатором Optimize.

 

Оптимизация высокополигональных моделей

 

2Б) Исходный каркас с наложенным модификатором Optimize — конечный рендер.

 

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


Первое, что нужно сделать после наложения этого модификатора — щёлкнуть по кнопке Generate в нижней части панели настроек модификатора (будет произведён предварительный просчёт модели). При этом Макс может задуматься довольно надолго.
Основные настройки задаются одним параметром: Vertex Percent / Vertex Count. Параметра два, но делают они одно и то же: задают количество вершин в модели (первый — в процентном соотношении, второй — в числовом). Значение Face Count показывает количество граней в оптимизированной модели, значения Max Vertex и Max Face — количество вершин и граней в исходной модели.


Дополнительные настройки:

  • Параметр Vertex Merging — задаёт максимальное расстояние между вершинами, которые будут объединены в ходе оптимизации.
  • Опция Within Mesh — включает режим, в котором будут сливаться вершины, принадлежащие разным элементам в пределах одного меша.
  • Опция Boundary Metric — включает режим, в котором оптимизатор будет стараться сохранять внешние контуры меша.
  • Опция Maintain Base Vertices — включает режим, в котором оптимизатор не затрагивает выделенные вершины (вершины выделяются как суб-элементы модификатора MultiRes).
  • Параметр Crease Angle — устанавливает минимальное значение угла между гранями, который будет отображаться как сглаженный.

C помощью модификатора MultiRes количество полигонов в тестовой модели удалось почти безболезненно уменьшить до 33099 (20%!!!).

 

Оптимизация высокополигональных моделей

 

3А) Исходный каркас с наложенным модификатором MultiRes.

 

Оптимизация высокополигональных моделей

 

3Б) Исходный каркас с наложенным модификатором MultiRes — конечный рендер.


Вооот...

Кстати, забыл сказать, что:
1) Оба модификатора прекрасно садятся на группы объектов (если, конечно, объекты обладают примерно равноценными параметрами);
2) Вкуснятина : оба модификатора прекрасно анимируются! То есть, при создании сложных сцен с анимацией можно регулировать разрешение модели по мере удаления её от камеры!
Кроме того, возможность анимации разрешения позволяет... создавать довольно прикольные эффекты.

P.S. Сцена и материалы довольно простые, поэтому разница по времени не так ощутима. Хотя снижение времени рендера со 104 до 84 секунд — ИМХО, уже неплохо, около 20%...
P.P.S. Тутор делался очень быстро, поэтому просьба на кривые тени и прочие косяки внимания не обращать.


Автор: Kaigo

Категория: Уроки 3DsMax | Добавил: 3dmir (16.09.2008)
Просмотров: 3189 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Cпонсор
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Copyright MyCorp © 2024