Мини-доска показывает игроку его собственную доску. Маркеры попаданий указывают, что плитка доски была атакована и враг успешно уничтожил пешку на этой плитке. Маркеры промахов указывают, что плитка доски была атакована и враг промахнулся.
Сама мини-доска представляет собой статичную сетку, размещаемую относительно игровой камеры, поэтому она является частью интерфейса игры. Чтобы разместить мини-доску, понадобится следующая информация:
преобразование камеры игрового процесса;
насколько далеко от камеры нужно сместить мини-доску;
размер сетки доски;
Статичная сетка, используемая для мини-доски.
Преобразование камеры можно получить из камеры игрового процесса, поэтому добавьте ссылку на эту камеру. Второй пункт можно определить путём проб и ошибок с помощью UEFN — это может быть редактируемый вектор. Третий пункт можно определить посредством ссылки на игровую доску игрока. Последний пункт можно сохранить с помощью ссылки на ресурс, сгенерированной в файле Verse Assets.digest.verse.
Мини-доска была создана в режиме моделирования UEFN для моделирования простой статичной сетки. Она называется SM_Miniboard.
Камера игрового процесса — это закреплённая камера, направленная на игровую доску вниз.
Структура класса Miniboard
Чтобы определить класс miniboard, создайте новый файл Verse с именем miniboard.verse и добавьте новое устройство Verse с именем miniboard.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):Добавьте в класс переменные, которые обсуждались ранее:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
@editable
Размещение мини-доски
Для размещения мини-доски создайте новую функцию под названием Position. Этой функции не требуется никакая информация, кроме преобразования CameraDevice, StaticMesh и BoardOffsetFromCameraDevice.
Функция Position размещает мини-доску относительно камеры игрового процесса, чтобы она выглядела как часть интерфейса игры.
Эта функция выполняет следующие шаги:
получает преобразование камеры игрового процесса:
предопределяет коррекцию вращения сетки мини-доски;
сетка мини-доски обращена к оси вверх или к оси Z;
при вращении сетка обращается к оси вперёд или к оси X;
создаёт преобразование мини-доски:
перемещение мини-доски начинается с камеры, затем добавляется смещение относительно устройства камеры, вращаемое к камере;
вращение выполняется к камере с поправкой на основную ось мини-доски.
Объект окружения мини-доски создан, статичная сетка задана.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Чтобы разместить мини-доску после начала игры, переопределите функцию мини-доски OnBegin :
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Описание
Подведём итог. На этой странице вы выполнили следующие шаги:
определить представление плитки в пространстве мини-доски;
определить границы пространства мини-доски;
определить, где находится пространство мини-доски в мировом пространстве.
Файлы
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
@editable