Коротко
- Для использования Data Layers на карте должен быть включён World Partition.
- Data Layer Asset существует на уровне проекта, а Data Layer Instance относится к конкретному миру.
- Editor Data Layers подходят для редактирования в редакторе; Runtime Data Layers можно использовать для управления во время выполнения.
- Epic предупреждает, что одновременная загрузка большого количества ресурсов и некоторые варианты использования Runtime Data Layers могут влиять на производительность.
Что вы узнаете из этого руководства?
В Unreal Engine World Partition делит большие карты на ячейки сетки в рамках одного постоянного уровня, загружая и выгружая их в зависимости от источников потоковой загрузки. Data Layers помогают группировать актёров на карте и управлять состоянием этих групп в редакторе или во время выполнения. В этом руководстве вы узнаете, как связаны две системы, чем отличаются Data Layer Asset и Data Layer Instance, а также как создавать слои и назначать им актёров.
Data Layers — инструмент для организации содержимого сцены и управления его загрузкой. В сценах архитектурной визуализации их можно использовать, чтобы разделить на группы компоненты здания, ландшафт и декор. То, какие актёры назначаются каждому слою, зависит от структуры проекта; в исходной документации не предлагается специальный шаблон слоёв для архитектурных сцен.
Требования и основные понятия
На карте, где вы собираетесь использовать Data Layers, должен быть включён World Partition. Согласно документации Epic, при создании нового уровня можно выбрать тип Open World через File > New Level. В этом типе карты World Partition и Data Layers включены по умолчанию. Чтобы добавить World Partition в существующий уровень, можно воспользоваться пунктом Tools > Convert Level или инструментом командной строки для преобразования World Partition.
В официальной документации не указаны необходимая для этих действий версия Unreal Engine, требования к учётной записи или минимальные характеристики оборудования. Поэтому следует отдельно проверить версию, используемую в проекте, и рабочий процесс команды.
Важно различать два основных понятия:
Data Layer Asset — ресурс на уровне проекта, который можно использовать в разных мирах. Он содержит такие сведения, как имя и тип Data Layer, а также цвет отладки.
Data Layer Instance — экземпляр, относящийся к конкретному миру. Один и тот же asset можно использовать в нескольких мирах; у каждого экземпляра могут быть собственные свойства, относящиеся к этому миру.
Для Data Layer Asset задаётся тип Editor или Runtime. Editor Data Layers используются для редактирования ресурсов в редакторе, их загрузки и выгрузки, а также управления видимостью. Runtime Data Layers можно контролировать во время выполнения с помощью Blueprint или C++. Например, игровое событие может загружать или выгружать ресурсы, назначенные соответствующему слою.
Настройка Data Layers: пошаговая инструкция
Откройте карту с включённым World Partition. Чтобы создать новую карту, перейдите в меню File > New Level и выберите тип Open World. Если вы продолжаете работу с существующей картой, рассмотрите возможность её преобразования. Поскольку преобразование может повлиять на структуру уровня, разумно сначала протестировать его в рамках рабочего процесса проекта, прежде чем применять к производственной карте.
Создайте Data Layer Asset. В Content Browser перейдите в папку, где хотите сохранить asset. Щёлкните правой кнопкой мыши и выберите Miscellaneous > Data Layer. Если назвать asset так, чтобы имя описывало группу содержимого, это поможет позднее находить нужный слой в Outliner. Это рекомендация по организации рабочего процесса; исходная документация не предписывает конкретный стандарт именования.
Добавьте Data Layer Instance. Откройте Data Layers Outliner, перейдя в Window > World Partition > Data Layer Outliner. Щёлкните правой кнопкой мыши в Outliner и выберите Create New Data Layer. Назначьте созданный Data Layer Asset появившемуся экземпляру с помощью раскрывающегося меню. Также можно перетащить asset в Outliner — это создаст новый экземпляр. Если перетащить asset на существующий экземпляр, будет создан дочерний экземпляр, связанный с выбранным asset.
Назначьте актёров слою. Выберите в viewport актёров, которых хотите добавить. Затем щёлкните правой кнопкой мыши по целевому экземпляру в Outliner и выберите Add Selected Actors to Selected Data Layers. Другой способ — использовать раздел Data Layers в панели Details выбранных актёров. Для назначения этим способом у выбранного Data Layer Asset должен быть экземпляр в мире.
Выберите тип слоя в соответствии с задачей. Если нужно редактировать содержимое в редакторе, загружать его или управлять видимостью, рассмотрите тип Editor; если планируете управлять слоем во время выполнения с помощью Blueprint или C++, используйте Runtime. Например, разделение вариантов оформления окружения на отдельные группы может упростить работу с определённой группой содержимого в редакторе. Это рекомендация по адаптации системы к организации архитектурных сцен; состав слоёв зависит от потребностей проекта.
Управляйте состояниями Runtime. Состояние Runtime Data Layer Instance можно изменять с помощью Blueprint или C++. В примере Blueprint из документации Epic используется узел Set Data Layer Instance Runtime State. В примере перевод экземпляра в состояние Loaded означает, что он загружен, но не виден на уровне. Управляя слоями во время выполнения, не путайте загрузку и видимость; проверяйте в сцене, соответствует ли результат ожидаемому поведению.
Настройте отображение Outliner по необходимости. Data Layers Outliner используется для просмотра существующих экземпляров, а также создания новых asset или экземпляров. В параметрах Outliner можно скрывать Editor или Runtime Data Layers, убирать из списка незагруженных актёров и выделять экземпляры, содержащие выбранных актёров. Эти параметры помогут упростить отображение при работе с большим количеством слоёв.
Использование в архитектурном и визуализационном процессе
Архитектурные бюро, дизайнеры интерьеров и команды archviz могут использовать Data Layers для организации групп содержимого в больших сценах Unreal Engine. Если объединить в отдельные слои окружение здания, элементы ландшафта и декор, работать с соответствующей группой и управлять её содержимым может стать проще. Однако создание слоёв само по себе не определяет распределение задач в команде или порядок обмена файлами; основная функция системы — организация актёров и управление состоянием их загрузки.
Data Layers работают совместно с World Partition. World Partition делит сцену на ячейки сетки и загружает их в зависимости от источников потоковой загрузки. В качестве такого источника можно использовать контроллеры игрока; также можно добавить компонент World Partition Streaming Source. Data Layers, в свою очередь, логически группируют актёров и помогают организовать структуру больших уровней. Сначала команде стоит определить, какое содержимое нужно сгруппировать, а затем решить, будут ли слои контролироваться в редакторе или во время выполнения.
В отношении производительности Epic отмечает, что одновременная загрузка слишком большого количества ресурсов может вызывать проблемы. Кроме того, назначение часто используемых ресурсов множеству Runtime Data Layer Instance может снизить производительность потоковой загрузки World Partition. Это предупреждение не устанавливает фиксированный предел числа слоёв, поэтому поведение загрузки нужно проверять в условиях конкретного проекта. Использование функциональных групп вместо создания отдельного слоя для каждого актёра — рекомендация, которая поможет сохранить понятную структуру.
Поскольку в источниках не указаны минимальные требования к оборудованию, нельзя сделать вывод о достаточности конкретной конфигурации компьютера. В больших сценах проверяйте объём загружаемого содержимого и работу потоковой загрузки. Также убедитесь вместе с командой, что версия Unreal Engine, используемая в проекте, подходит для преобразования и рабочего процесса Data Layers.
Распространённые ошибки
Не учитывать требование World Partition: для Data Layers нужна карта с включённым World Partition. Перед созданием слоёв проверьте, что карта соответствует этому требованию.
Считать asset и instance одним и тем же: asset существует на уровне проекта, а instance относится к конкретному миру. Убедитесь, что созданный в Outliner экземпляр связан с нужным asset.
Путать типы Editor и Runtime: Editor Data Layers предназначены для работы с содержимым и видимостью в редакторе, а Runtime Data Layers — для управления через Blueprint или C++ во время выполнения. Выбирайте тип с учётом сценария использования.
Игнорировать затраты на загрузку: одновременная загрузка большого количества ресурсов или назначение часто используемых ресурсов множеству Runtime Data Layer Instance могут повлиять на производительность. Проверьте структуру слоёв на небольшом тесте.
Следующие шаги
Для первого теста возьмите небольшое количество актёров: создайте один Editor Data Layer и один Runtime Data Layer, назначьте им актёров и проверьте в Outliner видимость и состояние загрузки. Если нужны изменения во время выполнения, управляйте состояниями Runtime Data Layer через Blueprint или C++.
Команды, собирающиеся преобразовать существующий уровень, могут использовать параметр -ReportOnly из документации World Partition, чтобы получить отчёт о том, что будет сделано при преобразовании. Этот параметр не выполняет преобразование. Проверьте параметры инструмента командной строки и структуру исходного уровня; не применяйте непроверенные изменения непосредственно к производственной сцене.
В больших сценах рассматривайте структуру Data Layers вместе с ячейками World Partition и источниками потоковой загрузки. Epic также отмечает, что использование нескольких runtime grid может негативно сказаться на производительности. Проверка структуры слоёв и потоковой загрузки в собственном проекте до переноса в производственную сцену поможет заранее выявить возможные проблемы с загрузкой.
Источник и лицензия
Это руководство адаптировано на турецкий язык на основе официальной документации Epic Games по Data Layers и World Partition в Unreal Engine. В предоставленных сведениях об источниках оба материала указаны как распространяемые по свободной лицензии.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных команд в Турции практическая польза Data Layers заключается в том, что они позволяют упорядоченно управлять группами содержимого в больших сценах Unreal Engine. Команды, работающие с разными группами актёров — например, окружением, ландшафтом и декором, — могут воспользоваться управлением выбором и видимостью через Outliner.
Бюро, рассматривающим эту функцию, важно проверять поведение загрузки на собственных сценах: Epic предупреждает, что чрезмерная загрузка и некоторые варианты использования Runtime Data Layers могут повлиять на производительность. Поскольку в источниках не указаны минимальные требования к оборудованию и версиям, необходимо отдельно проверить условия конкретного проекта.
Частые вопросы
Нужен ли World Partition для использования Data Layers в Unreal Engine?
Да. Для системы Data Layers на карте должен быть включён World Partition. Новую карту можно создать с типом Open World, а существующую — преобразовать.
Чем Data Layer Asset отличается от Data Layer Instance?
Data Layer Asset существует на уровне проекта и может использоваться в разных мирах. Data Layer Instance относится к конкретному миру.
Для чего нужны Editor и Runtime Data Layers?
Editor Data Layers используются для редактирования содержимого и управления видимостью в редакторе. Runtime Data Layers можно контролировать во время выполнения с помощью Blueprint или C++.



