En bref
- World Partition conserve le monde dans un seul niveau persistant et le divise en cellules de grille chargeables.
- Data Layers permettent de regrouper des Actors pour les organiser dans l’éditeur et les charger à l’exécution.
- Pour utiliser Data Layers, la carte doit être compatible avec World Partition.
- La documentation d’Epic ne précise pas de numéro de version ; un exemple de chemin de ligne de commande mentionne le dossier UE_5.1.
Le workflow World Partition et Data Layers, décrit dans la documentation officielle d’Unreal Engine, vise à organiser les grands niveaux et à les charger par sections pendant l’exécution. Le système conserve le monde dans un seul fichier de niveau persistant tout en le divisant en cellules de grille ; le chargement des cellules dépend de la position des sources de streaming. Data Layers servent quant à eux à organiser les Actors dans l’éditeur, ou à les activer et les désactiver à l’exécution. La documentation d’Epic ne précise pas de version spécifique d’Unreal Engine ; l’un des chemins de répertoire utilisés en exemple indique le dossier UE_5.1.
1. Commencez par mettre en place la structure World Partition
World Partition est présenté comme un système automatisé de gestion des données et de streaming de niveaux basé sur la distance, qui réduit le besoin de diviser manuellement une grande carte en sous-niveaux. Les zones du monde sont réparties en cellules ; celles situées à proximité d’une source de streaming, comme le joueur, peuvent être chargées, tandis que celles qui ne sont plus nécessaires peuvent être déchargées. L’objectif est ainsi de ne charger, pendant l’exécution, que les parties de la carte visibles ou avec lesquelles le joueur interagit.
Pour créer un niveau, vous pouvez utiliser le type de carte Open World. Selon la documentation officielle, ce modèle active par défaut World Partition, One File Per Actor, Data Layers et Hierarchical Levels of Detail. Pour convertir des niveaux existants, vous pouvez utiliser le menu Tools > Convert Level ou le World Partition Convert Commandlet. Comme la conversion peut affecter le projet et le niveau, il est important de préserver les fichiers source et de procéder avec précaution.
Voici un exemple de commande :
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRenderingLa documentation répertorie également des options telles que -ReportOnly pour la conversion. Cette option indique les opérations qui seraient effectuées sans convertir le niveau. -ConversionSuffix permet d’ajouter _WP à la carte convertie pour les tests. L’option -DeleteSourceLevels, qui supprime les niveaux source après la conversion, est également disponible ; choisissez donc les arguments avec soin, en fonction des besoins du projet.
2. Comprenez le chargement des cellules et les sources de streaming
Le paramètre Is Spatially Loaded, accessible dans la section World Partition du panneau Details d’un Actor, détermine dans quelles conditions celui-ci est chargé. S’il est activé, l’Actor se charge lorsqu’il entre dans le rayon d’une source de streaming, sauf s’il est affecté à un Data Layer désactivé. S’il est désactivé, l’Actor se charge indépendamment du rayon spatial, à moins qu’il soit affecté à un Data Layer désactivé.
Par défaut, le Player Controller peut servir de source de streaming. Vous pouvez également ajouter à la scène un composant World Partition Streaming Source. Celui-ci propose notamment des options pour définir la grille cible, la priorité et l’état des cellules (Loaded ou Activated). Si une cellule se trouve dans la zone de plusieurs sources de streaming, la priorité et l’état cible sont pris en compte.
| Paramètre | Valeur d’exemple dans la documentation | Effet |
|---|---|---|
| Cell Size | Exemple dans la documentation : 256 m × 256 m × 256 m | Définit la taille des cellules utilisées pour créer les niveaux de streaming. |
| Loading Range | Exemple dans la documentation : rayon de 768 m | Définit la distance autour d’une source de streaming à laquelle les cellules sont chargées. |
| Nombre de Runtime Grids | La documentation indique que plusieurs grilles peuvent nuire aux performances ; elle ne donne pas de recommandation fixe. | Affecte le chargement des cellules à l’exécution. |
Les distances et tailles de cellule du tableau sont des valeurs d’exemple tirées de la documentation ; elles ne sont pas présentées comme des valeurs fixes recommandées pour tous les projets. Les paramètres réels doivent être testés en tenant compte de l’échelle et du contenu de la scène. Le comportement de chargement de l’éditeur diffère également de celui de l’exécution : à l’ouverture d’un grand monde, l’éditeur ne charge pas tout le monde d’emblée ; seuls les Actors dont le paramètre Is Spatially Loaded est désactivé sont chargés.
3. Regroupez le contenu avec Data Layers
Pour utiliser Data Layers, World Partition doit être activé sur la carte. Le système distingue deux types de ressources : un Data Layer Asset contient des données utilisables à l’échelle du projet et dans différents mondes, tandis qu’un Data Layer Instance contient des propriétés propres à un monde donné. Un même Asset peut être utilisé dans différents mondes au moyen d’Instances distinctes.
Pour créer un Data Layer Asset, accédez au dossier voulu dans le Content Browser, puis choisissez Miscellaneous > Data Layer. Ensuite, dans la fenêtre Window > World Partition > Data Layer Outliner, faites un clic droit et sélectionnez Create New Data Layer pour créer une Instance, puis affectez-lui l’Asset. Pour y ajouter des Actors, sélectionnez-les dans l’Outliner et utilisez la commande Add Selected Actors to Selected Data Layers sur l’Instance cible. Vous pouvez également effectuer cette affectation depuis la section Data Layers du panneau Details des Actors sélectionnés.
Le type d’Asset peut être défini sur Editor ou Runtime. Les Editor Data Layers servent à organiser le contenu dans le projet et à le charger ou le décharger dans l’éditeur. Les Runtime Data Layers peuvent être modifiés à l’exécution via Blueprint ou C++. Par exemple, différents états d’une scène peuvent être répartis dans des couches distinctes ; cette organisation doit toutefois être conçue en fonction des besoins du projet. Charger un grand nombre d’éléments simultanément peut entraîner des problèmes de performances. De plus, affecter des Actors fréquemment utilisés à un trop grand nombre de Runtime Data Layer Instances peut réduire les performances de streaming de World Partition.
4. Qu’est-ce que cela change dans un workflow de visualisation architecturale ?
Pour la visualisation d’un grand environnement ou d’un bâtiment, World Partition peut gérer les cellules pertinentes au lieu de charger toute la scène en même temps. Data Layers permettent quant à eux de séparer les éléments de l’environnement et les différents groupes de contenu dans l’éditeur. Cette approche peut notamment aider les membres d’une équipe travaillant dans un même monde à se concentrer sur des composants précis. One File Per Actor stocke les Actors dans des fichiers distincts et vise ainsi à réduire certains obstacles liés au partage du fichier de niveau dans le cadre du travail en équipe.
Avant de commencer, vérifiez que World Partition est activé sur la carte ; Data Layers ne remplace pas cette condition préalable. Si vous convertissez un niveau, préservez d’abord la carte source et examinez les options qui ne déclenchent pas la conversion, comme -ReportOnly. Lorsque vous évaluez les paramètres de streaming, ne considérez pas les exemples de la documentation concernant la taille des cellules et la portée de chargement comme des valeurs universelles. Les ressources d’Epic ne donnent pas d’informations sur des exigences matérielles ou des conditions de licence spécifiques. Il convient donc de vérifier séparément la compatibilité matérielle et la licence du projet pour l’installation utilisée.
Erreurs fréquentes
Essayer d’utiliser Data Layers sur une carte où World Partition n’est pas activé.
Considérer les exemples de taille de cellule et de portée de chargement de la documentation comme des recommandations immuables pour toutes les scènes.
Charger un grand nombre d’éléments simultanément ou répartir les Actors couramment utilisés entre un nombre excessif de Runtime Data Layer Instances.
Lancer des options de conversion sans en vérifier les conséquences, notamment les arguments susceptibles de supprimer les niveaux source.
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, l’intérêt pratique de World Partition tient à sa capacité à découper les grandes scènes en parties plus faciles à gérer et à aider les membres d’une équipe à se concentrer sur des groupes d’Actors spécifiques. Data Layers offrent une structure utile aux équipes qui souhaitent organiser clairement l’environnement et les contenus alternatifs.
En revanche, les sources ne donnent aucune information sur le coût de mise en place ni sur le niveau de matériel requis ; les agences doivent évaluer séparément les conditions propres à leur projet et à leur licence. Les points les plus faciles à négliger sont la nécessité d’utiliser World Partition, le fait de reprendre les valeurs d’exemple des paramètres de cellule sans les adapter et le chargement simultané d’un trop grand nombre de couches. Avant une conversion, obtenir un rapport et tester le comportement de chargement dans une scène réelle constituent un point de départ plus sûr.
Questions fréquentes
Comment créer des Data Layers dans Unreal Engine ?
Dans le Content Browser, créez un Data Layer Asset avec l’option `Miscellaneous > Data Layer`. Dans le Data Layers Outliner, créez une nouvelle Instance, puis affectez-lui l’Asset.
Comment ajouter World Partition à un niveau existant ?
Selon la documentation d’Epic, le niveau peut être converti via le menu `Tools > Convert Level` ou avec le World Partition Convert Commandlet. Avec `-ReportOnly`, le commandlet indique les opérations sans lancer la conversion.
À quoi servent les Runtime Data Layers ?
Les Runtime Data Layers peuvent être modifiés à l’exécution avec Blueprint ou C++. Ils permettent de charger ou de décharger du contenu.



