Das Miniboard zeigt dem Spieler eine Ansicht seines eigenen Bretts. Trefferanzeigen zeigen an, dass eine Spielkachel angegriffen wurde und der Gegner einen Pawn auf diesem Feld erfolgreich zerstört hat. Fehlmarkierungen zeigen an, dass eine Spielbrettkachel angegriffen wurde und der Gegner nichts getroffen hat.
Das Miniboard selbst ist ein statisches Mesh, das in Bezug auf die Gameplay-Kamera platziert wird, sodass es als Teil der Spielbenutzeroberfläche erscheint. Um das Miniboard zu platzieren, müssen ein paar Dinge bekannt sein:
Das Gameplay-Kamera-Transform.
Wie weit das Miniboard von der Kamera versetzt werden soll.
Die Rastergröße des Bretts.
Das statische Mesh, das für das Miniboard verwendet werden soll.
Auf das Kamera-Transform kann von der Gameplay-Kamera aus zugegriffen werden, also füge einen Verweis auf die Gameplay-Kamera hinzu. Der zweite Zugriff kann durch Trial and Error über UEFN erfolgen, sodass es ein bearbeitbarer Vektor sein kann. Auf den dritten Zugriff kann über eine Referenz auf das Spielbrett des Spielers zugegriffen werden. Letzteres kann über einen Verweis auf das Asset gespeichert werden, das über die Verse-Datei Assets.digest.verse generiert wurde.
Das Miniboard wurde im UEFN-Modelliermodus erstellt, um ein einfaches statisches Mesh zu modellieren. Es heißt SM_Miniboard.
Die Gameplay-Kamera ist eine fixierte Kamera, die nach unten auf das Spielbrett blickt.
Miniboard-Klassen strukturieren
Um die Miniboard-Klasse zu definieren, erstelle eine neue Verse-Datei mit dem Namen miniboard.verse und füge ein neues Verse-Gerät mit dem Namen miniboard hinzu.
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):Füge der Klasse die zuvor besprochenen Variablen hinzu:
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
Das Miniboard platzieren
Um das Miniboard zu platzieren, konstruiere eine neue Funktion namens Position. Diese Funktion benötigt keine Informationen außer dem „transform“ von CameraDevice, StaticMesh und BoardOffsetFromCameraDevice.
Die Positionsfunktion platziert das Miniboard in Bezug zur Gameplay-Kamera, um es so erscheinen zu lassen, als wäre es Teil der Benutzeroberfläche des Spiels.
Diese Funktion führt die folgenden Schritte aus:
Ruft das „transform“ der Gameplay-Kamera ab.
Legt eine Rotationskorrektur für das Miniboard-Mesh fest.
Das Miniboard-Mesh wird so ausgerichtet, dass es nach oben oder zur Z-Achse zeigt.
Bei dieser Drehung wird das Mesh gedreht, sodass es nach vorne oder zur X-Achse weist.
Konstruiert das Miniboard-Transform.
Die Verschiebung des Minibretts beginnt an der Kamera, fügt dann den Versatz vom Kameragerät hinzu und dreht es so, dass es zur Kamera zeigt.
Die Drehung erfolgt in Richtung der Kamera und korrigiert die Hauptachse des Miniboards.
Das Miniboard-Prop wird gespawnt und das statische Mesh wird gesetzt.
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):
...
Um das Miniboard bei Spielbeginn zu platzieren, setze die Funktion OnBegin des Miniboards außer Kraft:
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):
...
Überblick
Auf dieser Seite haben wir dich durch die folgenden Schritte geführt:
Eine Darstellung einer Kachel im Miniboard-Raum definieren.
Die Grenzen des Miniboard-Raums definieren.
Definieren, wo sich der Miniboard-Raum im Welt-Bereich befindet.
Dateien
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