Esta guía te muestra cómo personalizar aún más tu dispositivo de Verse, al exponer las propiedades que pueden cambiarse directamente desde el editor para no tener que modificar el código de Verse.
Algunas ventajas de este enfoque son las siguientes:
- Iteración más rápida: prueba distintas configuraciones para tus dispositivos del modo Creativo sin cambiar el código.
- Reusabilidad: reutiliza el mismo dispositivo modificando sus propiedades y valores. Por ejemplo, podrías activar comportamientos específicos basados en una propiedad de tipo
logic
expuesta al editor. - Simplificación: permite ver rápidamente cómo puede utilizarse un dispositivo según sus propiedades en lugar de tener que profundizar en el código para entender cómo funciona.
Cómo exponer una variable al editor
Para exponer una variable al editor como una propiedad editable, añade el atributo editable
a la variable.
Sigue estos pasos para exponer una variable al editor:
- Asegúrate de que tu dispositivo de Verse se ha añadido al nivel. Consulta Cómo añadir el dispositivo de Verse al nivel para ver los pasos a seguir.
- Añade el atributo editable a la variable que forma parte de la definición del dispositivo de Verse. En el siguiente ejemplo, el campo de cadena
GreetingMessage
es una propiedad editable y tiene el valor predeterminado"Hola, no nos conocemos"
.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable GreetingMessage:string = "Hola, no nos conocemos"
- Compila el código para actualizar tu dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir su panel de detalles.
- En el panel de detalles del dispositivo, el dispositivo de Verse tiene ahora la propiedad
GreetingMessage
y puede cambiar su valor de cadena para esta instancia del dispositivo.
Cambiar el valor de una propiedad editable solo lo cambia para esa instancia del dispositivo. Si tienes varios dispositivos de Verse en el nivel, cada uno puede tener un valor diferente para esta propiedad.
Cómo añadir una referencia de Verse a un dispositivo del modo Creativo en tu nivel
Sigue estos pasos para establecer una referencia a un dispositivo del modo Creativo en tu nivel:
- Make sure your Verse device is added to your level. See Adding Your Verse Device to Your Level for steps.
- Añade el atributo editable a la variable de tu dispositivo del modo Creativo que forma parte de la definición de tu dispositivo de Verse. En el siguiente ejemplo, el campo del dispositivo Botón
MyButtonDevice
es una propiedad editable y tiene el valor predeterminadobutton_device{}
, pero no está conectada a un dispositivo Botón en tu nivel.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable MyButtonDevice:button_device = button_device{}
- Compila el código para actualizar tu dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir su panel de detalles.
- En el panel de detalles del dispositivo, el dispositivo de Verse tiene ahora la propiedad
MyButtonDevice
. - Puedes seleccionar un dispositivo Botón en el nivel al que referencie tu dispositivo de Verse:
- Selecciona Elegir actor de la escena para escoger el dispositivo en el visor.
- También puedes utilizar el desplegable y buscar el dispositivo al que quieres hacer referencia.
Cómo exponer una matriz al editor
Puedes exponer al editor una matriz redimensionable que forme parte de tu dispositivo de Verse. El siguiente ejemplo añade un campo de matriz editable de button_device
llamado MyButtonDevices
.
- Asegúrate de que tu dispositivo de Verse se ha añadido al nivel. Consulta Cómo añadir el dispositivo de Verse al nivel para ver los pasos a seguir.
- Añade el atributo editable a la variable de la matriz de dispositivos del modo Creativo que forma parte de la definición de tu dispositivo de Verse. En el siguiente ejemplo, el campo de matriz de dispositivos Botón
MyButtonDevices
es una propiedad editable y una matriz vacía.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable MyButtonDevices:[]button_device = array{}
- Compila el código para actualizar tu dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir su panel de detalles.
- En el panel de detalles del dispositivo, el dispositivo de Verse tiene ahora la propiedad de matriz MyButtonDevices, que no tiene elementos.
-
Haz clic en Añadir elemento para añadir elementos a la matriz MyButtonDevices.
Si quieres eliminar elementos de tu matriz en el editor:
- Puedes elegir Eliminar todos los elementos, que borra todos los elementos de la matriz.
- También puedes desplegar el resto de acciones de un elemento y seleccionar Borrar para eliminar un elemento individual.
Cada copia de este dispositivo hello_world_device que coloques en el nivel tendrá sus propios valores editables para MyButtonDevices
, que podrás utilizar para cambiar a qué dispositivos Botón hace referencia el dispositivo de Verse.
Cómo exponer tipos personalizados al editor
Puedes exponer tu tipo personalizado, como una clase, al editor como una propiedad editable.
- Asegúrate de que tu dispositivo de Verse se ha añadido al nivel. Consulta Cómo añadir el dispositivo de Verse al nivel para ver los pasos a seguir.
- Añade el especificador
concrete
a la definición de la clase. El especificadorconcrete
es obligatorio porque todos los campos deben inicializarse para que se muestren en el editor.example := class<concrete>: MyData:float = 0.0 MyDevice:button_device = button_device{} IsEnabled:logic = false
- Añade el atributo
editable
para cada variable de la clase que quieras que sea una propiedad editable en el editor.example := class<concrete>: @editable MyData:float = 0.0 @editable MyDevice:button_device = button_device{} IsEnabled:logic = false
- En la definición del dispositivo de Verse, define una variable con tu tipo personalizado y añade el atributo
editable
para que se muestre en el editor.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } example := class<concrete>: @editable MyData:float = 0.0 @editable MyDevice:button_device = button_device{} IsEnabled:logic = false hello_world_device := class(creative_device): @editable MyExample:example = example{}
- Compila el código para actualizar tu dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir su panel de detalles.
- En el panel de detalles del dispositivo, el dispositivo de Verse tiene ahora la sección
MyExample
. - Despliega la sección
MyExample
para ver sus propiedades MyData y MyDevice. La propiedadIsEnabled
no aparece porque no tiene el atributoeditable
.
Convertir una propiedad editable en una matriz de tus tipos personalizados añade flexibilidad a la información que proporcionas a tu dispositivo de Verse. Por ejemplo, puedes definir tu propia clase de tablero con referencias a dispositivos. Una matriz de estos tableros en tu dispositivo de Verse te permite elegir cuántos niveles tendrá tu juego y dar una configuración única a cada uno. Incluso puedes definir matrices editables en la definición de tu clase para añadir más extensibilidad y personalización a la información.
Tipos editables admitidos
Actualmente, los siguientes tipos se pueden exponer al editor como propiedades editables:
logic
int
float
enum
string
- matrices de tipos editables
- mapas de tipos editables
- estructuras de tipos editables
- instancias de clase
Siguiente paso: Verse y eventos de dispositivos
Ya has visto cómo controlar los dispositivos con Verse, pero todavía te queda mucho por descubrir. Aprende a personalizar aún más los dispositivos en Cómo programar las interacciones de los dispositivos. Te enseñará a reaccionar a eventos enviados por dispositivos como los botones para crear experiencias de juego dinámicas que respondan a acciones del jugador.