LOD – Level Of Details. Уровень детализации модели. Принцип построения нескольких вариантов одного объекта с разной степенью проработки, для уменьшения нагрузки на видеокарту.
В играх и real-time проектах основная нагрузка приходится на видеокарту. В техническом задании к большинству моделей указан максимальный поликаунт (бюджет на количество треугольников). Таких моделей в сцене может быть десятки и сотни. Для экономии ресурсов был придуман алгоритм, оптимизирующий нагрузку и использование видеопамяти. Для каждого объекта создается несколько моделей с разной степенью детализации. При удалении объекта от виртуальной камеры, модель с большей детализацией заменятся моделью с меньшей. При правильной реализации, процесс не заметен глазу.
Количество вариантов модели в обычной ситуации составляет 3-4шт. И зависит от технических требований проекта. LOD0 – модель с наибольшей детализацией и качеством текстур. Имеет самое большое количество полигонов. LOD1 – от 30 до 50% меньше, чем LOD0 и т.д. до последнего. Уменьшение в процентах рассчитывается от предыдущего. Если количество LOD-ов 3, то последний будет LOD2. Он может иметь совсем небольшое количество полигонов от 100 до 200, а текстура разрешение 512x512px или еще меньше. Например, LOD2 простого здания может быть просто куб, на который «запечено» изображение всех окон, дверей, балконов и прочих деталей. При этом количество треугольников будет 12, а LOD0 – может исчисляться десятками тысяч. Здание самый простой пример. В сцене могут быть деревья, техника, люди и т.д. Но принцип для всего один.
Есть два метода, статический и динамический. При статическом, все варианты модели создаются на этапе моделирования, а при динамическом, в реальном времени. Динамический вариант часто содержит ошибки в геометрии, поэтому качественная реализация создается вручную. Так можно точнее контролировать результат.
Современные игровые движки, такие как Unreal Engine, имеют в своем распоряжении инструменты для динамического создания LOD-ов. Этот вариант удобен своей гибкостью настройки количества и качества уровней детализации. Но результат не всегда до конца предсказуем. С выходом Unreal Engine 5 ситуация может кардинально измениться. Релиз версии запланирован на начало 2022 года. Одной из ключевых технологий будет «Nanite» - которая позволяет загружать в сцену модели с миллионами полигонов без особого ущерба для производительности. Однако это касается только настольных ПК и игровых консолей. На мобильных платформах еще долгое время будет использоваться принцип «Level Of details».
Больше интересного в Телеграм канале "Записки 3D-шника" https://t.me/notes3drus
Пишите своё мнение в комментариях. Если вам понравилась статья, поддержите канал лайком и подпиской. Спасибо.