Die Koordinaten-Schlacht verwendet während des Gameplays drei verschiedene Koordinatenräume:
Welt-Bereich: Koordinatenraum, in dem Objekte über Verse API Funktionen in der Spielwelt platziert werden.
Brettraum: Koordinatenraum für die Positionierung von Objekten auf den Spielbrettern der Spieler.
Miniboard-Raum: Koordinatenraum, der den Spielern eine Ansicht ihres eigenen Bretts anzeigt.
Diese Koordinatenräume geben dem Spieler zusammen einen genauen Überblick über den aktuellen Spielzustand und die Gameplay-Performance.
Es erfordert Planung und Überlegung, um ein umfassendes Koordinatenraum-Management zu gestalten. Der Großteil der Arbeit besteht darin, zwischen Koordinatenräumen zu konvertieren, damit du Vektoren im Welt-Bereich zuverlässig den Koordinaten auf dem Brett und den Koordinaten auf dem Miniboard und zurück zuordnen kannst.
Du siehst den Brettraum, der als Spielbrett im Zentrum des Bildes oben dargestellt wird (1), und den Miniboard-Raum, der durch das Miniboard in der oberen linken Ecke des Bildes oben dargestellt wird (2).
Der Welt-Bereich ist das dauerhafte Koordinatensystem, das UEFN und den Verse-API-Funktionen zugrunde liegt. UEFN verwendet das dreidimensionale Koordinatensystem Links-oben-vorwärts (Left-Up-Forward – LUF) .
Weitere Informationen zu diesem Koordinatensystem finden Sie in der Dokumentation zum Links-Hoch-Vorwärts-Koordinatensystem.
Koordinatenräume
Jeder der Koordinatenräume in diesem Erlebnis erfordert die Konvertierung von Positionen auf verschiedenen Oberflächen sowie von verschiedene Typen, um Spielobjekte richtig in der Welt zu platzieren. Nachfolgend findest du Beschreibungen zu jedem dieser Räume. Diese werden später in diesem Tutorial ausführlicher besprochen.
Welt-Bereich
Der Welt-Bereich ist der Standardraum, den UEFN und Verse verwenden, um Objekte in der Spielwelt zu positionieren. Dieses Spielbeispiel verwendet hauptsächlich creative_device -Objekte. Daher wird zur Darstellung von Positionen in der Spielwelt für Geräte die Verse-Klasse transform im Modul /UnrealEngine.com/Temporary/SpatialMath verwendet, mit der Definition:
transform<public> := struct<concrete><computes>:
Scale<public>:vector3
Rotation<public>:rotation
Translation<public>:vector3
wobei vector3 definiert ist als:
vector3<public> := struct<concrete><computes><persistable>:
X<public>:float
Y<public>:float
Z<public>:float
Die Klasse transform definiert, wo sich ein Objekt befindet (Translation), in welche Richtung es zeigt (Rotation) und wie groß es ist (Scale).
Jedes Objekt, das von der Klasse creative_object abgeleitet ist, hat Zugriff auf folgende Verse-API-Funktionen:
GetTransform: Ruft die aktuellen Transform-Daten eines Objekts ab.TeleportTo: Verschiebt ein Objekt ohne Animation zum Input-Ziel.MoveTo: Animiert die Bewegung zum Input-Ziel.
Die Definition von transform zusammen mit diesen API-Funktionen bietet alles, was du brauchst, um zu definieren, wo sich ein Objekt in der Spielwelt befindet und es dort zu platzieren.
Brettraum
Der Brettraum ist der Raum, der für das Haupt-Spielbrett in der Koordinaten-Schlacht verwendet wird, der in dem obigen Bild durch den Text (1) gekennzeichnet ist. Dieser Raum wird verwendet, um Felder oder Kacheln auf dem Brett relativ zum Zentrum des Spielbretts zu bestimmen.
Miniboard-Raum
Das Miniboard zeigt den Spielern eine Ansicht von ihrem eigenen Spielbrett. 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.
Schritte zum Erstellen
Diese Schritte musst du beherrschen, um die drei Koordinatenräume zusammen zu nutzen und ein effektives Gameplay zu schaffen:
Eine Darstellung einer Kachel im Brettraum definieren.
Die Grenzen des Brettraums definieren.
Definieren, wo sich der Brettraum innerhalb des Welt-Bereichs befindet.
Zwischen Brettraum und Welt-Bereich konvertieren.
Eine Spielfigur an einer bestimmten Stelle auf dem Spielbrett platzieren.
Eine Spielfigur vom Spielbrett holen.
Eine Spielfigur vom Spielbrett entfernen.
Alle Spielfiguren zufällig auf dem Brett platzieren.
Eine Darstellung einer Kachel im Miniboard-Raum definieren.
Die Grenzen des Miniboard-Raums definieren.
Definieren, wo sich der Miniboard-Bereich im Welt-Raum befindet.
Eine Markierung auf dem Miniboard platzieren.
Zwischen Miniboard-Raum, Brettraum und Welt-Bereich konvertieren.
Die Spielbewegungen definieren.
Die Spielschleife konstruieren.
Bestimmen, wann eine Gewinnbedingung erfüllt ist.