Последние новости
Настройки трассировки лучей в Blender EEVEE: рендер интерьераКак использовать Motion Paths в Blender: пошаговый просмотр пути анимацииMeta открыла доступ к моделям Muse Wonder и Wonder FullRuntime Virtual Texturing в Unreal Engine: настройка для архитектурных сценBlueprints AI планирует открыть доступ к версии второго поколения на этой неделеПредставлен INNO3D AGS-4UMGX-R1: сервер 4U с поддержкой восьми GPUIntel может повысить цены на Panther Lake для производителей ноутбуков на 15–20%Microsoft представила Maia 300: чип появится в производственных ИИ-нагрузках в 2027 годуАрхитектурная визуализация с Nano Banana 2.1: руководство по промптам и редактированию10-я биеннале в Чанаккале: керамика и программа до 20 ноября
СоветыUnreal Engine

Runtime Virtual Texturing в Unreal Engine: настройка для архитектурных сцен

Runtime Virtual Texturing в Unreal Engine создаёт данные текстур на GPU во время выполнения и кэширует информацию о шейдинге больших поверхностей. В этом руководстве описаны этапы настройки RVT для архитектурных сцен и важные нюансы выбора параметров.

Архитектурная визуализация современного дома, интегрированного в рельеф, с многоуровневыми ландшафтными поверхностямиИИ-изображение
Иллюстрация создана с помощью ИИ.Изображение: 3dsınıfı / FCA AI

Коротко

  1. Runtime Virtual Texturing (RVT) создаёт данные текстур на GPU во время выполнения и кэширует информацию о шейдинге больших областей.
  2. Для базовой настройки нужно подготовить ресурс RVT, добавить в сцену RVT Volume, настроить подходящие материалы и назначить их компонентам.
  3. В документации среди подходящих кандидатов для RVT перечислены компоненты Landscape, Landscape Splines, Static Mesh и Instanced Static Mesh.
  4. Тип материала на основе YCoCg может уменьшить некоторые артефакты цветовых переходов, но требует на 25% больше памяти и увеличивает стоимость выборки.

Согласно официальной документации Unreal Engine, Runtime Virtual Texturing (RVT) — это метод, который создаёт данные текстур на GPU по мере необходимости и кэширует информацию о шейдинге больших поверхностей. В проектах архитектурной визуализации его можно использовать, в частности, для поверхностей Landscape, материалов, прилегающих к рельефу, и работы со сплайнами. Приведённые ниже шаги основаны на документации Epic по настройке RVT. В документации по общей настройке не указана конкретная версия Unreal Engine; однако в примечании о совместимости говорится, что старый тип материала «Base Color, Normal» был доступен в UE 4.23, а в UE 4.24 автоматически преобразовывался в другой тип.

В каких сценах полезна RVT?

RVT можно использовать для сложных, многослойных или процедурных материалов, применяемых на больших поверхностях. Среди основных сценариев, перечисленных в официальной документации, — шейдинг Landscape, Landscape Splines, материалы, похожие на декали на мешах, а также смешивание рельефа с объектами. Система может помогать в работе с ландшафтом и подобными поверхностями в сценах экстерьеров, поскольку позволяет хранить данные шейдинга на больших пространствах.

Не следует путать RVT со Streaming Virtual Texturing (SVT). Оба метода связаны с текстурами высокого разрешения и загрузкой данных в память по мере необходимости. Однако данные texel для RVT создаются GPU во время выполнения, а данные SVT подготавливаются и загружаются с диска. Epic описывает SVT как подходящий вариант для данных, подготовка которых занимает много времени, например карт освещения и крупных детализированных текстур, созданных художниками.

Настройка RVT: пять основных шагов

  1. Создайте ресурс RVT. В Content Browser нажмите Add New или щёлкните правой кнопкой мыши; в категории Materials & Textures выберите Runtime Virtual Texture. Этот ресурс связывает объёмы в сцене с материалами, которые записывают данные в RVT или считывают их оттуда. Откройте ресурс и настройте размер, размер тайла и поддерживаемый тип Material Attributes.

  2. Добавьте в сцену Runtime Virtual Texture Volume. Объём размещает созданный ресурс RVT в сцене. Документация описывает добавление объёма через панель Modes или перетаскивание его из панели Place Actors в сцену. Объём должен охватывать актор, данные которого будут записываться в RVT; чаще всего это Landscape или похожая на рельеф поверхность.

  3. Настройте объём по границам источника. Выбрав RVT Volume, найдите в разделе Transform from Bounds панели Details поле Source Actor и укажите соответствующий актор. Затем кнопка Set Bounds поможет настроить положение, масштаб и поворот объёма по актору. Если в RVT будут записывать данные и другие компоненты, ещё раз проверьте, что объём их охватывает.

  4. Подготовьте материал для записи и выборки. Выражение Runtime Virtual Texture Output в материале используется для записи данных в RVT, а Runtime Virtual Texture Sample — для чтения данных из назначенного ресурса. Материалы компонентов, которые записывают данные в RVT, должны использовать поле Virtual Texture или содержать подходящие RVT Material Expressions. Чтобы изменить ресурс в отдельном экземпляре материала, можно использовать Runtime Virtual Texture Sample Parameter; тип материала выбранного ресурса должен совпадать с типом в узле параметра.

  5. Проверьте назначения компонентов. Добавьте нужный ресурс RVT в массив Render to Virtual Textures на панели Details компонента. Компоненты, записывающие данные в RVT или считывающие их оттуда, должны находиться в границах объёма. Кроме того, ресурс RVT должен быть назначен объёму в сцене, а материал — настроен соответствующим образом. Если одно из этих условий не выполнено, ожидаемый поток данных может не сформироваться.

