Miniplansza służy do pokazywania graczowi widoku jego własnej planszy. Znaczniki trafienia wskazują, że pole planszy zostało zaatakowane i wrogowi udało się zniszczyć pionka na tym polu. Znaczniki chybienia wskazują, że pole planszy zostało zaatakowane, ale wróg w nic nie trafił.
Sama miniplansza jest siatką statyczną umieszczaną względem kamery rozgrywki, dzięki czemu pojawia się jako część interfejsu użytkownika gry. Aby umieścić miniplanszę, musisz dysponować następującymi informacjami:
przekształcenie kamery rozgrywki,
przesunięcie miniplanszy względem kamery,
rozmiar siatki planszy,
Siatka statyczna do użycia na miniplanszy.
Dostęp do przekształcenia kamery można uzyskać z kamery rozgrywki, dlatego należy dodać odwołanie do kamery rozgrywki. Drugą wartość można uzyskać metodą prób i błędów za pomocą UEFN, dzięki czemu może być ona edytowalnym wektorem. Dostęp do trzeciej wartości można uzyskać poprzez odwołanie do planszy gracza. Ostatnia wartość może być przechowywana poprzez odwołanie do zasobu wygenerowanego przez plik Verse Assets.digest.verse Verse.
Miniplansza została utworzona w trybie modelowania UEFN w celu wykreowania modelu prostej siatki statycznej. Jej nazwa to SM_Miniboard.
Kamera rozgrywki to kamera stałopunktowa, która jest skierowana w dół w stronę planszy.
Struktura klasy miniboard
Aby zdefiniować klasę miniboard, utwórz nowy plik Verse o nazwie miniboard.verse i dodaj nowe urządzenie Verse o nazwie 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):Do klasy dodaj wcześniej omówione zmienne:
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
Umieszczanie miniplanszy
Aby umieścić miniplanszę, utwórz nową funkcję o nazwie Position. Ta funkcja nie wymaga żadnych informacji innych niż przekształcenie obiektów CameraDevice, StaticMesh i BoardOffsetFromCameraDevice.
Funkcja Position umieszcza miniplanszę w odniesieniu do kamery rozgrywki, aby miniplansza sprawiała wrażenie, jakby była częścią interfejsu użytkownika gry.
Ta funkcja wykonuje następujące czynności:
Uzyskuje przekształcenie kamery rozgrywki.
Predefiniuje korektę obrotu siatki miniplanszy.
Siatka miniplanszy jest orientowana tak, aby była zwrócona w kierunku osi W górę lub Z.
Ten obrót zmienia pozycję siatki tak, aby była zwrócona w kierunku osi Do przodu lub X.
Konstruuje przekształcenie miniplanszy.
Translacja miniplanszy rozpoczyna się w kamerze, a następnie dodaje przesunięcie od urządzenia kamery (z obrotem zmieniającym pozycję miniplanszy tak, aby była zwrócona w kierunku kamery).
Obrót jest wykonywany w celu skierowania miniplanszy w stronę kamery i zgodnie z główną osią miniplanszy.
Rekwizyt miniplanszy jest spawnowany i jest ustawiana siatka statyczna.
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):
...
Aby umieścić miniplanszę po rozpoczęciu gry, zastąp funkcję OnBegin miniplanszy:
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):
...
Podsumowanie
Podsumowując, na tej stronie zaprezentowano następujące kroki:
Zdefiniuj reprezentację pola w przestrzeni miniplanszy.
Zdefiniuj granice przestrzeni miniplanszy.
Zdefiniuj położenie przestrzeni miniplanszy w przestrzeni świata.
Pliki
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