Retour
Re:Imaginez Londres Fortnite – Donnez vie à la capitale britannique dans l'UEFN
L'équipe Fortnite
Re:Imaginez Londres (code d'île : 1442-4257-4418) est le fruit d'une collaboration entre l'équipe de renom de Zaha Hadid Architects (ZHA) et Epic Games pour recréer avec précision une zone emblématique de Londres. Les joueurs de Fortnite sont invités à y contribuer en construisant leurs propres structures sur l'île.
Les objectifs principaux de ce projet sont les suivants :
ZHA, qui connaît bien l'Unreal Engine, a joué un rôle essentiel dans ce projet. L'équipe en a non seulement conçu les structures, mais aussi le gameplay, y intégrant des concepts d'architecture et de construction issus du monde réel. ZHA et Epic Games ont également collaboré avec un autre spécialiste de l'Unreal Engine, Accucities, qui a intégré des modèles ultra-précis de Londres dans l'UEFN pour créer une zone jouable.
Pour en savoir plus sur l'histoire de Re:Imaginez Londres, regardez cette vidéo sur la chaîne YouTube The B1M.

La zone à explorer par les joueurs comporte divers sites emblématiques tels que la cathédrale Saint-Paul, la Tate Modern et le théâtre du Globe. La zone jouable de Londres propose quatre sites de construction.

Les joueurs définissent la forme et la catégorie des constructions en plaçant des voxels, tandis que le nouveau système génère automatiquement des structures réalistes. ZHA a conçu les éléments modulaires et établi des règles pour les associer, permettant des constructions beaucoup plus grandes qu'un simple voxel.



Lorsqu'un joueur appuie sur Tirer, nous vérifions d'abord s'il est dans une "zone de construction", puis nous exécutons une projection de rayons pour déterminer devant quelle face du voxel il se trouve. Le cas échéant, un nouveau voxel est ajouté à cet endroit.
Pour ces deux techniques, l'équipe a créé un vaste ensemble d'accessoires de construction modulaires (plus de 330 au total !) que Verse fait apparaître à l'exécution. Le code est déterministe, ne supprimant et ne générant des accessoires qu'en fonction des besoins.

Voici une brève explication du fonctionnement de ces deux techniques :

La grammaire de formes consiste en des règles simples. Chaque règle prend une boîte et génère une ou plusieurs sous-boîtes pour les règles suivantes. Par exemple, une règle peut diviser une grande boîte en "sol" d'un seul voxel, tandis qu'une autre peut assigner les coins à une règle et les murs à une autre. Une règle spéciale fait apparaître un accessoire à la taille et à l'emplacement de la boîte.

Chaque règle est définie comme classe Verse distincte, assemblée dans une "arborescence" en code. Cette approche simplifie la création de nouvelles règles, l'expérimentation de nouvelles idées et l'assignation de styles distincts à chaque type de construction. Appliquer différentes règles à un même ensemble de voxels produit des résultats divers, comme le montre l'image ci-dessous.

Les règles peuvent également sélectionner un élément "amélioré" lorsque des associations spécifiques de voxels sont placées ensemble, comme un voxel de parc ou un voxel résidentiel.


Dans cette implémentation, un ensemble de cases est utilisé, puis l'équipe spécifie quelles cases peuvent être adjacentes. Une "étiquette" est ensuite appliquée à chaque arête, et les cases ne peuvent être placées que si les étiquettes correspondent. L'algorithme sélectionne un emplacement sur la grille, choisit aléatoirement (ou "réduit") les options possibles, puis propage les conséquences de cette sélection aux options possibles à d'autres endroits.
Ce processus se poursuit jusqu'à ce que toute la zone soit générée.


Cette fonctionnalité a été implémentée en générant des boîtes initialement invisibles et en utilisant un appareil de séquence cinématique pour contrôler une collection de paramètres de matériaux. Cette collection ajuste ensuite l'opacité des matériaux. L'option Instigateur uniquement permet au joueur de contrôler cette vue de manière indépendante, n'impactant ainsi que le joueur qui l'a activée.
Par ailleurs, l'île enregistre des informations telles que le niveau en jeu des joueurs, leurs quêtes accomplies et leurs éléments débloqués. Tout ça grâce à la persistance Verse !

Pour dynamiser la ville, trois techniques différentes ont été employées :

Une couche de données permet d'allumer et d'éteindre l'éclairage des rues en toute simplicité. De plus, une collection de paramètres de matériaux ajuste la luminosité de matériaux spécifiques (comme les fenêtres) la nuit.

Nous espérons que vous aimerez Re:Imaginez Londres et qu'il vous inspirera pour vos futures îles !



Les objectifs principaux de ce projet sont les suivants :
- Faire découvrir un nouveau type de gameplay dans l'Unreal Editor pour Fortnite (UEFN).
- Repousser les limites de Verse et autres fonctionnalités de l'UEFN, en testant et en exploitant tout leur potentiel.
- Montrer comment Fortnite peut présenter des idées novatrices à un vaste public de manière engageante.
- Proposer aux utilisateurs expérimentés de l'Unreal Engine d'exprimer leur talent dans l'UEFN.
- Et surtout, donner envie aux joueurs d'imaginer des villes futures plus piétonnes, plus animées, plus vertes et plus durables !
ZHA, qui connaît bien l'Unreal Engine, a joué un rôle essentiel dans ce projet. L'équipe en a non seulement conçu les structures, mais aussi le gameplay, y intégrant des concepts d'architecture et de construction issus du monde réel. ZHA et Epic Games ont également collaboré avec un autre spécialiste de l'Unreal Engine, Accucities, qui a intégré des modèles ultra-précis de Londres dans l'UEFN pour créer une zone jouable.
Pour en savoir plus sur l'histoire de Re:Imaginez Londres, regardez cette vidéo sur la chaîne YouTube The B1M.
Un nouveau type de construction
Re:Imaginez Londres présente un tout nouveau système de construction écrit dans Verse. Les joueurs peuvent choisir six types de construction différents – allée, structure, parc, commercial, bureau, résidentiel – à réaliser en plaçant des voxels sur les sites.
La zone à explorer par les joueurs comporte divers sites emblématiques tels que la cathédrale Saint-Paul, la Tate Modern et le théâtre du Globe. La zone jouable de Londres propose quatre sites de construction.

Les joueurs définissent la forme et la catégorie des constructions en plaçant des voxels, tandis que le nouveau système génère automatiquement des structures réalistes. ZHA a conçu les éléments modulaires et établi des règles pour les associer, permettant des constructions beaucoup plus grandes qu'un simple voxel.


Grille de voxels et projection de rayons
Au cœur de Re:Imaginez Londres se trouve une grille 3D de "cellules" pour chaque site de construction, qui stocke des informations sur le type de voxel présent (le cas échéant). L'implémenter dans Verse est facile, grâce à l'utilisation d'une matrice de références "optionnelles". De plus, une routine simple de projection de rayons définit un emplacement de départ et une direction, traversant la grille jusqu'à ce qu'elle rencontre une cellule occupée.
Traitement des commandes
L'île utilise plusieurs déclencheurs pour répondre à des commandes telles que Tirer (ajouter un voxel), Viser (supprimer un voxel), Élément suivant/précédent (changer de catégorie) et Pioche (ouvrir le menu personnalisé).Lorsqu'un joueur appuie sur Tirer, nous vérifions d'abord s'il est dans une "zone de construction", puis nous exécutons une projection de rayons pour déterminer devant quelle face du voxel il se trouve. Le cas échéant, un nouveau voxel est ajouté à cet endroit.
Génération procédurale dans Verse
Re:Imaginez Londres implémente deux types de génération procédurale dans Verse : la grammaire de formes et la réduction du paquet d'onde. La grammaire de formes s'applique aux constructions 3D (structure, commercial, bureau, résidentiel), tandis que la réduction du paquet d'onde est utilisée pour les zones 2D "plates" (allées, parcs).Pour ces deux techniques, l'équipe a créé un vaste ensemble d'accessoires de construction modulaires (plus de 330 au total !) que Verse fait apparaître à l'exécution. Le code est déterministe, ne supprimant et ne générant des accessoires qu'en fonction des besoins.

Voici une brève explication du fonctionnement de ces deux techniques :
Grammaire de formes
D'abord, tous les voxels de chaque catégorie sont "décomposés" en boîtes convexes plus volumineuses, pour appliquer la grammaire de formes.
La grammaire de formes consiste en des règles simples. Chaque règle prend une boîte et génère une ou plusieurs sous-boîtes pour les règles suivantes. Par exemple, une règle peut diviser une grande boîte en "sol" d'un seul voxel, tandis qu'une autre peut assigner les coins à une règle et les murs à une autre. Une règle spéciale fait apparaître un accessoire à la taille et à l'emplacement de la boîte.

Chaque règle est définie comme classe Verse distincte, assemblée dans une "arborescence" en code. Cette approche simplifie la création de nouvelles règles, l'expérimentation de nouvelles idées et l'assignation de styles distincts à chaque type de construction. Appliquer différentes règles à un même ensemble de voxels produit des résultats divers, comme le montre l'image ci-dessous.

Les règles peuvent également sélectionner un élément "amélioré" lorsque des associations spécifiques de voxels sont placées ensemble, comme un voxel de parc ou un voxel résidentiel.

Réduction du paquet d'onde
La réduction du paquet d'onde (WFC, Wave Function Collapse) est une technique de génération aléatoire de zone selon des règles qui déterminent le mode d'assemblage des éléments. Cette technique a été évoquée lors de la conférence State of Unreal 2022, The Matrix Awakens: Generating a World.
Dans cette implémentation, un ensemble de cases est utilisé, puis l'équipe spécifie quelles cases peuvent être adjacentes. Une "étiquette" est ensuite appliquée à chaque arête, et les cases ne peuvent être placées que si les étiquettes correspondent. L'algorithme sélectionne un emplacement sur la grille, choisit aléatoirement (ou "réduit") les options possibles, puis propage les conséquences de cette sélection aux options possibles à d'autres endroits.
Ce processus se poursuit jusqu'à ce que toute la zone soit générée.

Mode de visualisation
Pour visualiser les types de voxels qu'ils ont placés, les joueurs peuvent activer un mode de visualisation qui superpose des boîtes colorées au site de construction.
Cette fonctionnalité a été implémentée en générant des boîtes initialement invisibles et en utilisant un appareil de séquence cinématique pour contrôler une collection de paramètres de matériaux. Cette collection ajuste ensuite l'opacité des matériaux. L'option Instigateur uniquement permet au joueur de contrôler cette vue de manière indépendante, n'impactant ainsi que le joueur qui l'a activée.
Enregistrement des constructions
Les joueurs peuvent utiliser plusieurs sessions pour travailler sur leurs constructions et partager leurs créations grâce à la fonctionnalité de persistance Verse. Les voxels de construction sont convertis en ligne de texte, enregistrés en tant que matrice et rechargeables ultérieurement.Par ailleurs, l'île enregistre des informations telles que le niveau en jeu des joueurs, leurs quêtes accomplies et leurs éléments débloqués. Tout ça grâce à la persistance Verse !
Piétons

Pour dynamiser la ville, trois techniques différentes ont été employées :
- Sequencer
- Utilisé pour animer les piétons, les voitures, les motos, les bateaux et les trains dans toute la ville.
- Maillages statiques
- Pour les piétons qui restent immobiles ou qui suivent un chemin prédéfini, des maillages statiques (StaticMeshes) avec des matériaux d'animations de vertex ont été utilisés au lieu de l'animation par maillages squelettiques. Cette méthode est plus efficace, car elle fonctionne entièrement avec le processeur graphique. Pour en savoir plus sur cette technique, consultez notre présentation des animations de vertex.
- Générateur de PNJ
- Pour les piétons évoluant dans les sites de construction, le générateur de PNJ a été utilisé avec un comportement Verse personnalisé. Ces PNJ circulent dans les allées et parcs et sont dynamiquement générés à mesure que les sites se développent. Ils sont dotés d'un squelette MetaHuman et d'un ensemble d'animation de locomotion.

Musique procédurale
L'outil Patchwork a été utilisé pour implémenter un système de musique procédurale qui évolue à mesure que les joueurs construisent. Au fil des progressions, la musique devient plus dynamique. Trois couches composées de musique ont été importées dans des patchs de fusion, chargées dans des lecteurs d'instruments Patchwork, puis déclenchées par une piste MIDI dans le synchronisateur de chansons. Le volume des haut-parleurs est augmenté ou baissé selon la densité de la construction.Jour/Nuit
Un cycle jour/nuit personnalisé a été implémenté pour montrer la ville de jour comme de nuit. Sequencer a été utilisé pour régler les paramètres d'éclairage au fil du temps, déclenchant les changements via Verse.Une couche de données permet d'allumer et d'éteindre l'éclairage des rues en toute simplicité. De plus, une collection de paramètres de matériaux ajuste la luminosité de matériaux spécifiques (comme les fenêtres) la nuit.

Nous espérons que vous aimerez Re:Imaginez Londres et qu'il vous inspirera pour vos futures îles !
Images supplémentaires


