Indietro
Re:Imagine London di Fortnite - Dare vita a Londra in UEFN
Il team di Fortnite
Re:Imagine London (codice isola: 1442-4257-4418) è una collaborazione tra i noti Zaha Hadid Architects (ZHA) ed Epic Games volta a ricreare con precisione un'iconica area di Londra. I giocatori di Fortnite sono invitati a contribuire progettando i loro edifici personali esclusivi all'interno dell'isola.
Il progetto si è proposto vari obiettivi fondamentali:
ZHA, già esperti di Unreal Engine, hanno avuto un ruolo centrale in questo progetto. Non solo hanno progettato gli edifici, ma hanno anche creato il gameplay, incorporando concetti architettonici e costruttivi del mondo reale. ZHA ed Epic hanno anche collaborato con Accucities, altra società esperta di Unreal Engine, che ha portato in UEFN modelli altamente precisi di Londra per creare l'area giocabile del gioco.
Per saperne di più sulla storia dietro a Re:Imagine London, guarda questo video sul canale YouTube di B1M.

L'area esplorabile dai giocatori presenta vari luoghi di interesse iconici, come la Cattedrale di San Paul, la Tate Modern Gallery e lo Shakespeare’s Globe Theatre. All’interno di questa area giocabile di Londra, si trovano quattro siti edificabili.

I giocatori definiscono la forma e la categoria degli edifici posizionando i voxel, mentre il nuovo sistema automaticamente genera strutture realistiche. ZHA ha progettato i pezzi modulari e stabilito le regole di come questi pezzi si combinano, consentendo la creazione di edifici molto più grandi di un singolo voxel.



Quando un giocatore preme il pulsante Aggiungi, prima verifichiamo se si trova in una "zona di costruzione" e poi eseguiamo un ray casting per stabilire quale lato del voxel sta guardando. Se applicabile, viene aggiunto un nuovo voxel in quella posizione.
Per entrambe le tecniche il team ha creato un ampio set di elementi decorativi di edifici, oltre 330 in totale, che Verse genera poi nel runtime. Il codice è deterministico, cancella e genera soltanto gli elementi decorativi in base alla necessità.

Ecco una breve spiegazione del funzionamento di tali tecniche:

Shape Grammar consiste in semplici regole secondo le quali ciascuna regola prende una casella e genera una o più sottocaselle per le regole successive. Ad esempio, una regola potrebbe ritagliare una casella elevata in un "pavimento" alto un voxel, mentre un'altra regola assegna gli angoli a una regola e i muri a un'altra. Una regola speciale genera un elemento decorativo nelle dimensioni e nella posizione della casella.

Ciascuna regola è definita come classe di Verse separata, assemblata in un "albero" in codice. Questo approccio semplifica la creazione di nuove regole, la sperimentazione con idee diverse e l'assegnazione di stili distinti a ciascun tipo di edificio. L'applicazione di regole differenti allo stesso set di voxel produce risultati diversi, come dimostrato nell'immagine sotto.

Le regole possono anche selezionare un pezzo "aggiornato" quando specifiche combinazioni di voxel sono posizionate insieme, come un voxel in Parco o Abitazione.


In questa implementazione, è usato un set di tile e poi il team specifica quali tile possono essere adiacenti l'un l'altra. Viene applicata un'"etichetta" a ciascuno spigolo e le tile possono essere posizionate solo se le etichette corrispondono. L'algoritmo seleziona una posizione sulla griglia, sceglie a caso (o "comprime") dalle possibili opzioni e quindi propaga le conseguenze di tale scelta nelle possibili opzioni in altre posizioni.
Questo processo continua finché non viene generata l'intera regione.


Questa funzione è stata implementata generando caselle normalmente invisibili e usando un dispositivo Sequenza cinematografica per controllare una Raccolta parametri materiale. La Raccolta parametri materiale, a sua volta, regola l'opacità del materiale. L'opzione "Solo istigatore" permette ai giocatori di controllare questa visualizzazione indipendentemente, ossia facendo sì che riguardi solo il giocatore che la abilita, non altri.
L'isola salva anche informazioni come il livello nel gioco del giocatore, gli incarichi portati a termine e i pezzi che hanno sbloccato. Tutto grazie alla Persistenza in Verse!

Per rendere la città viva, sono state utilizzate tre tecniche diverse:

Un Livello dati consente la semplice accensione/spegnimento delle luci stradali. Inoltre, una Raccolta parametri materiale regola la luminosità di materiali specifici, come le finestre, di notte.

