Dernières actualités
Suivi de caméra dans Blender : ajouter des éléments 3D à des prises de vue architecturalesUnreal Engine Level Snapshots : gérer les variantes de scènes architecturalesGuide World Partition d’Unreal Engine : diviser les grandes scènes architecturales en cellulesGuide pour créer des visuels architecturaux et retoucher des intérieurs avec Nano Banana 2.1Genie 4 annoncé : Google le réserve d’abord aux testeurs de confianceApple dévoile le MacBook Pro 14 pouces avec M6 : CPU et GPU à 12 cœursIntel Crescent Island D270 : le die révèle 32 cœurs Xe3PLes preuves générées par l’IA d’OpenAI soumises à des experts indépendantsLes plans du Youth Orchestra Abu Dhabi dévoilés : un projet de Frank GehrySimulation de corps rigides dans Blender : configurer des objets liés en chute
Conseils et guidesUnreal EngineMari

Guide World Partition d’Unreal Engine : diviser les grandes scènes architecturales en cellules

Le système World Partition d’Unreal Engine peut diviser les grands mondes en cellules au sein d’un seul Level persistant, puis les charger selon les besoins. Ce guide présente les étapes essentielles pour configurer le streaming et la géométrie distante dans des scènes d’environnement architectural.

Scène d’un vaste campus architectural avec des bâtiments détaillés et un environnement distant simplifiéImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. World Partition conserve les grands niveaux dans un seul fichier persistant et divise la zone de travail en cellules de grille.
  2. À l’exécution, les cellules sont chargées et déchargées en fonction de la position des sources de streaming et des paramètres de la grille.
  3. HLOD peut représenter les objets distants des cellules non chargées à l’aide de géométrie proxy.
  4. Avant de générer les HLOD, les acteurs concernés doivent être ajoutés à une couche HLOD et leur valeur Mobility doit être définie sur Static.

La documentation officielle d’Unreal Engine décrit World Partition comme un système qui divise les grands niveaux en cellules dans un seul Level persistant, puis charge et décharge ces cellules à l’exécution. Ce guide explique comment configurer le système pour des environnements architecturaux, de vastes paysages et des scènes de visualisation à grande échelle, ainsi que comment gérer la géométrie distante avec HLOD. La documentation ne précisant pas de version particulière d’Unreal Engine, les noms des menus et des options sont repris ici tels qu’ils apparaissent dans la source.

1. Créez un projet ou un niveau World Partition

Lorsque vous démarrez un nouveau projet, World Partition est activé par défaut dans certains modèles de la catégorie Games. Cependant, l’option Enable Streaming est désactivée par défaut dans les modèles Blank, First Person, Third Person, Top Down et Vehicle Advanced. Si la scène doit non seulement être divisée, mais aussi bénéficier du streaming des cellules, vérifiez donc l’option Enable Streaming dans World Settings.

Pour créer une vaste zone extérieure comme point de départ, accédez à File › New Level, sélectionnez le type de carte Open World, puis cliquez sur Create. Dans le type Open World, World Partition, One File Per Actor, Data Layers et Hierarchical Levels of Detail sont activés par défaut. La carte d’exemple de la documentation comprend un Landscape de 2 km x 2 km avec un éclairage extérieur.

Pour convertir un niveau existant, utilisez l’option Tools > Convert Level. Il est également possible d’exécuter l’outil en ligne de commande. Voici la commande d’exemple de la documentation officielle :

Prompt
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRendering

Dans la commande de conversion, -ReportOnly permet de générer un rapport sur les opérations prévues sans effectuer la conversion. -ConversionSuffix ajoute _WP à la carte convertie à des fins de test, ce qui aide à préserver le niveau source. Avant d’utiliser l’option -DeleteSourceLevels, qui supprime les niveaux sources, examinez les fichiers à conserver et le workflow de l’équipe.

2. Organisez le streaming des cellules en fonction de la scène

World Partition divise le niveau en cellules de grille qui peuvent être utilisées à l’exécution. Le chargement et le déchargement des cellules dépendent de la position des sources de streaming et des paramètres de Runtime Grid. Le Player Controller peut servir de source de streaming par défaut ; il est également possible d’ajouter à la scène un composant World Partition Streaming Source.

Par exemple, vous pouvez activer temporairement une source de streaming à l’emplacement d’une téléportation afin que les cellules environnantes soient chargées avant que le joueur n’y arrive. Le composant propose des options telles que Target Grid, Priority et Target State. Target State détermine si les cellules intersectées passent à l’état Loaded ou Activated. La fonction Is Streaming Completed d’un Blueprint indique si le streaming des cellules couvertes par le composant est terminé.

Les paramètres Runtime Grid se trouvent dans la section World Partition Setup du panneau World Settings. La documentation indique qu’une grille 2D Runtime Hash est définie par défaut et avertit que l’utilisation de plusieurs grilles peut nuire aux performances. Les valeurs ci-dessous sont des exemples issus de la documentation ; elles ne doivent pas être considérées comme des valeurs fixes recommandées pour toutes les scènes.

ParamètreExemple de la documentationEffet
Cell Size256 m x 256 m x 256 mDétermine la taille des cellules.
Loading Rangerayon de 768 mDétermine à quelle distance autour de la source de streaming les cellules sont chargées.

3. Créez une couche HLOD pour l’environnement distant

