Aby zastosować na miniplanszy wskaźniki pokazujące, które pola na planszy zostały zaatakowane, musisz skonwertować współrzędne pól planszy na lokalizację w świecie na miniplanszy.
Konwertowanie współrzędnych pól na przekształcenie świata na miniplanszy
Aby skonwertować współrzędne pól na lokalizację w świecie na miniplanszy:
Uzyskaj współczynnik skali miniplanszy.
Skonwertuj współrzędne pól na wartości
vector3przy użyciu współczynnika skali.Obróć znacznik, aby dopasować go do obrotu miniplanszy.
Zwróć utworzone przekształcenie.
Utwórz funkcję o nazwie GetDimensions w celu uzyskania wymiarów planszy:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Następnie musisz wykonać procedurę konwertowania współrzędnych pól na przekształcenie znajdujące się na miniplanszy:
Upewnij się, że istnieje prawidłowa miniplansza.
Uzyskaj wymiary planszy.
Uzyskaj skalę względną pola w przestrzeni miniplanszy na podstawie wymiarów miniplanszy i wymiarów planszy.
Uzyskaj przekształcenie kamery.
Zdefiniuj obrót wymagany do obrócenia osi siatki miniplanszy tak, aby była skierowana do przodu.
Skonstruuj lokalizację w świecie z przesunięciem i obrotem względem środka miniplanszy.
Uzyskaj przekształcenie miniplanszy.
Dodaj przesunięcie miniplanszy od środka do lokalizacji miniplanszy, aby uzyskać przekształcenie miniplanszy dla współrzędnych pól.
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):
...
Umieszczanie znacznika miniplanszy
Aby umieścić znacznik miniplanszy na miniplanszy, musisz mieć następujące informacje:
Współrzędne pola planszy, na którym ma zostać umieszczony znacznik.
Informacja o tym, czy ma to być znacznik trafienia, czy chybienia.
Utwórz nowy typ wyliczeniowy (enum), który będzie reprezentować typ znacznika w module DataTypes:
using{/Verse.org/Simulation}
using{/Verse.org/Random}
using{/UnrealEngine.com/Temporary/SpatialMath}
DataTypes<public> := module:
...
marker_type<public> := enum<open>:
Hit
W klasie miniboard zdefiniuj funkcję SetMarker do umieszczania znacznika na miniplanszy.
Ta funkcja wykonuje następujące czynności:
Upewnia się, że istnieje prawidłowa miniplansza.
Określa, którego typu siatki znacznika należy użyć (trafienie lub chybienie).
Uzyskuje przekształcenie miniplanszy współrzędnych pola wejściowego.
Spawnuje znacznik.
Dodaje znacznik do tablicy znaczników.
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:
Umieść znacznik na miniplanszy.
Wykonaj konwersję między przestrzeniami miniplanszy, planszy i świata.
Pliki
using { /Verse.org/Simulation }
using { /Verse.org/Random }
DataTypes<public> := module:
tile_coordinate<public> := class<concrete>:
Left<public>:int = 0
Forward<public>:int = 0
bounds<public> := class<concrete>:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<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 }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
# A Verse-authored creative device that can be placed in a level