Последние новости
Blender View Layers и render-пассы: руководство для архитектурной визуализации7 практических шагов для ускорения рендера интерьеров в V-Ray 7Как перемещать объект вдоль кривой с помощью Follow Path в BlenderКак управлять Vertex Paint, Weight Paint и атрибутами в BlenderUnreal Engine World Partition и HLOD: настройка больших сценСимуляция ткани в Blender: давление, швы и группы закрепленияTexBridge автоматизирует перенос текстур из Painter в Unreal Engine 5Открылся Shanghai Grand Opera House: общественная спиральная крыша SnøhettaОформление листа в Rhino 8: виды, масштаб и печать — пошаговое руководствоКак создавать маски объектов и материалов в Blender с Cryptomatte
УрокиUnreal Engine

Unreal Engine World Partition и HLOD: настройка больших сцен

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

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

Коротко

  1. World Partition хранит мир в одном постоянном Level и загружает или выгружает его в виде настраиваемых ячеек.
  2. HLOD представляет содержимое незагруженных ячеек с помощью proxy mesh, позволяя показывать удалённые участки сцены.
  3. Для генерации HLOD нужно назначить Actor’ы слою HLOD Layer, установить для них Mobility в Static и запустить генерацию HLOD.
  4. Согласно документации, в шаблоне Open World функция World Partition включена по умолчанию; шаблон также содержит пример Landscape размером 2 км x 2 км.

Что вы узнаете из этого руководства?

В большой сцене на открытом воздухе важно сохранять детали рядом с камерой и одновременно показывать удалённые горы, деревья и здания. В Unreal Engine World Partition делит мир на ячейки и загружает или выгружает содержимое в зависимости от положения источников потоковой загрузки. HLOD (Hierarchical Level of Detail) может представлять содержимое ячеек, которые в данный момент не загружены, с помощью proxy mesh.

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

Требования и выбор начального варианта

В исходной документации не перечислены обязательные требования к ПО, типу аккаунта или оборудованию, помимо Unreal Engine. Для использования World Partition в проекте предусмотрено три способа: создать проект на основе шаблона из категории Games, выбрать Open World Level или преобразовать существующий Level.

Самый простой вариант для начала — карта Open World. В Unreal Engine выберите File > New Level, укажите тип карты Open World и нажмите Create. В этом шаблоне по умолчанию включены World Partition, One File Per Actor, Data Layers и HLOD. Пример карты также содержит Landscape размером 2 км x 2 км и настройку освещения для открытого пространства.

Если вы работаете с существующим Level, его можно преобразовать через пункт меню Tools > Convert Level. В официальной документации также описан способ использовать World Partition Convert Commandlet через командную строку. Если перед преобразованием нужно сохранить исходный Level, параметр -ConversionSuffix добавляет к преобразованной карте суффикс _WP. Параметр -ReportOnly формирует отчёт о возможном преобразовании, не выполняя его. Прежде чем применять эти параметры в проекте, выберите подходящий способ преобразования.

1. Разберитесь, как работает потоковая загрузка World Partition

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

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

Хотя можно использовать несколько runtime grid, в официальной документации отмечено, что несколько grid могут отрицательно сказаться на производительности. Поэтому на начальном этапе разумно использовать стандартный 2D Runtime Hash grid и не создавать дополнительные grid, пока в них не возникнет явная необходимость. В источниках не указано универсально правильное значение размера ячейки или дистанции загрузки: их следует подбирать с учётом масштаба сцены и требуемой видимости.

2. Создайте HLOD Layer и выберите его тип

Настройки HLOD управляются через asset HLOD Layer. Откройте Content Drawer и выберите + Add > Miscellaneous > HLOD Layer. Дважды щёлкните по новому asset, чтобы открыть его настройки. В проекте можно использовать несколько HLOD Layer, например, чтобы задать отдельные слои для разных групп Actor’ов.

Выберите тип слоя с учётом особенностей содержимого:

  • Instancing: представляет статические mesh с помощью компонентов Instanced Static Mesh, использующих минимальный уровень детализации. В документации в качестве примера такого применения приведены imposter для деревьев и растений.

  • Merged Mesh: объединяет статические mesh в один proxy mesh.

  • Simplified Mesh: объединяет mesh и упрощает их.

