Partizione mondo consente ai creatori di costruire isole vaste e complesse, oltre a migliorare la memoria, ottimizzare i costi e garantire prestazioni impeccabili su piattaforme diverse.
Tutto questo è possibile grazie a due componenti importanti di Partizione mondo: Streaming e HLOD (livello gerarchico di dettaglio).
Streaming
La Partizione mondo utilizza lo Streaming per caricare e togliere dalla memoria le celle della griglia che circondano il giocatore o la sorgente di streaming. In questo modo si riduce la quantità di dati che la macchina deve memorizzare nelle celle intorno al personaggio.
Se la tua isola è più larga di 1 km nel suo punto più esteso, una finestra pop-up ti chiederà di attivare il componente di Streaming.
Selezionando l'opzione Abilita streaming, solo le celle intorno alla posizione attuale del giocatore contano per il consumo di memoria corrente, con alcune eccezioni.
Fai clic su Finestra > Impostazioni mondo per vedere se Abilita streaming è attivo.
La prima volta che selezioni questo riquadro, dovrai confermare la tua selezione.
Il componente di streaming dovrebbe ora essere abilitato per il tuo progetto.
Per visualizzare la griglia della tua isola, spunta Anteprima griglie in Impostazioni mondo.
Puoi modificare le dimensioni di ogni cella e l'intervallo di caricamento, tenendo sempre presente che le impostazioni predefinite sono ottimizzate per le isole delle dimensioni di Battaglia reale di Fortnite.
Per informazioni più approfondite, consulta la pagina Partizione mondo nella documentazione di Unreal Engine 5.
HLOD
Il Livello gerarchico di dettaglio o HLOD è un raggruppamento ottimizzato di attori adiacenti, in cui il gruppo viene semplificato in una mesh statica una volta che è sufficientemente lontano dalla sorgente di streaming.
Gli HLOD sono generati dal livello di dettaglio più basso (LOD) dell'asset. Se non viene definito alcun LOD negli asset personalizzati, l'HLOD sarà molto costoso perché verrà generato da asset ad alta risoluzione.
LOD0 è l'asset con la massima fedeltà. LOD1 è una mesh con una fedeltà inferiore. La fedeltà diminuisce con l'aumentare del numero di LOD.
L'immagine a sinistra mostra gli asset riportando tutti i loro dettagli, mentre l'immagine a destra mostra un asset HLOD generata da questa cella della griglia.
La compilazione di HLOD comporta l'aggiunta di nuovi asset al tuo progetto e un conseguente aumento del consumo totale di memoria dell'isola.
Le decisioni che prendi riguardo ai componenti di Streaming e HLOD influenzano l'utilizzo della memoria nei modi seguenti:
Streaming INATTIVO | Gli asset non vengono mai scaricati dalla memoria e gli HLOD non vengono utilizzati. | Consumo di memoria massimo |
Streaming ATTIVO e HLOD generati | Gli asset continueranno a essere visualizzati a distanza, ma con un dettaglio minore man mano che la telecamera si allontana. | Utilizzo moderato della memoria |
Streaming ATTIVO e HLOD non generati | Gli asset scompaiono in lontananza, man mano che la telecamera si allontana. | Consumo di memoria minimo |
Compila HLOD
Per compilare HLOD, assicurati che per il tuo progetto sia stato attivato il componente Streaming, poi vai a Compila nella barra degli strumenti e seleziona Compila HLOD.
La compilazione degli HLOD potrebbe richiedere tempistiche differenti, a seconda delle caratteristiche del tuo dispositivo e della complessità del mondo che stai sviluppando. Tuttavia, quando eseguirai di nuovo di nuovo questo processo, gli HLOD verranno generati soltanto per quelle aree del tuo mondo che hanno subito modifiche, riducendo così i tempi necessari.
Per saperne di più sul funzionamento degli HLOD, consulta la pagina Partizione mondo - Livello gerarchico di dettaglio nella documentazione di Unreal Engine 5.
Escludi asset dalla generazione di HLOD
Alcuni asset non richiedono HLOD. Ecco alcuni esempi di asset che puoi escludere:
Oggetti scenografici per interni e asset di costruzione | Qualsiasi asset non visibile da lontano non richiede HLOD. Esempi: mobili, pareti interne, pavimenti interni ecc. |
Asset sotterranei | Qualsiasi parte dell'isola situata nel sottosuolo che non sarà mai visibile al giocatore. Esempi: scantinati, grotte, trincee, bunker e così via. |
Piccoli attori | I piccoli attori che non occupano una parte significativa dello schermo del giocatore non richiedono HLOD. Esempi: scatole, piante e lampioni. |
Grandi attori | Gli attori di sfondo di grandi dimensioni, come i grattacieli o le montagne, non necessitano di HLOD. Se li escludi dagli HLOD, assicurati che rimangano sempre caricati deselezionando È caricato spazialmente nel pannello Dettagli. |
Seleziona tutti gli asset che non richiedono HLOD. Nel pannello Dettagli, deseleziona Includi attore in HLOD o Includi componente in HLOD a seconda dell'asset.
Una buona regola per decidere se includere o meno un asset negli HLOD è quella di zoomare nell'editor e poi stabilire se escludere o meno gli asset non necessari dalla generazione degli HLOD.
Ridurre l'intervallo di caricamento
La qualità degli HLOD è legata alla loro distanza di disegno prevista. Quando utilizzi lo streaming, la distanza minima alla quale gli HLOD sono visibili corrisponde all'intervallo di caricamento che hai configurato per la griglia della Partizione mondo.
Se gli HLOD vengono caricati solo quando risultano già piccoli sullo schermo del giocatore, occuperanno meno spazio.
Per modificare l'intervallo di caricamento:
Seleziona la scheda Configurazione Partizione mondo.
Espandi Impostazioni runtime, quindi espandi Griglie.
Modifica l'intervallo di caricamento facendo clic con il tasto sinistro del mouse sul valore numerico e spostalo a sinistra o a destra, oppure inserisci il valore che preferisci.
Utilizzare le regioni di caricamento per migliorare le prestazioni dell'editor
Mentre lavori a progetti di grandi dimensioni in UEFN, potresti notare problemi di prestazioni quando la tua isola raggiunge una certa dimensione. Per impostazione predefinita, viene sempre memorizzata l'intera isola. Per migliorare il framerate e la reattività della viewport, puoi caricare e scaricare le regioni mentre lavori su diverse aree dell'isola.
Quando lavori su un'isola vasta o ricca di dettagli nell'editor di UEFN, utilizza la minimappa di Partizione mondo per caricare e scaricare sezioni dell'isola, riducendo drasticamente i tempi di caricamento.
Per farlo:
Assicurati che il componente Streaming sia abilitato nel tuo livello.
Seleziona Modifica dalla barra del menu, poi scegli Preferenze editor...
Vai alla sezione Partizione mondo e deseleziona l'opzione "Disattiva caricamento nell'editor".
Ricarica il tuo progetto. Questa funzione non può essere utilizzata se il progetto non viene ricaricato!
Nella scheda Partizione mondo, fai clic con il tasto sinistro del mouse e trascina l'area che desideri scaricare.
Fai clic con il pulsante destro del mouse all'interno della selezione e scegli Scarica le regioni selezionate.
Per ricaricare una regione, fai clic e trascina la regione desiderata, fai clic con il tasto destro del mouse e seleziona Carica regione da selezione
Tieni presente che tutto il paesaggio e i dispositivi non saranno influenzati dalle azioni di caricamento e scaricamento. Lo stesso vale per qualsiasi asset con l'opzione "È spazialmente caricato" deselezionata nelle Opzioni utente.
Livelli dati in UEFN
I livelli dati sono un sistema di UEFN che organizza gli attori in più livelli. Puoi caricare o scaricare questi livelli per organizzare il tuo mondo, gestire livelli complessi e creare esperienze di gameplay uniche. Immagina un'esperienza di gioco con livelli casuali. Impostando diversi layout di livello su diversi livelli e selezionandone uno in modo casuale all'inizio del gioco, puoi arricchire la tua esperienza di gioco rendendola più varia e divertente. Puoi utilizzare i livelli dati per ottenere transizioni ancora più ampie, ad esempio per cambiare un intero livello dall'estate all'inverno o per aggiungere la distruzione di un castello dopo una battaglia.
Per informazioni più dettagliate sulla creazione e la gestione dei livelli dati, consulta la relativa pagina sul sito della documentazione di Unreal Engine
Manipolazione dei livelli dati tramite il Sequencer cinematografico
Puoi utilizzare la Sequenza cinematica in UEFN per caricare, attivare e scaricare livelli dati durante il runtime e in risposta ad eventi.
Nella scheda Sequencer, fai clic sul pulsante Traccia e seleziona Livello dati per aggiungere un livello dati esistente alla traccia del Sequencer.
Una volta impostata la traccia, fai clic con il pulsante destro del mouse sulla traccia Livello dati e seleziona Modifica sezione. Poi fai clic su Aggiungi elemento nella scheda Asset livello dati e seleziona il livello dati che desideri utilizzare con il sequencer cinematografico.
Facendo clic con il tasto destro del mouse sul livello dati della timeline, puoi visualizzarne le proprietà. In questa sezione puoi scegliere lo Stato desiderato, ovvero lo stato in cui vuoi che il livello si trovi quando la timeline viene valutata. Puoi inoltre modificare lo stato di Preroll. Lo stato di Preroll è lo stato in cui si trova il livello prima dell'inizio della traccia, mentre lo stato di Postroll è lo stato successivo alla fine della traccia. Ad esempio, se volessi attivare un livello dati, dovresti impostare lo stato desiderato su Attivato e lo stato di preroll su Caricato. Impostando lo stato di preroll su Caricato e aumentando il numero di frame di preroll, il livello avrà più tempo per caricarsi prima di attivarsi e potrebbe comportare prestazioni più fluide.
Muovendo la testina di riproduzione, puoi ottenere l'anteprima dello stato del tuo livello durante la valutazione della timeline.
Per saperne di più sull'utilizzo del dispositivo Sequencer cinematografico, vedi la pagina Dispositivo Sequencer cinematografico.
Genera la minimappa dell'editor
Un passaggio opzionale consiste nel generare una minimappa ad alta fedeltà nella sessione dell'editor. Questo può aiutarti a trovare rapidamente le diverse aree del livello su cui vuoi lavorare.
Seleziona Compila nella Barra dei menu, poi scegli Compila minimappa editor Partizione mondo.
Visualizzerai sullo schermo la finestra di dialogo Stato di compilazione. Attendi con pazienza, perché questo passaggio potrebbe richiedere diversi minuti a seconda della complessità della tua isola.
La tua minimappa corrisponde ora alla tua viewport. Puoi continuare a caricare e scaricare le regioni nello stesso modo.
Risoluzione dei problemi
D: Perché gli HLOD non sono visibili dopo la loro compilazione?
R: Per impostazione predefinita, l'editor non carica gli attori HLOD. Per esaminarli, usa l'Outliner per cercarli e Appuntarli.
D: Perché gli asset generano HLOD quando gli attori sono distanti tra loro?
R: Controlla per vedere se gli attori sono allegati/annidati sotto un attore genitore. Fai clic sull'attore e seleziona Allega a: nessuno per dissociarlo.
D: Alcuni asset importanti scompaiono quando le celle vengono scaricate.
R: Per impostazione predefinita, l'opzione Includi attore in HLOD non è abilitata in alcuni asset nativi di UEFN. Se si verificano errori, controlla le proprietà dell'asset.
D: Perché la richiesta di streaming si attiva quando la mia isola non è più lunga di 1 km?
R: La richiesta di streaming può essere attivata se il paesaggio supera 1 km nel suo asse più largo o se un attore si trova a più di 1 km dal punto di origine del livello.
D: Perché il mio attore grande non viene sostituito dagli HLOD a una certa distanza?
R: È possibile che uno o più attori nella gerarchia di un prefab siano stati copiati e spostati così lontano che il sistema di Partizione mondo li considera come mesh che devono ancora essere caricate. Per risolvere il problema, rimuovi l'attore o gli attori interessati dalla gerarchia.