Последние новости
Очистка mesh в Blender: 8 практических шагов для архитектурных моделейАрхитектурная визуализация с Nano Banana: API, промпты и редактированиеВышла RizomUV 2027.0: поддержка карт и пакетной обработки UVUnreal Engine World Partition и Level Instancing: руководство по большим сценамНастройка Unreal Engine Pixel Streaming: показ архитектурной сцены в локальной сетиBoolean Master создает вырезы в Blender всего за два кликаAlembic в Blender: импорт и экспорт анимированных сценСоздание архитектурных изображений с GPT Image API: пошаговое руководствоКак использовать Lattice Modifier в Blender: деформируйте модель без изменения исходной сеткиBlender: руководство по работе с библиотеками Link и Append
СоветыUnreal Engine

Unreal Engine World Partition и Level Instancing: руководство по большим сценам

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

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

Коротко

  1. World Partition делит мир на ячейки внутри одного постоянного Level и загружает или выгружает их в зависимости от источников стриминга.
  2. Level Instance объединяет несколько Actor в повторно используемую композицию Level; сохранённые изменения применяются и к другим копиям.
  3. В документации Packed Level Blueprint рекомендуется для статичных зданий и насыщенных визуальными элементами композиций.
  4. Level Streaming Mode может создавать дополнительную нагрузку; интенсивное использование этого режима способно повлиять на производительность.

В этом руководстве рассматриваются описанные в документации Unreal Engine рабочие процессы World Partition и Level Instancing применительно к крупным архитектурным сценам, окружению и повторяющимся визуальным компонентам. В исходной документации не указана конкретная версия Unreal Engine, поэтому названия меню и поведение функций приведены в соответствии с описанием в документации. World Partition избавляет от необходимости вручную разбивать большой мир на подчинённые Level, а Level Instancing позволяет преобразовывать выбранные группы Actor в повторно используемые композиции.

1. Подготовьте большой мир с помощью World Partition

World Partition хранит мир в одном файле постоянного Level и делит область на ячейки сетки, которые можно загружать во время выполнения. Ячейки загружаются или выгружаются в зависимости от положения источников стриминга, например игрока. Благодаря этому вместо всей сцены можно загружать только те её части, которые видны или используются в данный момент.

При создании нового проекта тип карты Open World по умолчанию включает World Partition, One File Per Actor, Data Layers и Hierarchical Levels of Detail. Согласно исходной документации, пример карты содержит участок ландшафта размером 2 km x 2 km и настройку освещения для открытой местности. Эта готовая карта может стать отправной точкой для крупной сцены окружения.

  1. Откройте File › New Level.

  2. Выберите тип карты Open World.

  3. Нажмите Create, чтобы создать карту.

Если вы работаете с существующим Level, преобразовать его можно с помощью Tools › Convert Level. В документации также описан способ преобразования с использованием WorldPartitionConvertCommandlet. Приведённая ниже команда — пример из документации; названия проекта и карты в ней являются примерами.

bat
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRendering

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

2. Настройте стриминг ячеек и поведение Actor

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

Положение источников стриминга и настройки Runtime Grid определяют загрузку ячеек. По умолчанию источником стриминга служит Player Controller; также можно использовать компонент World Partition Streaming Source. Например, с его помощью можно заранее загрузить ячейки вокруг места, куда будет телепортирован игрок. Настройки сетки находятся в разделе World Partition Setup в World Settings. Значения размера ячеек и радиуса загрузки из документации — это примеры возможных настроек, а не универсальные рекомендации.

НастройкаПример из документацииЭффект
Cell Size256 m x 256 m x 256 mОпределяет размер ячеек, используемых для создания streaming level.
Loading Rangeрадиус 768 mОпределяет расстояние от источника стриминга, в пределах которого загружаются ячейки.

В документации World Partition указано, что использование нескольких runtime grid может отрицательно повлиять на производительность. Поэтому, прежде чем увеличивать количество сеток, проверьте потребности сцены и поведение стриминга. Параметр Preview Grids отображает линии сетки в viewport и помогает визуально проверить её расположение.

3. Преобразуйте повторяющиеся композиции сцены в Level Instance

