С выпуском Unreal Engine 5 разработчики игр получили в своё распоряжение систему World Partition.
World Partition открывает авторам путь к созданию больших и сложных островов, экономя при этом память и обеспечивая бесперебойную работу на разных платформах.
Два важных компонента, на которых основана система World Partition, — это подгрузка и иерархические уровни детализации (HLOD).
Подгрузка
World Partition использует подгрузку для загрузки и выгрузки из памяти ячеек решётки вокруг игрока или триггера подгрузки. Это позволяет держать в памяти машины только данные ячеек вокруг персонажа игрока.

Если остров превышает 1 км по самой длинной оси, вы увидите всплывающее окно с предложением включить подгрузку.

Если установлен флажок Включить подгрузку, при определении Текущего расхода оперативной памяти учитываются только ячейки вокруг текущего местоположения игрока, с некоторыми исключениями.

Нажмите Окно > Параметры мира, чтобы проверить, включён ли параметр Включить подгрузку.

При установке флажка в первый раз вам нужно будет подтвердить выбор.

Теперь в вашем проекте включена подгрузка.
Чтобы визуализировать решётку острова, установите флажок Предпросмотр решёток в Параметрах мира.

Вы можете изменять размер каждой ячейки и диапазон загрузки, но учитывайте, что настройки по умолчанию оптимизированы для островов, совпадающих по размеру с островами в Королевской битве Fortnite.
Для получения более подробной информации см. World Partition в документации по Unreal Engine 5.
Иерархические уровни детализации (HLOD)
Иерархический уровень детализации, или HLOD, — это оптимизированная группировка близлежащих акторов, при которой группа упрощается до одной статичной сетки, как только она оказывается достаточно далеко от триггера подгрузки.
HLOD генерируются исходя из уровня детализации (LOD) ресурса с самым низким качеством. Если для пользовательских ресурсов не заданы уровни детализации, HLOD будет потреблять очень много памяти, поскольку он будет генерироваться по ресурсам с полным разрешением.
LOD0 — ресурс с самым высоким качеством. LOD1 — сетка со средним качеством. По мере увеличения номера уровня детализации качество снижается.
![]() |
![]() |
На изображении слева представлены ресурсы с максимальной детализацией, а ресурс справа — это ресурс HLOD, сгенерированный по этой ячейке решётки.
Создание HLOD добавляет новые ресурсы в проект, что увеличивает общее потребление памяти островом.
В зависимости от того, какой вариант использования подгрузки и HLOD выбран, на потребление памяти влияют следующие факторы:
Подгрузка ВЫКЛ. | Ресурсы не выгружаются из памяти, и HLOD не используются. | Максимальное потребление памяти |
Подгрузка ВКЛ. и HLOD генерируются | Ресурсы по-прежнему отображаются на расстоянии, но с уменьшением детализации по мере удаления камеры. | Умеренное потребление памяти |
Подгрузка ВКЛ. и HLOD не генерируются | Ресурсы исчезают по мере удаления от камеры. | Минимальное потребление памяти |
Создание HLOD
Чтобы создать HLOD, убедитесь, что в проекте включена Подгрузка, затем выберите на панели инструментов Создать > Создать элементы HLOD.

Время генерирования HLOD зависит от производительности вашего компьютера и сложности созданного вами мира. Однако при повторном запуске этого процесса HLOD создаются только для измененных регионов мира, так что вся процедура занимает гораздо меньше времени.
Чтобы больше узнать о том, как работают HLOD, см. World Partition — иерархический уровень детализации в документации по Unreal Engine 5.
Исключение ресурсов при создании HLOD
Для некоторых ресурсов HLOD не требуются. Вот несколько примеров ресурсов, которые можно исключить:
Объекты окружения в помещениях и ресурсы для строительства | Любой ресурс, который не видно на расстоянии, не требует HLOD. Это могут быть предметы мебели, внутренние стены и полы и прочее. |
Подземные ресурсы | Любая часть острова, которая находится под землёй и которую игрок никогда не увидит. Это могут быть подвалы, пещеры, траншеи, бункеры и прочее. |
Маленькие акторы | Маленькие акторы, которые не занимают много места на экране игрока, не требуют HLOD. Это могут быть ящики, растения и фонари. |
Большие акторы | Любые большие акторы на заднем фоне, к примеру небоскрёбы или горы, не требуют HLOD. Если вы исключите их из HLOD, не забудьте сделать так, чтобы они всегда оставались загруженными, сняв флажок Пространственно загружаемый на панели Сведения. |
Выберите любой ресурс, который не требует HLOD. В зависимости от типа ресурса снимите флажок Включить актор в HLOD или Включить компонент в HLOD на панели Сведения.

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

