Шаблон LEGO®: Эвакуация (PvP) в Unreal Editor для Fortnite (UEFN) содержит примеры игрового процесса и инструменты для создания PvP-шутера с эвакуацией в LEGO Fortnite. В шаблон входят специальные устройства Verse, созданные именно для этого шаблона. С помощью этих устройств можно позволить игрокам откладывать игровую валюту LEGO, так называемые «шипы», а также назначать задания, за выполнение которых начисляются очки опыта для повышения уровня. Дополнительные системы, встроенные в демонстрационные капсулы, демонстрируют различные аспекты геймплея с эвакуацией.
В шаблоне также представлены новые модульные элементы окружения и здания, созданные с помощью LEGO® Brick Editor. Этот рабочий процесс позволяет «расклеивать» (отсоединять) кубики, изменять их или соединять между собой большее количество элементов.
Краткий обзор использования шаблона представлен в видео Представляем шаблон «LEGO®: Эвакуация (PvP)».
Используйте эту страницу вместе с шаблоном, чтобы изучить основы игрового процесса с эвакуацией, а затем расширяйте его, добавляя собственные элементы. Вы можете строить на основе шаблона, чтобы опубликовать свой остров или перенести ресурсы в другой проект.
Начало работы
Шаблон доступен в UEFN и требует базовых знаний редактора и Verse, а также навыков создания островов LEGO. Чтобы узнать больше, ознакомьтесь с разделами
Для доступа к этому шаблону:
Откройте UEFN, чтобы увидеть Каталог проектов.
Перейдите в Фирменные шаблоны > Шаблон «LEGO®: Эвакуация (PvP)» и создайте новый проект. Проект запустится в UEFN.
Доступ к файлам проекта осуществляется через Каталог ресурсов в папке Все > [Название вашего проекта].
Шаблон откроется в окне проекта. Шаблон состоит из двух основных областей: демонстрационных капсул и игровых зон острова.
| Зона | Описание | Изображение |
|---|---|---|
Демонстрационные капсулы | Обучающая зона демонстрирует устройства и функции, используемые для создания игрового процесса с эвакуацией. Перейдите к каждой капсуле, чтобы просмотреть настройки устройств и подумать, как можно использовать их на своём острове. Вы можете подробнее ознакомиться с объектами, использовавшимися для создания уровня и навигации в сцене, с помощью панели Структура. Чтобы найти объект в окне просмотра, перейдите на панель «Структура», нажмите F, после чего фокус будет наведён на нужный объект. Вы можете изучить настройки объекта на панели Сведения. | |
Пример игрового процесса на острове | В шаблон включён пример игрового процесса с эвакуацией. Чтобы опробовать остров, откройте панель инструментов в окне просмотра и нажмите Запуск сеанса. Проект либо запустит клиент в режиме игры, либо запустит остров в творческом режиме — всё зависит от настроек редактора. Если вы перейдёте в творческий режим, откройте «Игровое меню» и нажмите на жёлтую кнопку «Начать игру», чтобы приступить к игре. Стартовая комната в примере острова находится в той же области, что и демонстрационные капсулы. |
Для удобства навигации по окну просмотра UEFN можно использовать следующие горячие клавиши закладок:
1: перейти к демонстрационным капсулам.
2: перейти к области примера игрового процесса.
Чтобы полнее раскрыть все возможности шаблона, используйте редактор в сочетании с сеансом Fortnite. Вы можете воспользоваться функцией редактирования по сети, чтобы протестировать функции в процессе изучения.
Во время работы в клиенте Fortnite вы можете синхронизировать текущее отображение с окном просмотра в UEFN, используя параметр Сеанс командной работы на главной панели инструментов. Для этого нажмите значок с тремя фигурками, а затем выберите Установить вид от лица игрока в окне просмотра камеры.
Игровой процесс с эвакуацией
Острова с эвакуацией построены вокруг игрового процесса, в ходе которого игроки снова и снова вступают в бой, чтобы добраться до точки эвакуации после выполнения определённой задачи. После её выполнения игроки за свои достижения получают внутриигровую валюту, которую можно использовать для покупки улучшений, позволяющих развивать навыки и выживать дольше.
После запуска сеанса в редакторе вы появляетесь в стартовой комнате (лобби). Оттуда пройдите через разлом и идите по навигационным меткам, чтобы получить первый сундук. Не забудьте вооружиться инструментом, чтобы сразиться с неигровыми персонажами (NPC), охраняющими сундук. Эти персонажи создаются с помощью устройства Генератор неигровых персонажей.
В сундуке находятся шипы, которые можно собрать, чтобы разблокировать новые возможности. После того, как вы соберёте шипы, путевая точка укажет путь к точке эвакуации — но будьте готовы: при открытии сундука появятся NPC. Путевые точки создаются с помощью устройства Указатель на карте.
Отправляйтесь к точке эвакуации на вершине холма и активируйте кнопку, чтобы начать процесс эвакуации из мира. Во время эвакуации запускается обратный отсчёт до прибытия лифта, с помощью которого можно покинуть остров. Это событие активирует сигнализацию, уведомляя других игроков о вашей попытке сбежать.
После эвакуации вы телепортируетесь обратно в стартовую комнату. Отсюда можно перейти в комнату улучшений, чтобы купить новые инструменты перед возвращением к сценарию с эвакуацией.
Повторяйте процесс, пока не освоитесь с механикой, а затем перейдите в зону обучения, чтобы узнать, как в этом шаблоне настроены системы.
Настройки острова для режима «Игрок против игрока»
Для многопользовательского игрового процесса в разделе Настройки острова предусмотрены следующие настройки:
Макс. кол-во игроков: 8
Размер команды: 1
Всего раундов: 1
Стартовая комната и комната улучшений
В этом шаблоне стартовая комната служит базой, на которой игроки готовятся к своей миссии. В эту же комнату они возвращаются после эвакуации. Общие пространства повышают вовлечённость и создают возможности для формирования команд.
Все игроки начинают в одной стартовой комнате. В ней размещено восемь устройств Точка появления игрока для игроков, присоединяющихся к острову. Это устройство использует событие При появлении игрока, чтобы выдать игроку инструмент через Устройство выдачи предметов и активировать сохранение прогресса. Для параметра Команда игрока необходимо установить значение от 1 до 8.
Рядом с комнатой находится устройство Зона модификатора, которое отключает возможность использовать инструменты против других игроков в стартовой комнате. В комнате установлено устройство Телепорт для каждой команды, чтобы игроки могли появляться в разных точках острова. Восемь устройств «Телепорт» размещены у входа, ведущего на верхний уровень.
Диспетчер зоны разблокировки лобби
В стартовой комнате также есть второе помещение, доступ к которому заблокирован для игроков ниже второго уровня. Verse-устройство lego_lobby_room_unlock_manager управляет устройством Барьер, перекрывающим вход в комнату улучшений.
Чтобы разблокировать зону, устройство проверяет параметр Уровень игрока, заданный через устройство создания показателей. Иными словами, оно определяет, соответствует ли уровень игрока требованию для доступа в эту область.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Manager class that handles unlock zones in the lobby based on the player's level
lego_lobby_room_unlock_manager := class(creative_device):
@editable:
ToolTip := ToolTip_LobbyRoomUnlockManager_PlayerLevel
PlayerLevel : stat_creator_device = stat_creator_device{}
В это устройство Verse также встроено устройство Триггер, связанное с событием Trigger_OnLEGOFortPlayerAdded. После того как игрок получает доступ к комнате улучшений, триггер активирует Verse-устройство lego_fortplayer_manager, отвечающее за отслеживание сохранений.
В разблокированной комнате размещены устройства Торговый автомат, которые выдают игрокам инструменты. Можно добавить инструменты разных степеней редкости, которые разблокируются по мере прогресса игрока. Чтобы узнать больше о доступных ресурсах LEGO, которые можно добавить на остров, см. раздел Перечень объектов LEGO®.
Вы также можете добавить в стартовое лобби дополнительные комнаты, которые разблокируются на том же или других уровнях. Для этого спроектируйте расширение комнаты и добавьте в код Verse дополнительные редактируемые свойства UnlockLevel и Barrier. Названия редактируемых свойств можно обновить так, чтобы они отражали зону, на которую влияют, например LegendaryTools_UnlockLevel и LegendaryTools_Barrier.
Система уровней игрока
Уровень игрока рассчитывается с помощью Verse-устройства lego_xp_level_manager. Оно определяет, как игроки получают очки опыта за достижение игровых целей, чтобы повышать уровень. Эта система отслеживает уровень игрока и управляет доступом к новым зонам в зависимости от уровня. Уровень отслеживается устройством создания показателей, которое в шаблоне называется Stat_PlayerLevel.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Manager class that handles granting experience points to players when they make progress in certain events
lego_xp_level_manager := class(creative_device):
@editable:
ToolTip := ToolTip_LevelManager_TrackerEvents
TrackerEvents : []xp_level_manager_trackers_fndevice_interface = array{}
Эту систему уровней можно использовать, чтобы ограничить доступ к определённым областям острова и разрешить игрокам нужного уровня получать предметы — например, усиления соответствующего уровня. Именно эту систему уровней и проверяет Verse-устройство lego_lobby_room_unlock_manager.
Очки опыта начисляются при активации игровых событий — например, за выполнение отслеживаемой задачи, устранение других игроков или NPC, а также за успешную эвакуацию с карты. Информация о событиях отображается в игровом интерфейсе (HUD) с помощью пользовательских виджетов, связанных с устройством.
Этот диспетчер уровней содержит события, связанные с устройствами, которые отвечают за их выполнение:
Событие устранения: использует устройство Панель «Устранение», чтобы начислять очки опыта за устранение.
Событие эвакуации: использует устройство Триггер под названием Trigger_OnEnterLobby, чтобы начислять игрокам очки опыта при эвакуации в лобби. Это событие также отслеживает количество собранных золотых шипов игрока через устройство создания показателей (в шаблоне — Stat_GoldStuds).
Событие открытия сундука: использует связанные сундуки лаймового уровня для активации события — при открытии сундука игрок получает случайный инструмент через устройство выдачи предметов и опыт.
Начисление опыта выполняется через устройство «Триггер», связанное с устройством Усилитель показателя.
Когда игрок достигает уровня, необходимого для доступа в комнату улучшений, над ней появляется стрелка, указывающая, что комната открыта. Для появления стрелки используется устройство Панель управления объектами.
Использование шипов в качестве награды
Уровень игрока на протяжении всей игры зависит от сбора шипов, которые позволяют приобретать более качественные инструменты и снаряжение. В этом шаблоне вы можете получать шипы, открывая сундуки и разрушая объекты окружения. После успешной эвакуации ваши шипы откладываются, то есть сохраняются и становятся недоступны другим игрокам.
Если вас устранят до завершения эвакуации, вы потеряете все шипы, которые получили во время этой операции. Однако вы можете вернуться в точку, в которой вас устранили, и попытаться забрать их снова.
Управление золотыми шипами
Verse-устройство lego_goldstuds_manager в этом шаблоне управляет системой валюты и обновляет её данные. В первую очередь, оно управляет процессом откладывания шипов, которые получает игрок.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { Lobby }
using { LEGOUtilities }
# Manager class that handles gold studs for players in the game
lego_goldstuds_manager := class(creative_device):
@editable:
Устройство Verse направляет данные на три устройства создания показателей:
Stat_GoldStuds: управляет текущим количеством шипов, доступных игроку во время операции по эвакуации. Это количество отображается в HUD-интерфейсе игрока.
StatBankedGoldStuds: управляет количеством отложенных шипов, доступных игроку (хранятся в лобби). Это устройство имеет функцию сохранения, что позволяет игроку завершить сеанс, как только шипы будут отложены.
StatBankedGoldStuds_VisualsOnly: управляет отображением количества шипов игрока, когда он находится в лобби. Они отображаются, только если у игрока отложено больше 0 шипов.
Verse-устройство lego_goldstuds_manager задействует устройство Кнопка с условием. При проверке возможности откладывания шипов оно проверяет, что в настройках острова не установлено значение «Бесконечно», так как кнопка с условием возвращает максимальное целое число, а не точное значения. Откладываемый предмет должен иметь конечное значение.
Это устройство Verse также использует события других устройств и триггеров для выдачи шипов, активации звуков, отображения сообщений в HUD-интерфейсе и запуска внутриигровых видео, показывающих передачу шипов в хранилище LEGO_Vault.
Выпадение шипов из разрушаемых объектов
Сделайте остров более динамичным, используя разрушаемые объекты, из которых выпадают шипы. Ещё один способ собрать шипы в шаблоне — разрушаемые объекты окружения, например мишень для стрельбы из лука. Когда пользователь разрушает объект, выпадают шипы. Для этого используются Verse-устройства lego_destuctible_prop_manager и lego-stud-pool. Это такая же функция, которая используется при разрушении в шаблоне Боевое приключение.
Устройство lego_destuctible_prop_manager отслеживает список объектов, делает их разрушаемыми и устанавливает количество шипов в качестве награды за разрушение объекта.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
# ============================================================================================================================================
# Manager for destructible props that grant rewards when destroyed
# ============================================================================================================================================
lego_destructible_prop_manager := class(creative_device):
В определении каждого объекта есть настройка автовозрождения и таймер. Когда игрок уничтожает объект из списка, свойство StudReward, связанное с генератором предметов, выдаётся в том месте, в котором игрок разрушил объект.
Чтобы добавить в список больше объектов:
Нажмите на значок «плюс» (+) рядом с DestructableProps.
Нажмите на выпадающее меню Объект и выберите devices_creative_prop.
Выполните поиск и выберите объект в окне просмотра.
Для создания шипов при разрушении объектов применяются Verse-устройства lego_stud_pool и lego_destuctible_prop_manager. Устройство использует список генераторов предметов, расположенных по всему острову, которые создают шипы. Устройство помогает одновременно создать большое количество шипов во время игры.
using { /Fortnite.com/Devices }
using { /Verse.org/Colors }
using { /Verse.org/Simulation }
using { /Verse.org/Simulation/Tags }
using { /UnrealEngine.com/Assets }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
# ============================================================================================================================================
# Distributes Items by using a pool of ItemSpawners and teleporting them to the desired location
Точки появления и эвакуации
Внутриигровое видео точек появления на острове и эвакуации с него в стартовую комнату выводятся с помощью устройства Последовательность внутриигрового видео. В обоих случаях используется одна последовательность для показа открытия туннеля и другая — для показа его закрытия. Триггер события активируется устройством Зона модификатора.
На острове расположено много точек появления и эвакуации. Эти точки позволяют игроку перемещаться по острову, избегая других игроков. Множество точек эвакуации побуждают игроков исследовать карту и дают возможность создавать различные цели в зависимости от местоположения.
Для разработки дизайна игры поэкспериментируйте с количеством игроков и количеством точек эвакуации на острове, чтобы найти правильный баланс контрольных точек, в которых игрокам придётся встречаться и взаимодействовать друг с другом.
Когда игроки телепортируются из лобби, они попадают в разлом, который переносит их наверх.
Эвакуация с острова начинается, когда игрок активирует устройство Кнопка, расположенное на платформе. Во время эвакуации игроки должны дождаться, пока лифт достигнет вершины, и на экране появится сообщение, предупреждающее о попытке эвакуации. Временные рамки и предупреждающие сообщения помогут создать напряжённые боевые моменты, когда игроки пытаются защитить свою добычу. Это также возможность для игроков объединиться в команды или пробраться к чужой точке эвакуации.
Время прибытия лифта можно регулировать с помощью устройства Таймер — его событие В случае успеха направляется на устройство Последовательность внутриигрового видео, воспроизводящее последовательность открытия туннеля. Например, событие Timer_ExtractionPoint_Elevator_GoingUp_Delay в шаблоне соединяется с CS_Extraction_TunnelOpen.
Лифт автоматически начинает спускаться, как только истечёт время задержки, которое вы можете задать в Timer_ExtractPoint_AutoClose, или когда игрок взаимодействует с Button_Extract_Elevator.
После успешной эвакуации игроки телепортируются в лобби, а их шипы откладываются. Жизненные показатели игроков восстанавливаются с помощь устройства Усилитель для здоровья, которое срабатывает, когда игрок проходит через устройство Телепорт.
Дополнительные функции демонстрационных капсул
В демонстрационных капсулах представлены следующие функции, которые вы можете использовать на своём острове.
| Демонстрационная капсула | Описание |
|---|---|
Сундуки с добычей | Сундуки с добычей создаются на основе сундука лаймового уровня, который можно найти в папке Все > Материалы LEGO > Containers > SetupAssets > Blueprints. В сундуках используется устройство Управление заданиями, которое отслуживает открытие сундука. Когда игрок открывает сундук, это устройство передаёт команду устройству выдачи предметов циклически выбирать случайный предмет и выдавать его открывшему игроку. Само устройство управления заданиями после этого сбрасывается. Однако это происходит не раньше, чем активируется устройство триггера Trigger_Events_ChestComplete, которое запускает процесс эвакуации. |
Складирование шипов | Система складирования, представленная в этой капсуле, не используется в шаблоне. Она обновляет значение устройства создания показателя для отложенных шипов и удаляет шипы, которые несёт игрок, из его инвентаря. Вы можете скопировать и вставить точки складирования, чтобы разместить их на острове. Эти точки складирования могут дать игрокам шанс сохранить свои шипы в случае, если не удастся добраться до точки эвакуации. Это также дает игрокам возможность спланировать атаку рядом с точкой складирования. Вам нужно подключить устройство «Кнопка» к интерфейсу привязки устройства, управляющего золотыми шипами. |
LEGO Fortplayer Manager | Verse-устройство lego_fortplayer_manager используется в шаблонах Боевое приключение и Процветающий бизнес. Эта система предоставляет пользовательские переменные для каждого игрока, которые можно сохранять между сеансами. Устройство автоматически обрабатывает присоединение и выход игроков из игры. Оно поддерживает функции для каждого игрока в виде OnBegin(), Tick() и OnEnd(). Устройство активируется устройством Триггер, когда игрок появляется на острове. Устройство «Триггер» соединено с устройством Маркер игрока, чтобы игрок мог визуально отслеживать свои шипы. |
Обучение «Эвакуация» | Игроку — вам — демонстрируются основы шутера с эвакуацией с помощью нескольких устройств «Триггер» и устройств для вывода сообщений в интерфейсе. Вы можете настроить подобное обучение для игроков на своём острове. |
Ресурсы Brick Editor
Шаблон содержит элементы окружения, созданные в Brick Editor. Вы можете использовать эти ресурсы для создания окружения или в качестве образцов для создания собственного дизайна из кирпичиков. Подробнее об этом см. в статье Полезные советы по строительству в 3D-пространстве.
Дизайн вашего острова
Итак, мы разобрались с игровым процессом эвакуации, и пришло самое время для оформления вашего острова. Для начала используйте шаблон, удаляя то, что вам не понадобится, или перенесите основные ресурсы в другой проект.
Перенос ресурсов
Вы можете скопировать ключевые элементы из шаблона в текущий проект LEGO и настроить подключение устройств. В UEFN предусмотрен инструмент Перенос, с помощью которого можно копировать ресурсы вместе с зависимостями.
Чтобы перенести ресурсы, выполните следующее:
Перейдите в папку своего проекта на Панели ресурсов и выберите с помощью Shift+ЛКМ следующие папки.
Verse
Интерфейс
LEGOModels
Нажмите правой кнопкой на папки и в открывшемся меню нажмите Перенести.
Выберите расположение проекта, в которое нужно переместить ресурсы. Ресурсы следует разместить в папке проекта.
Основные устройства и утилиты для создания системы эвакуации расположены в папке Verse. Папка LEGOModels содержит ресурсы набора кирпичиков и объекты окружения шаблона «Эвакуация».
Если у вас уже есть остров, который подойдёт для преобразования в остров LEGO, сделайте это с помощью встроенного рабочего процесса в редакторе. Подробнее об этом см. в разделе Преобразование островов.
Советы по созданию дизайна
Ниже вы найдёте дополнительные советы по развитию игрового процесса своего острова «Эвакуация».
Ставьте цели (например, спасение NPC), чтобы побудить игроков исследовать части вашего острова и вступать в контакт с различными NPC и игроками.
Добавьте области со сложным перемещением, чтобы сделать игру интереснее.
Шаблон содержит готовых NPC, которых вы можете добавить в свой проект. Они находятся в папке All > [ВашПроект] > NPCSpawners.
Озвучьте правила игры в стартовой комнате с помощью таких информационных устройств, как Рекламный щит и Всплывающее диалоговое окно.
Добавьте сюжетные элементы с помощью изображений или внутриигровых видео, чтобы создать контекст того, что или зачем игроку нужно добыть, и подтолкнуть его добраться до точки эвакуации.
Дизайн окружения помогает погрузить игроков в атмосферу вашего острова с эвакуацией. Дополните игровую механику визуальными составляющими, которые игрок может увидеть и с которыми он может взаимодействовать. Создайте дизайн при помощи Brick Editor или готовых элементов и наборов из перечня объектов.