La gestione dei livelli su Unreal Engine 4

Unreal Engine 4 offre diversi strumenti per la gestione dei livelli, alcuni semplicemente utili nella creazione degli stessi per i level designer o gli sviluppatori, altri invece essenziali per non sovraccaricare l’hardware, in particolare la GPU.

Tutte queste necessità si comprendono a partire dalla definizione di livello in un videogioco:
Che cos’è un livello? Un livello è una di più parti in cui il gioco è stato suddiviso per ragioni tecniche o organizzative. Ogni livello costituisce un’area, uno scenario o una sequenza di eventi caricato nella memoria.

Come creare un livello in Unreal Engine 4

Level Creation Method 1 Unreal Engine 4 Creazione Livello Metodo 1

Per creare un livello su UE4 dal menù principale sotto “File” seleziona “New Level” o più semplicemente clicca CTRL+N. UE4 ci mette a disposizione 3 diversi template da cui partire:

  • Default: un livello contenente una brush piana ed un sistema di illuminazione con il cielo.
  • VR-Basic: un livello contenente alcuni oggetti con fisica abilitata, in uno spazio aperto solo superiormente.
  • Empty Level: un livello completamente vuoto.

Come puoi ben capire molte volte i contenuti del template Default e VR-Basic non sono necessari, quindi quello usato più frequentemente è il template Empty Level.

Level Creation Method 2 UE4 Creazione Livello Metodo 2

Se vuoi creare un Empty Level, un altro modo è cliccare nel Content Browser il tasto destro nel percorso desiderato e selezionare – nella sezione Create Basic Asset – il pulsante Level.

In tal modo non dovrai selezionare il percorso di salvataggio a posteriori, né scegliere un template giacché viene creato automaticamente un livello vuoto.

Come salvare un livello in Unreal Engine 4

Save Level Method 1 UE4 Salvare un livello Metodo 1

Come per la creazione, anche per il salvataggio dei livello su UE4 basta andare nel menù principale, sotto “File” e selezionare “Save Current“.

Metodo più veloce è la combinazione di tasti CTRL+S.

Save Level Method 2 Unreal Engine 4 Salvare un livello Metodo 2

L’ultimo metodo è quello di cliccare nella Toolbar il pulsante Save Current.

Come aprire un livello in Unreal Engine 4

Per aprire un livello su UE4, cliccalo due volte consecutive dal Content Browser.

Se hai il Content Browser chiuso puoi aprirlo dalla sezione “Window” del menù principale o, se per altre ragioni volessi continuare a tenerlo chiuso, puoi aprirlo solo momentaneamente cliccando la combinazione CTRL+O e selezionando il livello da aprire.

Lo streaming dei livelli su Unreal Engine 4: una gestione organizzativa e di risparmio dell’hardware.

Lo strumento più potente offerto da UE4 per la gestione dei livelli è lo Streaming Level, questo strumento ci permette di avere più livelli figli in un singolo livello genitore.
Il livello genitore è detto Persistent Level, i livelli figli sono detti Streaming Levels.

Visualizzazione Livelli per lo Streaming UE4

Per visualizzare la pagina di gestione dei livelli, dal menù principale sotto Window seleziona Levels.

Così facendo diventerà visibile una nuova pagina in cui potremo organizzare la nostra gestione.

Rispondiamo adesso ad alcune domande relative all’uso di questa scheda.

La gestione dei livelli su Unreal Engine 4 Streaming Levels UE4 ita
Come creare un nuovo streaming level?

Dalla pagina Levels, evidenziata in rosso nell’immagine, seleziona Create New.

Come aggiungere un livello già creato come streaming level?

Il procedimento è lo stesso ma seleziona Add Existing.

Quali opzioni posso visualizzare di uno streaming level?

Dalla View Options, evidenziata in blu nell’immagine, puoi visualizzare il percorso contenente quel livello (Display Paths) ed il numero di Actors che contiene (Display Actors Count).

Come faccio a decidere a quale livello appartiene un actor?

