Уровни детализации (LOD)
Last updated
Last updated
Уровни детализации (Level of Detail, LOD) используются для оптимизации полигональных моделей в игре. Это достигается путем создания нескольких версий модели с разным количеством полигонов. Эти версии применяются в зависимости от расстояния объекта до камеры.
Для каждого мэша, нуждающегося в уровнях детализации, создаются дополнительные модели с именами, дополненными суффиксом _lod<N>
, где <N>
— номер уровня детализации. Например, если основная модель называется body
и ей требуется три уровня детализации, то версии должны называться body_lod1
, body_lod2
, и body_lod3
.
Если для модели не созданы уровни детализации, считается, что она выглядит одинаково на всех уровнях. Если создано меньше уровней, чем указано в классе детализации, то последний из существующих уровней применяется ко всем последующим.
LOD'ы связываются с основным мэшем аналогично, как и основная модель. Если, например, у модели body
родительская кость называется basis
, то у всех версий LOD (например, body_lod1
, body_lod2
) родительской костью также должна быть basis
.
В свойствах компонентов LOD'ов [Object Properties] необходимо указать параметр poly
.
Если у элементов lod0
уже прописаны значения для анимации, они не переносятся на последующие LOD'ы. В уровнях lod1
, lod2
, и lod3
должен быть указан только параметр poly
Рекомендуется использовать более простые материалы для LOD'ов, отключая сложные шейдеры, такие как бамп, отражение и другие эффекты.
LOD'ы создаются для каждого элемента модели на уровне его подобъектов и могут быть сгруппированы в слои для удобства. При этом важно, чтобы пивоты всех уровней LOD совпадали с пивотом основной модели.
Несоответствие в координатах пивота между моделью и LOD'ами может привести к некорректному отображению и должно быть исправлено.
Lod 1: оставляется ~75-80% исходных треугольников.
Lod 2: оставляется ~50% исходных треугольников.
Lod 3: оставляется ~30-35% исходных треугольников.