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

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

Суббота, 21.04.2018, 05:12
Приветствую Вас Гость
Главная | Регистрация | Вход
Форма входа

Дата
«  Апрель 2018  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30

Copyright MyCorp © 2018
Создать бесплатный сайт с uCoz