Questa guida ti illustra come rendere il tuo dispositivo Verse più personalizzabile, esponendo proprietà che si possono modificare direttamente dall'editor senza dover modificare il codice Verse.
Questo approccio presenta i seguenti vantaggi:
- Iterazione più veloce: testa diverse configurazioni di dispositivi di Fortnite Creativo senza modifiche al codice.
- Riusabilità: riutilizza lo stesso dispositivo variandone le proprietà e i valori. Ad esempio, puoi attivare comportamenti specifici in base a una proprietà di tipo
logic
esposta all'editor. - Semplificazione: scopri rapidamente come utilizzare un dispositivo in base alle sue proprietà invece di dover esplorare il codice per capire come funziona.
Esposizione di una variabile nell'editor
Per esporre una variabile nell'editor come proprietà modificabile, assegnale come tag l'attributo editable
.
Attieniti ai passaggi seguenti per esporre una variabile nell'editor:
- Assicurati che il tuo dispositivo Verse sia stato aggiunto correttamente al tuo livello. Per i passaggi, vedi Aggiunta del dispositivo Verse al tuo livello.
- Aggiungi l'attributo modificabile alla variabile che fa parte della definizione del dispositivo Verse. Nell'esempio seguente, il campo della stringa
GreetingMessage
è una proprietà modificabile con il valore predefinito"Ciao, straniero"
.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable GreetingMessage:string = "Ciao, straniero"
- Compila il tuo codice per aggiornare il tuo dispositivo Verse nel livello.
- Nell'Outliner di UEFN, seleziona il tuo dispositivo Verse per aprire il relativo pannello Dettagli.
- Nel pannello Dettagli del dispositivo, il dispositivo Verse ora include la proprietà
GreetingMessage
e puoi modificare il valore stringa di questa specifica istanza del dispositivo.
Quando modifichi il valore di una proprietà modificabile, il cambiamento si applica solo a quella specifica istanza del dispositivo. Se nel tuo livello sono presenti più dispositivi Verse, ognuno può avere un valore diverso per questa proprietà.
Aggiunta di un riferimento Verse a un dispositivo di Fortnite Creativo nel tuo livello
Attieniti ai passaggi seguenti per impostare un riferimento a un dispositivo di Fortnite Creativo nel tuo livello:
- Make sure your Verse device is added to your level. See Adding Your Verse Device to Your Level for steps.
- Aggiungi l'attributo modificabile alla variabile del dispositivo di Fortnite Creativo che fa parte della definizione del dispositivo Verse. Nell'esempio seguente, il campo del dispositivo Pulsante
MyButtonDevice
è una proprietà modificabile e ha il valore predefinitobutton_device{}
ma non è collegato a un dispositivo Pulsante nel livello.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable MyButtonDevice:button_device = button_device{}
- Compila il tuo codice per aggiornare il tuo dispositivo Verse nel livello.
- Nell'Outliner di UEFN, seleziona il tuo dispositivo Verse per aprire il relativo pannello Dettagli.
- Nel pannello Dettagli del dispositivo, il dispositivo Verse presenta ora la proprietà
MyButtonDevice
. - Puoi selezionare un dispositivo Pulsante nel tuo livello che farà riferimento al tuo dispositivo Verse:
- Seleziona Scegli attore dalla scena per selezionare il dispositivo nella viewport
- In alternativa, utilizza il menu a discesa e cerca il dispositivo a cui vuoi fare riferimento.
Esposizione di un array nell'editor
Puoi esporre nell'editor un array ridimensionabile che fa parte del dispositivo Verse. Nell'esempio seguente viene aggiunto un campo array button_device
modificabile denominato MyButtonDevices
.
- Assicurati che il tuo dispositivo Verse sia stato aggiunto correttamente al tuo livello. Per i passaggi, vedi Aggiunta del dispositivo Verse al tuo livello.
- Aggiungi l'attributo modificabile all'array di variabili del dispositivo di Fortnite Creativo che fa parte della definizione del dispositivo Verse. Nell'esempio seguente, il campo dell'array di dispositivi Pulsante
MyButtonDevices
è una proprietà modificabile ed è un array vuoto.using { /Fortnite.com/Devices } using { /Verse.org/Simulation } hello_world_device := class(creative_device): @editable MyButtonDevices:[]button_device = array{}
- Compila il tuo codice per aggiornare il tuo dispositivo Verse nel livello.
- Nell'Outliner di UEFN, seleziona il tuo dispositivo Verse per aprire il relativo pannello Dettagli.
- Nel pannello Dettagli del dispositivo, il dispositivo Verse presenta ora la proprietà array MyButtonDevices che non ha elementi.
-
Fai clic su Aggiungi elemento per aggiungere elementi all'array MyButtonDevices.
Se vuoi rimuovere elementi dal tuo array nell'editor:
- Puoi scegliere l'opzione Rimuovi tutti gli elementi eliminando tutti gli elementi dell'array.
- Oppure, eliminare un singolo elemento espandendo le azioni aggiuntive per un elemento e scegliendo Elimina.
Ogni copia di questo dispositivo hello_world_device che posizionerai nel livello avrà i propri valori modificabili per MyButtonDevices
, che potrai quindi utilizzare per modificare i dispositivi Pulsante a cui fa riferimento il dispositivo Verse.
Esposizione di tipi personalizzati nell'editor
Puoi esporre un tipo personalizzato, come una classe, nell'editor come proprietà modificabile.
- Assicurati che il tuo dispositivo Verse sia stato aggiunto correttamente al tuo livello. Per i passaggi, vedi Aggiunta del dispositivo Verse al tuo livello.
- Aggiungi lo specificatore
concrete
alla definizione della classe. Lo specificatoreconcrete
è necessario perché tutti i campi devono essere inizializzati per essere visualizzati nell'editor.example := class<concrete>: MyData:float = 0.0 MyDevice:button_device = button_device{} IsEnabled:logic = false
- Aggiungi l'attributo
editable
ad ogni variabile della classe che vuoi che sia una proprietà modificabile nell'editor.example := class<concrete>: @editable MyData:float = 0.0 @editable MyDevice:button_device = button_device{} IsEnabled:logic = false
- Nella definizione del dispositivo Verse, definisci una variabile con il tuo tipo personalizzato e aggiungi l'attributo
editable
in modo che venga visualizzato nell'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 il tuo codice per aggiornare il tuo dispositivo Verse nel livello.
- Nell'Outliner di UEFN, seleziona il tuo dispositivo Verse per aprire il relativo pannello Dettagli.
- Nel corrispondente pannello Dettagli, il dispositivo Verse include ora la sezione
MyExample
. - Espandi la sezione
MyExample
per visualizzarne le proprietà MyData e MyDevice. La proprietàIsEnabled
non viene visualizzata perché non ha l'attributoeditable
.
Convertire una proprietà modificabile in un array di tipi personalizzati aumenta la flessibilità delle informazioni che possono essere fornite al dispositivo Verse. Ad esempio, puoi definire una tua classe tabellone con riferimenti al dispositivo. Un array di questi tabelloni sul tuo dispositivo Verse ti consente di scegliere quanti livelli avrà il tuo gioco e dare una configurazione unica a ciascuno. Puoi anche definire array modificabili nella definizione della classe per aggiungere maggiore estensibilità e personalizzazione alle informazioni.
Tipi modificabili supportati
Attualmente è possibile esporre i seguenti tipi nell'editor in forma di proprietà modificabili:
logic
int
float
enum
string
- array di tipi modificabili
- mappe di tipi modificabili
- strutture di tipi modificabili
- istanze di classe
Passaggio successivo: Verse ed eventi di un dispositivo
Hai avuto una breve introduzione alle modalità di controllo dei dispositivi con Verse, ma hai ancora molto da scoprire. Scopri come personalizzare ulteriormente i dispositivi nella sezione Codifica delle interazioni con i dispositivi. Qui imparerai a reagire agli eventi inviati dai dispositivi, ad esempio i pulsanti, per creare esperienze di gameplay dinamiche che rispondono alle azioni del giocatore.