Ci auguriamo che tu ti diverta a esplorare e creare in Re:Imagine London e che questo ti fornisca idee per le tue isole future!



Il progetto si è proposto vari obiettivi fondamentali:
- Dimostrare un nuovo tipo di gameplay nell'ambito di Unreal Editor per Fortnite (UEFN).
- Superare i limiti di Verse e di altre funzioni di UEFN, verificarne e migliorarne tutto il potenziale.
- Mostrare come Fortnite sia in grado di presentare idee innovative a un ampio pubblico in modo coinvolgente.
- Scoprire come gli utenti esperti di Unreal Engine possano applicare la loro competenza in UEFN.
- Aspetto più importante, ispirare i giocatori a immaginare come le città del futuro potrebbero essere più pedonali, vibranti, verdi e sostenibili.
ZHA, già esperti di Unreal Engine, hanno avuto un ruolo centrale in questo progetto. Non solo hanno progettato gli edifici, ma hanno anche creato il gameplay, incorporando concetti architettonici e costruttivi del mondo reale. ZHA ed Epic hanno anche collaborato con Accucities, altra società esperta di Unreal Engine, che ha portato in UEFN modelli altamente precisi di Londra per creare l'area giocabile del gioco.
Per saperne di più sulla storia dietro a Re:Imagine London, guarda questo video sul canale YouTube di B1M.
Un nuovo tipo di edificio
Re:Imagine London mostra un intero nuovo sistema di edifici scritto in Verse. I giocatori scelgono tra sei diversi tipi di edificio (Marciapiede, Struttura, Parco, Zona commerciale, Ufficio e Abitazione) e lo progettano posizionando i voxel di tali tipi all'interno del sito edificabile.
L'area esplorabile dai giocatori presenta vari luoghi di interesse iconici, come la Cattedrale di San Paul, la Tate Modern Gallery e lo Shakespeare’s Globe Theatre. All’interno di questa area giocabile di Londra, si trovano quattro siti edificabili.

I giocatori definiscono la forma e la categoria degli edifici posizionando i voxel, mentre il nuovo sistema automaticamente genera strutture realistiche. ZHA ha progettato i pezzi modulari e stabilito le regole di come questi pezzi si combinano, consentendo la creazione di edifici molto più grandi di un singolo voxel.


Griglia e ray casting dei voxel
Nel cuore di Re:Imagine London si trova una griglia 3D di "celle" per ciascun sito edificabile, che archivia informazioni sul tipo di voxel di costruzione (se presente). Implementarlo in Verse è semplice quando si utilizza un array di riferimenti "opzionali". Inoltre, una semplice procedura di ray casting assume un punto di partenza e una direzione, attraversando la griglia fino ad incontrare una cella occupata.
Gestione degli input
L'isola utilizza alcuni dispositivi Attivatore di input per rispondere ai controlli come Aggiungi (aggiungi voxel), Elimina (rimuovi voxel), Oggetto precedente/successivo (cambia categoria) e Piccone (apri menu personalizzato).Quando un giocatore preme il pulsante Aggiungi, prima verifichiamo se si trova in una "zona di costruzione" e poi eseguiamo un ray casting per stabilire quale lato del voxel sta guardando. Se applicabile, viene aggiunto un nuovo voxel in quella posizione.
Generazione procedurale in Verse
Re:Imagine London implementa due tipi di generazione procedurale in Verse: Shape Grammar e Wave Function Collapse. Shape Grammar è applicata agli edifici 3D (Struttura, Zona commerciale, Ufficio, Abitazione), mentre Wave Function Collapse è usato per le aree "piatte" 2D (Marciapiedi, Parchi).Per entrambe le tecniche il team ha creato un ampio set di elementi decorativi di edifici, oltre 330 in totale, che Verse genera poi nel runtime. Il codice è deterministico, cancella e genera soltanto gli elementi decorativi in base alla necessità.

Ecco una breve spiegazione del funzionamento di tali tecniche:
Shape Grammar
Innanzitutto, tutti i voxel di ciascuna categoria sono "scomposti" in caselle convesse al fine di applicare Shape Grammar.
Shape Grammar consiste in semplici regole secondo le quali ciascuna regola prende una casella e genera una o più sottocaselle per le regole successive. Ad esempio, una regola potrebbe ritagliare una casella elevata in un "pavimento" alto un voxel, mentre un'altra regola assegna gli angoli a una regola e i muri a un'altra. Una regola speciale genera un elemento decorativo nelle dimensioni e nella posizione della casella.

