Найти в Дзене
Уроки по Unreal Engine

Завершил исследование и не знаю

Завершил исследование и не знаю. Имеет ли смысл выпускать видео. Результаты есть и интересные, но не ожидаемые.

Runtime Virtual Textures - вижу смысл использовать только для ландшафта. На остальных объектах лучше использовать обычные текстуры + появляются интересные инструменты для смешивания. Например ландшафт может немного залезать на объекты, что даёт более красивую картинку и плавные переходы. С помощью RVT так же можно убрать траву под постройкой, как вариант, без использования коллизий и логики на блюпринтах. В таком ключе RVT дают бонус к производительности.

Атлас текстуры - дают буст для скелетных сеток, чуть меньше для статичных. Я применял для разных моделей. Возможно если у вас есть одинаковые меши, но с разными текстурами - то в этом случае можно получить уже хороший буст, но это надо проверять ещё. Не тестировал ещё на Foliage и Landscape.

Наниты - хорошо показали себя на статичных объектах с 80к полигонов. Уменьшают Draw calls и количество треугольников. На скелетных сетках работают ужасно. Не тестировал ещё на Foliage и Landscape.

Material instance - очень сильно экономят память. По производительности изменений не замечено.

Custom Primitive Data - ожидал, что будут уменьшать Draw Calls, как везде пишут и говорят на ютубе. На деле же оказалось, что разные индексы по прежнему создают копию материала, а значит и дополнительный вызов отрисовки. Чуда не произошло. Значение CPD должно быть одинаковым у всех мешей, в этом случае не вижу тогда смысла использовать и останется проблема, как правильно выбрать индекс текстуры из атласа. Изменение параметра в material instance так же создаёт копию материала и вызов отрисовки. На эту тему нужно ещё больше знаний. В тестировании объекты не мерджил, нужно будет попробовать и это. Буду признателен, если на эту тему у вас есть какие-то знания.

Instance static mesh - дает просто ультимативное преимущество. В 20 раз меньше треугольников, примерно в 3 раза меньше Draw Calls, меньше потребление памяти. Но все меши должны быть в рамках одного блюпринта. Работать не удобно и подходит только для статичных объектов - пустышек.

Ещё есть темы для изучения, помимо описанных выше. Нужно сравнить атлас текстур и texture array.

Затем провести такое же исследование для Landscape и Foliage.

Скорее всего я не буду монтировать скучное исследование, а скорее всего продолжу изучать тему и по результатам запишу более короткое и более емкое видео, где расскажу по каждой технологии отдельно и где необходимо ее применять. Сейчас я однозначно уверен, что нет смысла придерживаться крайних позиций. Например: «наниты говно, их надо отключить в проекте» или тоже самое для RVT.

Все имеет место быть, только нужно использовать для определённых задач, а не повсеместно. Как, где, почему и зачем использовать - и есть основная задача данного исследования.