Para marcar el minitablero con indicadores que muestren qué casillas de tu tablero han sido atacadas, debes convertir las coordenadas de una casilla del tablero en una ubicación del mundo en el minitablero.
Cómo convertir coordenadas de casilla a transformación de mundo en el minitablero
El procedimiento para convertir una coordenada de casilla en una ubicación de mundo en el minitablero es el siguiente:
Obtén el factor de escala del minitablero.
Convierte la coordenada de casilla en
vector3utilizando el factor de escala.Gira el marcador para que coincida con la rotación del minitablero.
Devuelve la transformación construida.
Crea una función con el nombre GetDimensions para obtener las dimensiones del tablero de juego:
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):
A continuación, necesitarás un procedimiento para convertir una coordenada de casilla en una transformación ubicada en el minitablero:
Asegúrate de que haya un minitablero válido.
Obtén las dimensiones del tablero de juego.
Obtén la escala relativa de una casilla en el espacio de minitablero a partir de las dimensiones del minitablero y las dimensiones del tablero más grande.
Obtén la transformación de la cámara.
Define la rotación necesaria para girar el eje Forward de la malla del minitablero.
Construye la ubicación del mundo con desfase de rotación con respecto al centro del minitablero.
Obtén la transformación del minitablero.
Añade el desfase del minitablero desde el centro hasta la ubicación del minitablero para obtener la transformación del minitablero para la coordenada de casilla.
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):
...
Cómo colocar un marcador de minitablero
Para colocar un marcador de minitablero en el minitablero, necesitas saber:
La coordenada de casilla del tablero donde se ubicará el marcador.
Si será un marcador de impacto o un marcador de fallo.
Construye un nuevo enum para representar el tipo de marcador en el módulo DataTypes:
using{/Verse.org/Simulation}
using{/Verse.org/Random}
using{/UnrealEngine.com/Temporary/SpatialMath}
DataTypes<public> := module:
...
marker_type<public> := enum<open>:
Hit
Define una función SetMarker para colocar un marcador en el minitablero en la clase de minitablero.
Esta función realiza los siguientes pasos:
Garantizar que haya un minitablero válido.
Determinar qué tipo de malla de marcadores utilizar: impacto o fallo.
Obtener la transformación del minitablero de la coordenada de casilla de entrada.
Generar el marcador.
Añadir el marcador a la matriz de marcadores.
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):
...
Resumen
En resumen, esta página te ha guiado por los siguientes pasos:
Colocar un marcador en el minitablero.
Convertir entre el espacio de minitablero, el espacio de tablero y el espacio global.
.udatasmith
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