Если коротко:

LOD заменяет отдельный объект более простой версией на расстоянии, а HLOD объединяет дальние объекты в крупные прокси. В VR переходы настраивают консервативно: высокая плотность изображения и стереоскопия делают popping заметнее.

LOD и HLOD в VR уменьшают стоимость геометрии и draw calls для дальних объектов. Это особенно важно для сцены, которая отображается для двух глаз и должна удерживать стабильный бюджет кадра.

Разница между LOD и HLOD

LOD хранит несколько вариантов одного mesh и выбирает уровень по размеру на экране. HLOD собирает группу дальних объектов в прокси, уменьшая число draw calls. Эти методы дополняют друг друга.

Настройка переходов

Автоматическое уменьшение полигонов — отправная точка. Силуэт и крупные отверстия сохраняют дольше, чем мелкий рельеф. Нормали и запечённые карты помогают удержать вид поверхности, но сложный материал способен свести выигрыш к минимуму.

В VR popping заметен периферическим зрением и при движении головы. Разнесите пороги, используйте плавный переход там, где он доступен, и проверяйте оба глаза в гарнитуре.

Где помогает HLOD

Он особенно полезен для кварталов, производственных помещений и больших декораций, которые видны издалека. Подвижные и интерактивные объекты обычно не включают в статический кластер. Неправильная группировка создаёт большой прокси, который загружается ради небольшой видимой части.

Профилирование

Сравнивайте число треугольников, draw calls, время GPU и память до и после. Проверяйте тяжёлую точку обзора, а не пустой стартовый участок. Для автономной гарнитуры тестируйте на самом устройстве.

Контроль качества

Пройдите маршрут с типичной скоростью и отдельно быстро поверните голову рядом с порогом переключения. Ищите изменение силуэта, света и теней. Для важного объекта ручной LOD часто лучше автоматического.

LOD и HLOD полезны не ради меньшего числа полигонов в отчёте, а ради устойчивого кадра без заметной смены сцены.

Поделиться:TelegramВКонтакте

Источники

  1. Unreal Engine — Hierarchical Level of Detail
  2. Unreal Engine — Static Mesh LOD