Le streaming des cellules peut rendre invisibles les objets des zones qui ne sont pas chargées à ce moment-là. Le système HLOD de World Partition représente ces zones à l’aide de maillages proxy ; selon la documentation, cette approche peut contribuer à réduire le nombre de draw calls par image et à améliorer les performances.

Pour créer une couche HLOD, dans le Content Drawer, accédez à + Add › Miscellaneous › HLOD Layer. Choisissez le type de couche en fonction du contenu de la scène :

  1. Instancing représente les Static Mesh sources à l’aide de composants Instanced Static Mesh avec des paramètres de LOD de bas niveau. La documentation cite notamment les impostors d’arbres et de plantes comme des cas d’utilisation adaptés à ce type.

  2. Merged Mesh regroupe les acteurs Static Mesh dans un seul maillage proxy.

  3. Simplified Mesh regroupe les acteurs dans un seul maillage proxy et simplifie également la géométrie.

Des paramètres distincts sont disponibles pour Merged Mesh et Simplified Mesh. Selon le type de couche, vous pouvez régler les options relatives aux UV de lightmap, à la simplification des matériaux, à la fusion des maillages et à la génération des proxies. HLODMaterial définit le matériau de base utilisé pour la cuisson des matériaux dans les couches fusionnées ou simplifiées ; la documentation précise que le matériau par défaut convient à la plupart des cas.

4. Lancez la génération des HLOD et vérifiez le résultat

Pour générer les HLOD, ajoutez les acteurs à une couche HLOD, définissez leur valeur Mobility sur Static et activez la génération des HLOD. L’affectation d’une couche peut se faire à partir de la propriété HLOD de l’acteur dans le panneau Details, de la propriété Default HLOD Layer d’un Data Layer ou de World Settings. Vous pouvez ensuite utiliser Build > Build HLODs ou exécuter le commandlet WorldPartitionHLODsBuilder.

Conséquences pour le workflow de visualisation architecturale

World Partition permet de gérer uniquement les parties nécessaires d’une scène, au lieu de tout charger en même temps dans une vaste propriété, un campus ou un modèle d’environnement. Pour le travail en équipe, One File Per Actor stocke les acteurs dans des fichiers séparés, ce qui peut limiter la nécessité de réserver le fichier Level pendant que d’autres modifient des acteurs. HLOD contribue à maintenir visibles les éléments éloignés du paysage et des bâtiments.

Toutefois, la taille des cellules et la distance de chargement doivent être testées en fonction des besoins du projet ; les valeurs d’exemple de la documentation ne doivent pas être appliquées telles quelles à toutes les scènes. Dans les paramètres Simplified Mesh, le traitement d’une géométrie importante avec un faible intervalle d’échantillonnage peut consommer beaucoup de mémoire. Désactiver les distance fields sur les maillages fusionnés destinés à être affichés au loin peut permettre d’économiser de la mémoire. La documentation ne précise ni licence, ni prix, ni exigences matérielles particulières ; avant la mise en œuvre, vérifiez également la version d’Unreal Engine utilisée et les paramètres du projet de l’équipe.

Erreurs fréquentes

  • Partir du principe que le streaming des cellules est activé : l’option Enable Streaming est désactivée dans certains modèles ; vérifiez-la dans World Settings.

  • Attribuer le même type de HLOD à tous les acteurs : l’instancing peut être envisagé pour les arbres, et les autres types de couches pour les structures regroupées.

  • Oublier de définir Mobility sur Static avant de générer les HLOD : selon la documentation, il s’agit de l’une des conditions nécessaires à la génération.

  • Considérer les dimensions de grille fournies en exemple comme des valeurs à appliquer systématiquement : la taille des cellules et la distance de chargement doivent être testées selon l’étendue de la scène.

Sources

2 sources
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition-in-unreal-engine
Résumé
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition---hierarchical-level-of-detail-in-unreal-engine
Résumé

Les textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.

L’avis de 3dsınıfı
3dL’analyse de la rédaction

Pour les agences d’architecture et de visualisation en Turquie, le principal intérêt de World Partition est de réduire la nécessité de charger d’un seul coup les grandes scènes d’environnement et de faciliter le travail en équipe sur un même Level. Pour les propriétés, les grands paysages ou les présentations extérieures, le streaming des cellules et HLOD peuvent être envisagés conjointement.

Cependant, reprendre directement les valeurs d’exemple pour les cellules et le chargement n’est pas forcément le bon point de départ ; il faut les tester en fonction de la scène. Il faut également tenir compte du coût mémoire d’un faible intervalle d’échantillonnage dans Simplified Mesh. La documentation ne fournit aucune information sur les licences, les prix ou les exigences matérielles ; les agences doivent aussi vérifier la compatibilité avec la version qu’elles utilisent et les performances sur leur matériel actuel.

Questions fréquentes

À quoi sert World Partition dans Unreal Engine ?

Il divise un grand niveau en cellules de grille au sein d’un seul Level persistant. Les cellules sont chargées et déchargées à l’exécution en fonction de la position des sources de streaming.

Que permet HLOD dans Unreal Engine ?

HLOD peut représenter les acteurs distants des cellules World Partition non chargées à l’aide de maillages proxy. Selon la documentation, il contribue à réduire le nombre de draw calls et à améliorer les performances.

Quelles conditions faut-il remplir avant de générer les HLOD ?

Les acteurs doivent être ajoutés à une couche HLOD, leur valeur Mobility doit être définie sur Static et la génération des HLOD doit être activée.

Les commentaires et le forum sont en turc.Rejoindre la discussion
+

À lire aussi