Коротко
- World Partition хранит мир в одном постоянном уровне и делит его на загружаемые ячейки сетки.
- Data Layers позволяют группировать Actor’ы для организации в редакторе и загрузки во время выполнения.
- Для использования Data Layers на карте должен быть включён World Partition.
- В документации 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Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных студий в Турции практическая ценность 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++. Их можно использовать для загрузки и выгрузки контента.