В настройках слоя доступны параметры Always Loaded, Cell Size и Loading Range. Обратите внимание: если включён Always Loaded, параметры Cell Size и Loading Range недоступны. В зависимости от выбора Merged Mesh или Simplified Mesh также становятся доступны дополнительные настройки объединения или proxy.

3. Назначьте Actor’ы слою и сгенерируйте HLOD

Перед генерацией HLOD назначьте соответствующие Actor’ы слою HLOD Layer. В документации перечислены три способа: свойство HLOD на панели Details Actor’а, параметр Default HLOD Layer у Data Layer или слой HLOD по умолчанию в World Settings.

Для Actor’ов, которые войдут в слой, установите Mobility в Static. Затем запустите генерацию HLOD через Build > Build HLODs. В качестве альтернативы можно использовать упомянутый в официальной документации commandlet WorldPartitionHLODsBuilder. После завершения генерации содержимое незагруженных ячеек может отображаться с помощью HLOD-прокси. Среди задач системы HLOD — сохранять видимость удалённого содержимого и сокращать количество draw call на кадр.

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

Первая ошибка — предполагать, что HLOD автоматически применяется к сцене. Actor’ы нужно назначить слою HLOD Layer, установить для них Static и отдельно запустить генерацию HLOD. Если одно из этих условий не выполнено, ожидаемые proxy могут не появиться.

Вторая ошибка — выбирать типы слоёв без учёта различий в содержимом. Для групп растений в документации в качестве подходящего варианта указано Instancing, а Merged Mesh и Simplified Mesh обеспечивают другие способы объединения. В частности, параметр Merge Distance в настройках Simplified Mesh может закрыть проёмы в удалённой геометрии — например, дверные или оконные. Поэтому проверяйте упрощённый результат с разных расстояний.

Наконец, не применяйте ко всей сцене одну и ту же схему, не проверив UV для lightmap, объединение материалов и параметры упрощения mesh. В документации отмечено, что при определённых условиях объединения могут возникнуть визуальные артефакты. В источниках не приведены универсальные значения качества или производительности для разных проектов, поэтому безопаснее испытать разные типы HLOD на характерных участках сцены и оценить результат.

Следующие шаги в архитектурном и archviz-процессе

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

Сначала проверьте тип слоя, поведение ячеек и результат HLOD на небольшом фрагменте сцены. Затем, до обработки всей сцены, оцените проёмы дверей и окон, lightmap и внешний вид материалов. Поскольку в документации не указаны требования к оборудованию или условия лицензирования, перед производством следует отдельно проверить конфигурацию Unreal Engine и рабочую среду, используемые командой проекта.

Источники и лицензия

Это руководство адаптировано на турецкий язык на основе официальных документов Epic Games World Partition и World Partition – Hierarchical Level of Detail (HLOD). В предоставленном списке источников для обоих документов указана лицензия «свободная».

Источники

Источников: 2
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition---hierarchical-level-of-detail-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 предлагает способ управления масштабными сценами окружения в рамках одного Level. Разделение HLOD Layer по типам содержимого — например, растительности, удалённому окружению или группам зданий — может помочь организовать сцену более контролируемо.

Однако источники не указывают конкретную версию, требования к оборудованию, стоимость лицензии или гарантированный прирост производительности. Поэтому командам разумнее сначала проверить потоковую загрузку и качество изображения на характерном фрагменте, а не преобразовывать сразу весь проект. В частности, в упрощённых mesh следует проверять проёмы дверей и окон и результат отображения материалов; также нужно отдельно уточнить используемую конфигурацию Unreal Engine и условия лицензирования.

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

Как включить Unreal Engine World Partition?

World Partition по умолчанию включён в шаблоне Open World Level. Существующие Level можно преобразовать через меню Tools > Convert Level или с помощью World Partition Convert Commandlet.

Как создать HLOD Layer в Unreal Engine?

В Content Drawer выберите + Add > Miscellaneous > HLOD Layer, чтобы создать asset. Затем выберите один из типов: Instancing, Merged Mesh или Simplified Mesh.

Какие условия нужны для генерации HLOD?

Actor’ы должны быть назначены HLOD Layer, а для Mobility должно быть установлено значение Static. Генерацию можно запустить через меню Build > Build HLODs или с помощью commandlet WorldPartitionHLODsBuilder.

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

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