Последние новости
Руководство по Cinema 4D MoGraph: Cloner, распределение и производительностьНастройки камеры и рендера в Blender для архитектуры: пошаговое руководствоArchicad 29: руководство по настройкам модели и экранаРуководство: линейная графика архитектурных сцен с Blender Line ArtРуководство по Unreal Engine World Partition: организация больших карт с Data LayersАрхитектурная анимация в Blender с помощью ключевых кадров и драйверовУправление всей сценой через Material Parameter Collection в Unreal EngineФильтры фаз в Revit: как выбрать подходящий для видов реконструкцииКак настроить Runtime Virtual Texturing в Unreal Engine: пошаговое руководствоРуководство по Blender Voxel Remesh: размер вокселя и геометрия
СоветыUnreal Engine

Руководство по Unreal Engine World Partition: организация больших карт с Data Layers

Система World Partition в Unreal Engine делит большие миры на ячейки сетки и загружает их в зависимости от источников потоковой загрузки. В руководстве рассматриваются организация сцены с помощью Data Layers и преобразование существующих уровней.

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

Коротко

  1. World Partition хранит мир в одном постоянном уровне и делит его на загружаемые ячейки сетки.
  2. Data Layers позволяют группировать Actor’ы для организации в редакторе и загрузки во время выполнения.
  3. Для использования Data Layers на карте должен быть включён World Partition.
  4. В документации Epic не указана версия; в одном из примеров пути командной строки встречается папка UE_5.1.

Рабочий процесс с World Partition и Data Layers, описанный в официальной документации Unreal Engine, предназначен для организации больших уровней и их потоковой загрузки по частям во время выполнения. Система хранит мир в одном файле постоянного уровня, разделяя область на ячейки сетки; их загрузка зависит от расположения источников потоковой загрузки. Data Layers позволяют группировать Actor’ы для организации в редакторе или включения и отключения во время выполнения. Epic не указывает, для какой именно версии Unreal Engine предназначена документация; один из примеров каталога в командной строке содержит папку UE_5.1.

1. Для начала настройте World Partition

World Partition описывается как система автоматического управления данными и потоковой загрузки уровней на основе расстояния, уменьшающая необходимость вручную делить большую карту на подуровни. Область мира разбивается на ячейки: ячейки рядом с источником потоковой загрузки, например игроком, загружаются, а больше не нужные ячейки могут выгружаться. Таким образом, во время выполнения предполагается загружать только те части карты, которые видны или доступны для взаимодействия.

При создании нового уровня можно выбрать тип карты Open World. Согласно официальной документации, в этом шаблоне по умолчанию включены World Partition, One File Per Actor, Data Layers и Hierarchical Levels of Detail. Для преобразования существующих уровней можно воспользоваться меню Tools > Convert Level или World Partition Convert Commandlet. Поскольку преобразование затрагивает проект и уровень, важно заранее сохранить исходные файлы и выполнять его контролируемо.

Пример команды:

Промпт
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRendering

В документации также перечислены параметры преобразования, например -ReportOnly. Этот параметр выводит отчёт о том, что произойдёт, не выполняя преобразование. Для тестирования -ConversionSuffix может добавить к преобразованной карте суффикс _WP. Также доступен параметр -DeleteSourceLevels, который удаляет исходные уровни после преобразования. Поэтому аргументы следует выбирать с учётом потребностей проекта.

2. Разберитесь с загрузкой ячеек и источниками потоковой загрузки

Загружается ли Actor и при каких условиях, определяет параметр Is Spatially Loaded в разделе World Partition панели Details. Если он включён, Actor загружается при попадании в радиус источника потоковой загрузки, если только Actor не назначен неактивному Data Layer. Если параметр выключен, Actor загружается независимо от пространственного радиуса, если только он не назначен неактивному Data Layer.

По умолчанию в качестве источника потоковой загрузки может использоваться Player Controller. Кроме того, на сцену можно добавить компонент World Partition Streaming Source. В нём доступны такие параметры, как целевая сетка, приоритет и перевод ячеек в состояние Loaded или Activated. Если ячейка попадает в область действия нескольких источников потоковой загрузки, учитываются приоритет и целевое состояние.

ПараметрРекомендуемое значениеЭффект
Cell SizeПример из документации: 256 м × 256 м × 256 мОпределяет размер ячеек, используемых для создания уровней потоковой загрузки.
Loading RangeПример из документации: радиус 768 мОпределяет расстояние от источника потоковой загрузки, в пределах которого загружаются ячейки.
Количество Runtime GridВ документации отмечено, что несколько сеток могут негативно повлиять на производительность; конкретное рекомендуемое значение не приводится.Влияет на загрузку ячеек во время выполнения.