Ciascuna regola è definita come classe di Verse separata, assemblata in un "albero" in codice. Questo approccio semplifica la creazione di nuove regole, la sperimentazione con idee diverse e l'assegnazione di stili distinti a ciascun tipo di edificio. L'applicazione di regole differenti allo stesso set di voxel produce risultati diversi, come dimostrato nell'immagine sotto.

Le regole possono anche selezionare un pezzo "aggiornato" quando specifiche combinazioni di voxel sono posizionate insieme, come un voxel in Parco o Abitazione.

Wave Function Collapse
Wave Function Collapse (WFC) è una tecnica per generare casualmente un'area in base a regole che stabiliscono come possono combinarsi i pezzi. Il metodo è stato discusso durante il dibattito State of Unreal 2022, The Matrix Awakens: Generating a World.
In questa implementazione, è usato un set di tile e poi il team specifica quali tile possono essere adiacenti l'un l'altra. Viene applicata un'"etichetta" a ciascuno spigolo e le tile possono essere posizionate solo se le etichette corrispondono. L'algoritmo seleziona una posizione sulla griglia, sceglie a caso (o "comprime") dalle possibili opzioni e quindi propaga le conseguenze di tale scelta nelle possibili opzioni in altre posizioni.
Questo processo continua finché non viene generata l'intera regione.

Visualizza modalità
Per aiutare i giocatori a visualizzare quali tipi di voxel hanno posizionato, possono attivare/disattivare una Modalità di visualizzazione che si sovrappone al sito edificabile con caselle colorate.
Questa funzione è stata implementata generando caselle normalmente invisibili e usando un dispositivo Sequenza cinematografica per controllare una Raccolta parametri materiale. La Raccolta parametri materiale, a sua volta, regola l'opacità del materiale. L'opzione "Solo istigatore" permette ai giocatori di controllare questa visualizzazione indipendentemente, ossia facendo sì che riguardi solo il giocatore che la abilita, non altri.
Salvataggio degli edifici
I giocatori possono lavorare agli edifici in più sessioni e condividere le proprie creazioni con amici grazie alla funzione Persistenza in Verse. I voxel degli edifici sono convertiti in una stringa di testo, salvati come array e possono essere ricaricati successivamente.L'isola salva anche informazioni come il livello nel gioco del giocatore, gli incarichi portati a termine e i pezzi che hanno sbloccato. Tutto grazie alla Persistenza in Verse!
Pedoni

Per rendere la città viva, sono state utilizzate tre tecniche diverse:
- Sequencer
- Utilizzato per animare i pedoni, le auto, le biciclette, le barche e i treni per la città.
- StaticMeshes
- Per pedoni che sono in piedi immobili o che seguono percorsi predefiniti, sono state impiegate StaticMeshes con materiali di animazione dei vertici anziché l'animazione di mesh scheletriche. Questo approccio è più efficiente poiché è eseguito interamente sulla GPU. Puoi sapere di più su questa tecnica nella nostra Panoramica sull'animazione dei vertici.
- Dispositivi Generatore di PNG
- Per pedoni all'interno dei siti edificabili, il dispositivo Generatore di PNG è stato utilizzato con un comportamento di Verse personalizzato. Questi PNG navigano attorno alle aree dei parchi e dei marciapiedi, generati in maniera più dinamica con lo sviluppo del sito. I PNG utilizzano lo scheletro MetaHuman e il set di animazione della locomozione.

Musica procedurale
Patchwork è stato usato per implementare un sistema di musica procedurale che si evolve man mano che i giocatori costruiscono. Al progredire della costruzione in un sito, la musica diviene gradualmente più dinamica. Tre livelli composti di musica sono stati importati in patch di fusione, caricati successivamente nei Riproduttori strumenti Patchwork e attivati da una traccia midi nel Sincronizzatore di brani. Il volume degli altoparlanti è aumentato o diminuito in base alla densità dell'edificio.Notte e giorno
Un ciclo giorno/notte personalizzato è stato implementato per mostrare la città sia di giorno che di notte. Il Sequencer è stato usato per regolare i parametri di illuminazione nel tempo, attivando le modifiche tramite Verse.Un Livello dati consente la semplice accensione/spegnimento delle luci stradali. Inoltre, una Raccolta parametri materiale regola la luminosità di materiali specifici, come le finestre, di notte.

Ci auguriamo che tu ti diverta a esplorare e creare in Re:Imagine London e che questo ti fornisca idee per le tue isole future!
Immagini aggiuntive