Качество HLOD привязано к их предполагаемой дальности прорисовки. При использовании подгрузки минимальное расстояние, на котором будут видны HLOD, — это диапазон загрузки, который вы настроили для решётки World Partition.
Если HLOD загружаются только тогда, когда уже имеют небольшой размер на экране игрока, они будут занимать меньше места в памяти.
Чтобы изменить диапазон загрузки:
- Выберите вкладку **Настройка World Partition.
- Разверните Настройки среды выполнения > Решётки.
-
Измените диапазон загрузки, нажав левую кнопку мыши и перетащив числовое значение влево или вправо, или введите точное значение в поле.
Использование загружаемых регионов для повышения производительности в редакторе
Во время работы над большими проектами в UEFN могут возникнуть проблемы с производительностью при достижении островом определённого размера. По умолчанию в память загружается весь остров. Чтобы повысить частоту кадров и улучшить отклик в окне просмотра, вы можете загружать и выгружать регионы во время работы над разными частями острова.
Во время работы над большим островом или островом с большим количеством объектов в редакторе UEFN используйте мини-карту World Partition, чтобы загружать и выгружать секции острова — это позволит значительно сократить время загрузки.
Для этого:
-
Убедитесь, чтобы на уровне включена подгрузка.
-
Выберите в строке меню Редактировать, а затем Настройки редактора…
-
Перейдите в раздел World Partition и снимите флажок Отключить загрузку в редакторе.
-
Перезагрузите проект. Эта настройка вступает в силу только после перезагрузки.
-
На вкладке World Partition нажмите левую кнопку мыши и выделите область, которую вы хотите выгрузить.
-
Нажмите правой кнопкой мыши на выделенную область и выберите Выгрузить выбранные регионы.
-
Чтобы снова загрузить регион, выделите его, нажав левую кнопку мыши, а затем выберите Загрузить выделенный регион.
Обратите внимание, что загрузка и выгрузка не затрагивают ландшафт и устройства. То же самое относится к любому ресурсу, у которого в Пользовательских настройках снят флажок «Пространственно загружаемый».
Слои данных в UEFN
Слои данных — это система в UEFN, которая позволяет размещать акторы в разных слоях. Эти слои можно загружать и выгружать, чтобы организовать мир, управлять сложными уровнями и создавать уникальный игровой процесс. Представьте себе игру со случайно генерируемыми уровнями. Настроив разные компоновки уровней в разных слоях и случайным образом выбирая один из них при запуске игры, можно здорово разнообразить игровой процесс. Вы можете использовать слои данных и для более серьёзных изменений, к примеру для смены сезона на уровне с лета на зиму или для добавления разрушений замка после битвы.
Для получения более подробной информации о создании слоёв и управлении ими см. соответствующие страницы в документации по Unreal Engine
Управление слоями данных с помощью последовательности внутриигрового видео
Вы можете использовать последовательность внутриигрового видео в UEFN для загрузки, активации и выгрузки слоёв данных в среде выполнения и в ответ на события.
На вкладке Sequencer нажмите на кнопку Дорожка и выберите Слой данных, чтобы добавить существующий слой данных к дорожке Sequencer.

Настроив дорожку, нажмите правой кнопкой мыши на дорожке Слой данных и выберите Редактировать секцию. Затем нажмите на Добавить элемент на вкладке Ресурсы слоя данных и выберите слой данных, который вы хотите использовать с последовательностью внутриигрового видео.

Если нажать правой кнопкой мыши на слое данных на временной шкале, можно просмотреть его свойства. Здесь вы можете выбрать Желаемое состояние — состояние, в котором должен оказаться слой при движении по временной шкале. Вы также можете изменить Состояние перед началом. Состояние перед началом — это состояние слоя до начала воспроизведения дорожки, а Состояние после завершения — это состояние слоя после завершения воспроизведения дорожки. Например, если нужно активировать слой данных, установите желаемое состояние Активировано и состояние перед началом Загружено. Установка состояния Загружено перед началом и увеличение количества кадров перед началом воспроизведения дают слою больше времени для загрузки перед его активацией и могут способствовать более плавному воспроизведению.

Перемещая указатель воспроизведения, вы можете предварительно просмотреть состояние, в котором окажется слой при движении по временной шкале.

Чтобы больше узнать об использовании устройства «Внутриигровое видео», см. страницу устройства «Внутриигровое видео».
Создание мини-карты для редактора
Вы также можете создать мини-карту высокого разрешения для использования во время сеанса редактирования. Она поможет быстро находить различные области уровня, над которыми вы хотите поработать.
-
Выберите Создать в строке меню, а затем Создать мини-карту World Partition для редактора.
-
На экране появится диалоговое окно Статус сборки. Наберитесь терпения, поскольку этот процесс может занять несколько минут — всё зависит от сложности вашего острова.
-
Теперь ваша мини-карта соответствует изображению в окне просмотра. Вы по-прежнему можете загружать и выгружать регионы, как обычно.
Устранение неполадок
Вопрос: Почему после создания HLOD они не отображаются?
Ответ: Акторы HLOD по умолчанию не загружаются в редакторе. Чтобы проверить их, найдите и закрепите их на панели Структура.

Вопрос: Почему ресурсы генерируют HLOD, когда акторы находятся далеко друг от друга?
Ответ: Проверьте, не прикреплены ли акторы к родительскому актору и не вложены ли они в него. Нажмите на актор и выберите Прикрепление: нет, чтобы открепить его.
Вопрос: Некоторые из важных ресурсов исчезают, когда ячейки выгружаются.
Ответ: Для некоторых готовых ресурсов UEFN по умолчанию не установлен флажок Включать актор в HLOD. Если вы столкнулись с такой проблемой, проверьте свойства ресурса.
Вопрос: Почему появляется запрос на подгрузку, хотя мой остров не превышает 1 км?
Ответ: Этот запрос может появляться, если ваш ландшафт превышает 1 км по самой длинной оси или если какой-либо актор находится более чем в 1 км от исходной точки на уровне.
Вопрос: Почему большой актор не заменяется на HLOD на расстоянии?
Ответ: Возможно, один или несколько акторов в иерархии готовых элементов были скопированы и перемещены так далеко, что система World Partition рассматривает их как сетки, которые должны быть всегда загружены. Чтобы решить эту проблему, удалите далёкие акторы из иерархии.