Selezionando due volte dalla scheda Levels il livello, tutti gli actor creati a partire da quel momento apparterranno a quel livello. Se vuoi spostare un actor da un livello ad un altro, come appartenenza, selezionalo (ti ricordo che puoi selezionarne più contemporaneamente) e clicca con il tasto destro il livello in cui vuoi spostarlo, quindi seleziona Move Selected Actors to Level.

Cosa posso fare con gli streaming levels ed a cosa servono?

Gli streaming levels servono per due ragioni: una di carattere organizzativo, un’altra di carattere tecnico. Analizziamole approfonditamente nei paragrafi che seguono.

Organizzare i livelli tramite gli streaming levels

Per ragione di carattere organizzativo intendiamo un’utilità nella creazione del livello, molto utile quindi per level designers. Si tratta quindi della gestione dei livelli di Unreal Engine 4 in termini di gestione delle varie parti.
Nella creazione dei livelli puoi infatti nasconderne alcuni cliccando l’icona dell’occhio accanto ad essi, renderne alcuni non modificabili cliccando l’icona del lucchetto.
Puoi inoltre visualizzare ogni actor di un colore diverso in base all’appartenenza ad un certo streaming level: puoi selezionare il colore accanto.

Come attivare la colorazione livelli su Unreal Engine 4 Ita

Per visualizzare i colori selezionati nella Viewport, dal tasto Show, nella sezione “All Show Flags” > Advanced spunta la casella su Level Coloration.

Unreal Engine 4 Color View in Level Editor UE4 Gestione Livelli Colore

Il risultato sarà come la parte destra dell’immagine: nel mio caso gli actor bianchi/neri fanno parte del livello persistente, quelli viola dell’unico streaming level che ho creato.

Come noti dal confronto con la normale Viewport (a sinistra) in pratica tutte le texture sono state sostituite con il colore del livello relativo.

Agevolare la GPU tramite gli streaming levels su Unreal Engine 4: una dritta importantissima

La ragione tecnica degli streaming levels è ciò che gli rende essenziali.
Se dovessi caricare un mondo enorme, tutto contemporaneamente nella memoria della GPU, il 99% dei giochi moderni per PC non potrebbero esistere.
Per ovviare a ciò ci sono due tecniche: il LOD, che analizzeremo in articoli successivi, e l’uso degli Streming Level.

Il modo di ovviare a questo problema è molto semplice: basta caricare solo le parti di livello realmente necessarie, ovvero quelle in cui è presente il giocatore e che lo circondano.

Se provassi a creare un nuovo streaming level, noterai che solo gli actor del livello persistente sono visibili quando vai in modalità Play, questo perché di base i livelli vanno caricati tramite Blueprints o tramite codice, in tal modo lo sviluppatore caricherà porzioni di livello al momento in cui sono necessarie ed eliminerà quelle che non lo sono più. I blocchi di Blueprint da utilizzare verranno mostrati in un articolo a parte.
Volendo lasciare uno streaming level sempre caricato selezionalo con il tasto destro, Change Streaming Method > Always Loaded.

Cosa hai imparato

  1. Come creare, aprire e salvare un livello su Unreal Engine 4. Rispettivamente CTRL + (N) (O) (S).
  2. I template di base dei livelli di UE4.
  3. La gestione avanzata dei livelli su Unreal Engine 4 tramite lo Streaming Level.
  4. Organizzare la creazione dei livelli con la scheda Levels.
  5. L’utilità tecnica dello streaming dei livelli: non affaticare la GPU caricando contenuti non necessari.

In molti sottovalutando l’utilità tecnica dell’uso degli streaming levels incorrono in problemi di hardware nella creazione dei livelli, e operare in seguito nel risolvere questo problema creando solo in seguito diverse porzioni può far perdere molto tempo.
Spero allora di averti salvato in corner e soprattutto di averti fatto capire quanto sia essenziale la ripartizione dei livelli tramite lo Streaming Level!