Level Instance объединяет группу Actor в подчинённый Level и позволяет размещать в сцене несколько копий этой композиции. Например, повторяющуюся группу зданий или отдельную точку интереса можно использовать как единую композицию. После сохранения изменения, внесённые в одну копию, применяются и к остальным.

  1. Выберите Actor, которые будут использоваться вместе, в viewport или Outliner.

  2. Щёлкните правой кнопкой мыши по одному из выбранных Actor и перейдите в Level › Create Level Instance.

  3. В открывшемся окне задайте тип pivot. В документации описаны варианты Center Min Z, Center и Pivot Actor.

  4. Подтвердите настройки и сохраните новый Level Instance.

Чтобы работать с композицией, выберите instance и перейдите в Level › Edit либо нажмите кнопку Edit на панели Details. Во время редактирования остальные Actor отображаются полупрозрачными. По завершении выберите Level Instance Actor в Outliner и сохраните изменения кнопкой Commit Changes на панели Details. Чтобы выйти без сохранения, можно дважды нажать Esc. Чтобы изменения распространились на остальные копии, после редактирования необходимо завершить сохранение.

Для статичных зданий и насыщенных визуальными элементами композиций можно рассмотреть вариант Packed Level Blueprint. Выберите нужные Actor, щёлкните правой кнопкой мыши и перейдите в Level › Create Packed Level Actor. В документации этот подход описан как объединение статических мешей в один Blueprint Actor, оптимизированный для рендеринга. Level Instance рассматривает группы Actor как повторно используемую композицию Level, тогда как Packed Level Blueprint объединяет композиции из статических мешей.

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

Команды, занимающиеся архитектурной визуализацией, могут оформлять повторяющиеся элементы зданий или композиции окружения как Level Instance и использовать один и тот же компонент в нескольких местах. Распространение изменений из одного экземпляра на остальные помогает сохранять единообразие повторяющихся композиций. Для крупных сцен окружения стриминг ячеек World Partition позволяет управлять необходимыми областями, не загружая всё одновременно. Однако в документации не указаны конкретные требования к оборудованию, условия лицензирования или гарантии производительности; необходимо тестировать решение в масштабе проекта. За пределами основного мира World Partition Level Instance не обеспечивает автоматического управления стримингом или стратегии его организации.

Также необходимо учитывать поведение во время выполнения. Level Instance и Packed Level Blueprint могут работать с World Partition Data Layers. Embedded Mode добавляет Actor из instance, использующих One File Per Actor, в сетку World Partition во время выполнения; документация называет этот режим стандартным и рекомендуемым способом организации контента. Однако некоторые Actor, не использующие One File Per Actor, могут исчезнуть во время выполнения. Если такие Actor необходимы, следует рассмотреть Level Streaming Mode, но он создаёт дополнительную нагрузку на стриминг, и документация не рекомендует интенсивно использовать его из-за влияния на производительность.

Типичные ошибки

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

  • Пропускать Commit Changes после редактирования Level Instance, если нужно распространить изменения на остальные копии.

  • Считать, что разбиение Level Instance на части можно отменить. Согласно документации, эту операцию нельзя отменить: она удаляет Actor и помещает исходные ассеты в сцену, но не удаляет исходник из Content Browser.

  • Не учитывать дополнительную нагрузку на производительность при интенсивном использовании Level Streaming Mode.

Источники

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

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

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

Для архитектурных и визуализационных студий в Турции эти два инструмента могут упростить организацию больших сцен окружения и повторяющихся групп зданий. Распространение изменений Level Instance на копии потенциально сокращает объём работы по обновлению одного и того же компонента в разных местах.

Вместе с тем документация не устанавливает конкретных требований к оборудованию или лицензированию и не предлагает универсальных оптимальных значений настроек ячеек. Поэтому вместо того, чтобы сразу принимать примеры параметров сетки за стандарт, следует протестировать стриминг сцены и проверить поведение Embedded и Level Streaming. Работа с резервными копиями до преобразования и операций, которые нельзя отменить, также поможет сделать рабочий процесс команды безопаснее.

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

Для чего нужен Unreal Engine World Partition?

Он делит большой мир на ячейки сетки внутри одного постоянного Level. Ячейки загружаются или выгружаются во время выполнения в зависимости от положения источников стриминга.

В чём разница между Level Instance и Packed Level Blueprint?

Level Instance объединяет группы Actor в повторно используемую композицию подчинённого Level. Packed Level Blueprint объединяет композиции из статических мешей в один Blueprint Actor.

Изменения Level Instance применяются к остальным копиям?

Да. После сохранения изменения распространяются на остальные копии. По завершении редактирования нужно нажать `Commit Changes` на панели Details.

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

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