Размер ячеек и расстояния в таблице — примеры из документации, а не неизменные рекомендуемые значения для каждого проекта. Реальные настройки нужно проверять с учётом масштаба сцены и структуры контента. Поведение загрузки в редакторе также отличается от поведения во время выполнения: при открытии большого мира редактор изначально не загружает его целиком; загружаются Actor’ы, у которых выключен параметр Is Spatially Loaded.

3. Группируйте контент с помощью Data Layers

Для использования Data Layers на карте должен быть включён World Partition. Система различает два типа ресурсов: Data Layer Asset содержит данные на уровне проекта, которые можно использовать в разных мирах, а Data Layer Instance хранит свойства, относящиеся к конкретному миру. Один Asset можно использовать в разных мирах через отдельные Instance.

Чтобы создать Data Layer Asset, откройте нужную папку в Content Browser и выберите Miscellaneous > Data Layer. Затем в окне Window > World Partition > Data Layer Outliner щёлкните правой кнопкой мыши, выберите Create New Data Layer, создайте Instance и назначьте ему Asset. Чтобы добавить Actor’ы, выберите нужные Actor’ы в Outliner и выполните команду Add Selected Actors to Selected Data Layers для целевого Instance. Это также можно сделать в разделе Data Layers панели Details выбранных Actor’ов.

Тип Asset можно задать как Editor или Runtime. Editor Data Layers предназначены для организации контента в проекте, а также его загрузки и выгрузки в редакторе. Runtime Data Layers можно изменять во время выполнения через Blueprint или C++. Например, разные состояния сцены можно хранить в отдельных слоях, однако такую структуру нужно проектировать с учётом потребностей проекта. Одновременная загрузка большого количества контента может вызвать проблемы с производительностью. Кроме того, назначение часто используемых Actor’ов чрезмерному числу Runtime Data Layer Instance может снизить производительность потоковой загрузки World Partition.

4. Что меняется в рабочем процессе архитектурной визуализации?

При визуализации большой территории или здания World Partition позволяет управлять нужными ячейками вместо одновременной загрузки всей сцены. Data Layers помогают разделять элементы окружения и разные группы контента в редакторе. Такой подход может быть особенно полезен, когда участники команды работают над одним миром и сосредоточены на определённых компонентах. Хранение Actor’ов в отдельных файлах благодаря One File Per Actor призвано уменьшить некоторые препятствия, связанные с совместной работой над файлом уровня.

Перед началом работы убедитесь, что на карте включён World Partition: Data Layers сами по себе не заменяют это требование. Если вы выполняете преобразование, сначала сохраните исходную карту и изучите параметры, не выполняющие преобразование, например -ReportOnly. При настройке потоковой загрузки не воспринимайте примеры размера ячеек и радиуса загрузки из документации как универсальную рекомендацию. В источниках Epic нет сведений о конкретных требованиях к оборудованию или условиях лицензирования. Поэтому совместимость оборудования и лицензию проекта необходимо отдельно проверить для используемой конфигурации.

Частые ошибки

  • Попытка использовать Data Layers на карте, где не включён World Partition.

  • Восприятие примеров размера ячеек и радиуса загрузки из документации как неизменных рекомендаций для любой сцены.

  • Одновременная загрузка большого количества контента или распределение часто используемых Actor’ов по чрезмерному числу Runtime Data Layer Instance.

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

Источники

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

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

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

Для архитектурных и визуализационных студий в Турции практическая ценность World Partition заключается в том, что система помогает разбивать большие сцены на управляемые части и позволяет участникам команды сосредоточиться на определённых группах Actor’ов. Data Layers дают удобную структуру для команд, которым нужно упорядочить окружение и альтернативный контент.

В то же время в источниках нет информации о стоимости внедрения или требуемом уровне оборудования; студиям следует отдельно оценить условия своего проекта и лицензирования. Чаще всего упускают из виду необходимость World Partition, склонность копировать примеры настроек ячеек без проверки и загрузку слишком большого числа слоёв одновременно. Более безопасный старт — получить отчёт до преобразования и проверить поведение загрузки на реальной сцене.

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

Как создать Data Layers в Unreal Engine?

Создайте Data Layer Asset через `Miscellaneous > Data Layer` в Content Browser. В Data Layers Outliner создайте новый Instance и назначьте ему Asset.

Как добавить World Partition в существующий уровень?

Согласно документации Epic, уровень можно преобразовать через меню `Tools > Convert Level` или с помощью World Partition Convert Commandlet. Параметр `-ReportOnly` в commandlet выводит отчёт, не выполняя преобразование.

Для чего нужны Runtime Data Layers?

Runtime Data Layers можно изменять во время выполнения через Blueprint или C++. Их можно использовать для загрузки и выгрузки контента.

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

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