Диспетчер сущностей решётки LEGO® управляет сущностями вашей решётки. Сущности решётки — это объекты, которые игрок может создать на решётке размещения LEGO, как в шаблоне Процветающий бизнес. Специальное устройство Verse содержит список сущностей решетки и разблокируемых пакетов.
Термин «сущность» здесь отличается по значению от термина «модуль» в Scene Graph, хотя по-английски они звучат одинаково — entity.
Разблокируемые пакеты — это наборы сущностей решётки, которые игроки могут получить и добавить в свой инвентарь размещаемых объектов, когда они выполняют определённые требования, установленные вами. Используйте это устройство, чтобы добавлять собственные объекты и изображения для интерфейса.
Настройка устройства
Устройство включает в себя интерфейс, с помощью которого игроки могут просматривать и выбирать объекты для размещения. Все параметры в интерфейсе настраиваются через устройство.
Чтобы создать сущности решётки, выполните следующее:
Откройте Панель ресурсов и перейдите к Папка проекта > LEGO_Grid_Placement.
Если вы скопировали файлы из шаблона, то перейдите к папке, в которую вы их поместили.
Перетащите класс Verse
lego_grid_entity_managerна свой уровень.Нажмите на устройство Решётка LEGO на своём уровне и перейдите к параметру EntityManager на панели Сведения.
Раскройте выпадающее меню и выберите диспетчер решётки, который только что разместили на уровне.
По желанию вы можете настроить в секции Сохранение следующее:
OnlyLoadDataForSessionOwner: указывает, что система сохранения загружает данные только в том случае, если присоединившийся игрок является владельцем текущего сеанса игры в Fortnite.
AutoSaveIntervalSeconds: меняет периодичность срабатывания функции автосохранения, вызываемой на стороне игрока.
FNBindingsInterface: параметры назначения устройств активации при нажатии, которые будут сохранять, загружать и сбрасывать данные для игроков.
Кроме того, вы также можете создать новое устройство Verse и скопировать в него следующий фрагмент кода.
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Colors/NamedColors }
using { LEGOUtilities }
Tooltip_GridEntityManager_Definitions<public><localizes> : message = "All the grid entity definitions that can be placed in the world."
Фрагмент кода Verse связан зависимостями с утилитами, расположенными в папке LEGOUtilities. Вам нужно разместить их в своём проекте.
Добавление собственных объектов
Чтобы добавить свои объекты, которые игроки смогут размещать, выполните следующее:
Нажмите на устройство Диспетчер сущностей решётки LEGO.
Откройте панель Сведения и перейдите к GridEnityDefinitions, чтобы загрузить свои объекты.
Перейдите к категории UnlockPacks, чтобы указать объекты, которые должны быть заблокированы.
Для каждой сущности решётки нужны данные, чтобы предмет появлялся в мире надлежащим образом. Эти данные находятся в категории GridEnityDefinitions и включают в себя следующее:
Name: название объекта.
PropAsset: определяет, какой именно объект появится.
SoloPropDefinition: информация об объекте, включая размеры в шипах. Нажмите на стрелку рядом с ним и введите значения.
ObjectDefinition: определяет категорию объекта, размер ячейки решётки и миниатюру для интерфейса. Нажмите на стрелку рядом с ним и введите значения.
UnlockCategory: определяет, входит или нет объект в разблокируемый пакет.
Это специальное устройство Verse создаёт список объектов (определяемых как сущности), которые пользователь может создавать на решётке. Это устройство содержит параметр «Разблокируемые пакеты», который позволяет разблокировать объекты для игроков при завершении определённого события, например, выполнения задания.
Преобразование единиц UEFN в единицы LEGO
В поле SoloPropDefinition вам нужно ввести размеры по осям Вперёд (ранее ось X), Влево (ранее ось Y) и Вверх (ранее ось Z) для объектов как количество шипов.
В UEFN используется новая система координат, которая появилась после того, как был разработан этот шаблон. Чтобы узнать о ней подробнее, см. Система координат «влево-вверх-вперёд».
Эти размеры позволяют избежать наложения кирпичиков LEGO друг на друга. Размеры «Вперёд», «Влево» и «Вверх» корректно преобразованы в размеры в единицах UEFN. Эти единицы измерения важны для обеспечения соответствия требованиям к дизайну LEGO. Убедитесь, что вы ввели подходящую ширину, длину и высоту ваших объектов в пластинах.
Вы можете скачать полный список размеров набора «Процветающий бизнес», собранных в ZIP-архиве ниже.
Если вы используете объект, который создали сами, или который не указан в наборе «Процветающий бизнес», вы можете посчитать размер объекта в шипах LEGO по горизонтали в направлениях осей «Влево» и «Вперёд». Высота определяется количеством пластин, рассчитываемым по вертикали.
Преобразование единиц UEFN в единицы LEGO приводится в таблице ниже.
Единицы UEFN | Единицы LEGO |
16 единиц по горизонтали | 1 шип |
6,4 единицы по вертикали | 1 пластина |
Используя эту систему перевода единиц, вы получите представление о размерах объекта, если наведёте курсор на объект на Панель ресурсов. Чтобы получить размер в единицах LEGO, разделите отображаемый размер по горизонтали на 16, а по вертикали — на 6,4. Подробнее о размерах LEGO смотрите в разделе Создание островов LEGO®.
Настройка блоков решётки
Блоки решётки используются для оптимизации при проверке допустимости размещения объектов. Игровое пространство делится на блоки по осям «Вперёд» и «Влево». В шаблоне используются блоки решётки 12×15. Как только проверка определит, где нет объекта, выполняется другая проверка только в блоке, в котором есть игрок и объект, чтобы уменьшить количество предметов и пересекающихся зон.
Чтобы настроить блок, задайте по оси «Вперёд» значение 12, а по оси «Влево» — 15.
Далее
Научитесь настраивать размещение объектов, чтобы управлять тем, какие объекты игроки могут размещать в отведённых местах.