Во-первых: прежде чем настраивать оптимизацию, решите для себя,
насколько важна реальная полноценная геометрия той или иной модели
сцены. Думаю, нет смысла объяснять, что весьма мрачно рендерить кресло
на 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
|