Типы материалов и параметры карт освещения

Выбранный в ресурсе RVT Material Type определяет, какие данные будут храниться. В документации перечислены следующие варианты: это не рекомендуемые настройки для каждого проекта, а типы для разных задач работы с данными.

НастройкаТип материалаХранимые данные / примечание
Material TypeBase ColorХранит только базовый цвет; формат сжатия — BC1.
Material TypeBase Color, Normal, Roughness, SpecularХранит базовый цвет, нормали, шероховатость и спекулярные данные; при сжатии используются две текстуры BC3.
Material TypeYCoCg Base Color, Normal, SpecularКодирует базовый цвет в формате YCoCg; также включает нормали, шероховатость и спекулярные данные.
Material TypeWorld HeightХранит нормализованное значение высоты относительно минимальной и максимальной координат Z внутри RVT Volume.
Material TypeMask4Хранит четырёхканальную маску, значения каждого канала которой находятся в диапазоне от 0 до 1.

Кодирование YCoCg может уменьшить такие проблемы, как цветовой сдвиг и полосы, заметные в плавных переходах базового цвета. По данным документации, за это приходится платить дополнительными 25% памяти и дополнительными затратами производительности при выборке и декодировании данных виртуальной текстуры. Поэтому при выборе типа учитывайте не только визуальное качество, но также влияние на память и производительность.

Поддержку виртуальных текстур для карт освещения можно включить с помощью параметра Enable virtual texture lightmaps по пути Project Settings › Engine › Rendering. Epic отмечает, что эта функция может повысить потоковую производительность и качество запекания карт освещения. Параметр r.IncludeNonVirtualTexturedLightmaps управляет созданием и сохранением карт освещения, не использующих виртуальные текстуры. r.VT.EnableLossyCompressLightmaps включает сжатие карт освещения с потерями; в документации отмечено, что эта настройка снижает качество текстур карт освещения.

Рабочий процесс архитектурной визуализации и частые ошибки

RVT можно рассмотреть для архитектурных сцен с большими ландшафтными поверхностями, материалами Landscape и статичными компонентами, которые должны сливаться с рельефом. Наряду с Landscape и Landscape Splines, подходящими кандидатами считаются компоненты Static Mesh и Instanced Static Mesh. А вот скелетные и анимированные меши для этого не подходят. Поскольку содержимое RVT не обновляется целиком каждый кадр, ожидается, что объекты, записывающие данные в систему, обычно будут иметь тип Static.

Частые ошибки при настройке:

  • RVT Volume не охватывает компоненты, записывающие данные или выполняющие выборку.

  • Ожидание результата без настройки материала или назначения компоненту правильного ресурса RVT.

  • Использование движущихся и анимированных мешей так, будто они регулярно обновляемый кэш шейдинга.

  • Выбор YCoCg без учёта дополнительной стоимости памяти и выборки.

  • Игнорирование влияния сжатия карт освещения с потерями на качество.

В материале сцены с помощью Virtual Texture Feature Switch можно настроить альтернативный вариант для платформ, не поддерживающих виртуальные текстуры. На практике сначала отдельно проверьте ресурс RVT, границы объёма, узлы материала и назначения компонентов. Затем сравните визуальный результат и производительность в собственной сцене. В документации не указаны конкретные требования к оборудованию или единое значение настройки для всех проектов, поэтому важно проверять выбор с учётом условий конкретного проекта.

Источники

Источников: 2
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/virtual-texturing-in-unreal-engine
Пересказ
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/runtime-virtual-texturing-in-unreal-engine
Пересказ

Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.

Мнение 3dsınıfı
3dОценка редактора

Для студий архитектурной визуализации в Турции RVT стоит опробовать в сценах с большими ландшафтными поверхностями и статичной геометрией, интегрированной с рельефом. Результат зависит от правильной совместной настройки ресурса, объёма, материала и назначений компонентов. Поэтому сначала полезно протестировать систему на характерном участке сцены — так можно выявить возможные проблемы до её внедрения во весь проект.

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

Частые вопросы

Для чего нужна Runtime Virtual Texturing в Unreal Engine?

RVT создаёт данные текстур на GPU во время выполнения и кэширует информацию о шейдинге больших областей. Её можно использовать для шейдинга Landscape, сплайнов и смешивания рельефа с объектами.

Как настроить RVT Volume?

Добавьте Runtime Virtual Texture Volume в сцену. В разделе Transform from Bounds панели Details выберите Source Actor, затем настройте объём по актору с помощью кнопки Set Bounds.

Какие объекты не подходят для RVT?

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

Комментарии и форум — на турецком языке.Присоединиться к обсуждению
+

Похожие новости