En bref
- World Partition conserve les grands niveaux dans un seul fichier persistant et divise la zone de travail en cellules de grille.
- À 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.
- HLOD peut représenter les objets distants des cellules non chargées à l’aide de géométrie proxy.
- 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 :
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRenderingDans 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ètre | Exemple de la documentation | Effet |
|---|---|---|
| Cell Size | 256 m x 256 m x 256 m | Détermine la taille des cellules. |
| Loading Range | rayon de 768 m | Dé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 :
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.
Merged Mesh regroupe les acteurs Static Mesh dans un seul maillage proxy.
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 sourcesLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
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.



