En esta guía, se muestra cómo crear tu dispositivo de Verse de manera más personalizable mediante la exposición de propiedades que se pueden cambiar directamente en el editor para que no tengas que modificar el código de Verse.
Las ventajas de este enfoque son las siguientes:
- Iteración más rápida: Prueba diferentes configuraciones para tus dispositivos del modo Creativo sin necesidad de cambiar el código.
- Reutilización: Vuelve a utilizar el mismo dispositivo con diferentes propiedades y valores. Por ejemplo, podrías habilitar comportamientos específicos basados en una propiedad de tipo
logic
que esté expuesta al editor. - Simplificación: Descubre rápidamente cómo se puede utilizar un dispositivo según sus propiedades en lugar de tener que profundizar en el código para entender su funcionamiento.
Cómo exhibir una variable en el editor
Para exhibir una variable en el editor como propiedad editable, agrega el atributo editable
a la variable.
Sigue estos pasos para exhibir una variable en el editor:
- Comprueba que el dispositivo de Verse se haya agregado a tu nivel. Consulta Cómo agregar el dispositivo de Verse a tu nivel para ver los pasos.
- Agrega el atributo editable a la variable que es parte de la definición del dispositivo de Verse. En el siguiente ejemplo, el campo string
GreetingMessage
es una propiedad editable con el valor predeterminado"Hello, stranger"
.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable GreetingMessage:string = "Hello, stranger"
- Compila el código para actualizar el dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir el panel de detalles.
- En el panel de detalles del dispositivo, podemos ver que el dispositivo de Verse ahora tiene la propiedad
GreetingMessage
, y puedes cambiar el valor de su cadena para esta instancia del dispositivo.
Si se cambia el valor de una propiedad editable, solo se cambia para esa instancia del dispositivo. Si tienes varios dispositivos de Verse en tu nivel, cada uno puede tener un valor distinto para esta propiedad.
Cómo agregar una referencia de Verse a un dispositivo del modo Creativo en tu nivel
Sigue estos pasos para configurar 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.
- Agrega el atributo editable a la variable del dispositivo del modo Creativo que es parte de la definición del dispositivo de Verse. En el siguiente ejemplo, el campo de dispositivo de botón
MyButtonDevice
es una propiedad editable y tiene el valor predeterminadobutton_device{}
, pero no está conectado a un dispositivo de 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 el dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir el panel de detalles.
- En el panel de detalles del dispositivo, se muestra que el dispositivo de Verse ahora tiene la propiedad
MyButtonDevice
. - Puedes seleccionar un dispositivo de botón en tu nivel para que tu dispositivo de Verse haga referencia a él:
- Selecciona Elegir actor en la escena para elegir el dispositivo en el visor.
- O bien, utiliza el menú desplegable y busca el dispositivo al que deseas hacer referencia.
Cómo exhibir una matriz en el editor
En el editor, puedes exhibir una matriz redimensionable que sea parte del dispositivo de Verse. En el siguiente ejemplo, se agrega el campo de matriz button_device
editable denominado MyButtonDevices
.
- Comprueba que el dispositivo de Verse se haya agregado a tu nivel. Consulta Cómo agregar el dispositivo de Verse a tu nivel para ver los pasos.
- Agrega el atributo editable a la variable de la matriz del dispositivo del modo Creativo que es parte de la definición del dispositivo de Verse. En el siguiente ejemplo, el campo de matriz del dispositivo de botón
MyButtonDevice
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 el dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir el panel de detalles.
- En el panel de detalles del dispositivo, el dispositivo de Verse ahora tiene la propiedad de matriz MyButtonDevices, que no tiene elementos.
-
Haz clic en Agregar elemento para agregar elementos a la matriz MyButtonDevices.
Si deseas quitar elementos de la matriz en el editor:
- Puedes elegir la opción Quitar todos los elementos para eliminar todos los elementos de la matriz.
- O bien, si deseas eliminar un elemento individual, expande las acciones adicionales para un elemento y elige Eliminar.
Cada copia de este dispositivo hello_world_device que coloques en el nivel tendrá sus propios valores editables para MyButtonDevices
, que posteriormente puedes usar para cambiar los dispositivos de botón a los que hará referencia el dispositivo de Verse.
Cómo exhibir los tipos personalizados en el editor
En el editor, puedes exhibir el tipo personalizado, por ejemplo, una clase, como propiedad editable.
- Comprueba que el dispositivo de Verse se haya agregado a tu nivel. Consulta Cómo agregar el dispositivo de Verse a tu nivel para ver los pasos.
- Agrega el especificador
concrete
a la definición de clase. El especificadorconcrete
es obligatorio porque todos los campos deben inicializarse para que aparezcan en el editor.example := class<concrete>: MyData:float = 0.0 MyDevice:button_device = button_device{} IsEnabled:logic = false
- Agrega el atributo
editable
para cada variable de la clase que deseas 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 el tipo personalizado y agrega el atributo
editable
para que aparezca 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 el dispositivo de Verse en el nivel.
- En el esquematizador de UEFN, selecciona el dispositivo de Verse para abrir el panel de detalles.
- En el panel de detalles del dispositivo, se muestra que el dispositivo de Verse ahora tiene la sección
MyExample
. - Expande la sección
MyExample
para ver sus propiedades MyData y MyDevice. La propiedadIsEnabled
no aparece porque no tiene el atributoeditable
.
Al hacer que una matriz de los tipos personalizados sea una propiedad editable, agregas flexibilidad a la información que proporcionas al dispositivo de Verse. Por ejemplo, puedes definir tu propia clase de tablero de juego con referencias a dispositivos. Una matriz de estos tableros de juego en el dispositivo de Verse significa que puedes elegir cuántos niveles tendrá tu juego y proporcionar una configuración exclusiva para cada uno. Incluso puedes establecer matrices editables en la definición de tu clase para aportar más ampliación y personalización a la información.
Tipos de propiedades editables admitidas
En este momento, se pueden exhibir los siguientes tipos en el editor como propiedades editables:
logic
int
float
enum
string
- matrices de tipos editables
- mapas de tipos editables
- estructuras de tipos editables
- instancias de clase
Próximos pasos: Verse y eventos de dispositivos
Ya sabes 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 Codificación de las interacciones entre 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.