Dernières actualités
Blender View Layers et passes de rendu : guide pour l’archvizAccélérer le rendu d’intérieur dans V-Ray 7 : 7 étapes pratiquesBlender : déplacer un objet le long d’une courbe avec Follow Path ConstraintComment gérer Vertex Paint, Weight Paint et les attributs dans Blender ?Unreal Engine World Partition et HLOD : guide de configuration pour les grandes scènesSimulation de tissu dans Blender : pression, couture et épinglageTexBridge automatise le transfert de textures entre Painter et Unreal Engine 5Shanghai Grand Opera House ouvre ses portes : le toit-terrasse public de SnøhettaMise en page dans Rhino 8 : vues, échelle et impression pas à pasGuide Blender Cryptomatte : créer des masques d’objets et de matériaux au rendu
TutorielsUnreal Engine

Unreal Engine World Partition et HLOD : guide de configuration pour les grandes scènes

Ce guide explique, étape par étape, comment diviser de grandes scènes en cellules avec World Partition dans Unreal Engine et représenter le contenu lointain à l’aide de proxies HLOD. Les options de configuration et les points de vigilance s’appuient sur la documentation officielle.

Une vaste scène de visualisation, du bâtiment architectural au premier plan jusqu’à l’environnement lointain simplifiéImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. World Partition conserve le monde dans un seul Level persistant et le charge ou le décharge sous forme de cellules configurables.
  2. HLOD représente le contenu des cellules non chargées par des maillages proxy, afin de rendre visibles les scènes éloignées.
  3. Pour générer les HLOD, les Actor doivent être affectés à un HLOD Layer, leur valeur Mobility doit être Static et la génération des HLOD doit être lancée.
  4. World Partition est activé par défaut dans le modèle Open World, qui comprend un Landscape d’exemple de 2 km x 2 km.

Ce que vous apprendrez dans ce guide

Dans une grande scène extérieure, il faut préserver les détails proches de la caméra tout en gardant visibles les montagnes, les arbres et les bâtiments lointains. Dans Unreal Engine, World Partition divise le monde en cellules et charge ou décharge le contenu selon la position des sources de streaming. HLOD (Hierarchical Level of Detail) peut, quant à lui, représenter le contenu des cellules qui ne sont pas chargées à l’aide de maillages proxy.

Ce guide aborde les différentes possibilités pour créer un Level compatible avec World Partition ou convertir un Level existant, créer un HLOD Layer et générer les HLOD. L’objectif est de préparer un grand environnement architectural ou une vaste scène de visualisation à un streaming plus facile à gérer. La documentation ne précise pas de version particulière d’Unreal Engine ; les étapes ne sont donc associées à aucun numéro de version précis.

Prérequis et choix du point de départ

La documentation consultée ne répertorie aucun logiciel, type de compte ni matériel obligatoire en dehors d’Unreal Engine. Pour utiliser World Partition dans un projet, trois possibilités sont décrites : créer un projet à partir d’un modèle de la catégorie Games, choisir un Level Open World ou convertir un Level existant.

La carte Open World est l’option la plus directe pour commencer. Dans Unreal Engine, allez dans File > New Level, sélectionnez le type de carte Open World, puis cliquez sur Create. Ce modèle active par défaut World Partition, One File Per Actor, Data Layers et HLOD. La carte d’exemple comprend également un Landscape de 2 km x 2 km et une configuration d’éclairage extérieur.

Si vous travaillez sur un Level existant, vous pouvez le convertir depuis Tools > Convert Level. La documentation officielle explique aussi comment utiliser le World Partition Convert Commandlet en ligne de commande. Pour conserver le Level d’origine avant la conversion, l’option -ConversionSuffix peut ajouter le suffixe _WP à la carte convertie. L’option -ReportOnly génère un rapport sur la conversion possible sans effectuer l’opération. Avant d’utiliser ces options sur un projet, déterminez la méthode de conversion la plus adaptée.

1. Comprendre le fonctionnement du streaming World Partition

World Partition stocke le monde dans un seul fichier Level persistant et divise la zone en cellules. Celles-ci sont chargées ou déchargées en fonction de la position des sources de streaming, comme le Player Controller, et des paramètres de la runtime grid. La scène entière n’est donc pas chargée en même temps : seules les parties nécessaires à l’instant donné sont traitées.

Le paramètre Is Spatially Loaded, dans la section World Partition du panneau Details, détermine si un Actor est chargé en fonction de sa position. Si le paramètre est activé, l’Actor est chargé lorsqu’il entre dans la portée d’une source de streaming ; s’il est désactivé, il est chargé sauf s’il se trouve dans une Data Layer désactivée. Les paramètres de la runtime grid, comme la taille des cellules et la portée de chargement, se trouvent dans la section World Partition Setup du panneau World Settings.

Il est possible d’utiliser plusieurs runtime grids, mais la documentation officielle indique que cela peut nuire aux performances. Pour commencer, une approche prudente consiste à utiliser la grille 2D Runtime Hash par défaut et à ne pas en ajouter tant que le besoin n’est pas établi. La documentation ne fournit pas de valeur universelle pour la taille des cellules ou la distance de chargement : évaluez-les en fonction de l’échelle de la scène et de la visibilité souhaitée.

2. Créer un HLOD Layer et choisir son type

Les paramètres HLOD sont gérés à partir d’un asset HLOD Layer. Ouvrez le Content Drawer, puis allez dans + Add > Miscellaneous > HLOD Layer. Double-cliquez sur le nouvel asset pour ouvrir ses paramètres. Un projet peut utiliser plusieurs HLOD Layer, ce qui permet de définir des couches distinctes pour différents groupes d’Actor.

Choisissez le type de couche en fonction du contenu :

  • Instancing : représente les maillages statiques à l’aide de composants Instanced Static Mesh utilisant le niveau de détail le plus bas. La documentation cite notamment les imposteurs d’arbres et de plantes comme exemple d’utilisation de ce type.

  • Merged Mesh : fusionne les maillages statiques en un seul maillage proxy.

  • Simplified Mesh : fusionne les maillages et leur applique une simplification.

Les paramètres du Layer comprennent Always Loaded, Cell Size et Loading Range. Notez que les options Cell Size et Loading Range ne sont pas disponibles lorsque Always Loaded est activé. D’autres paramètres de fusion ou de proxy s’affichent également selon que vous choisissez Merged Mesh ou Simplified Mesh.

3. Affecter les Actor à la couche et générer les HLOD

Avant de générer les HLOD, affectez les Actor concernés à un HLOD Layer. La documentation décrit trois méthodes : le paramètre HLOD dans le panneau Details de l’Actor, l’option Default HLOD Layer d’une Data Layer ou le HLOD Layer par défaut dans World Settings.

Définissez Mobility sur Static pour les Actor qui doivent faire partie de la couche. Lancez ensuite la génération des HLOD via Build > Build HLODs. Vous pouvez également utiliser le commandlet WorldPartitionHLODsBuilder, indiqué dans la documentation officielle. Une fois la génération terminée, le contenu des cellules non chargées peut être représenté par des proxies HLOD. Le système HLOD vise notamment à maintenir visible le contenu éloigné et à réduire le nombre de draw calls par image.

Erreurs fréquentes

La première erreur consiste à supposer que les HLOD seront automatiquement appliqués à la scène. Les Actor doivent être affectés à un HLOD Layer, avoir une mobilité Static et faire l’objet d’une génération HLOD distincte. Si l’une de ces conditions n’est pas remplie, le résultat proxy attendu risque de ne pas être créé.

La deuxième erreur consiste à choisir les types de couche sans tenir compte des différences entre les contenus. La documentation présente Instancing comme une option adaptée aux groupes de végétation, tandis que Merged Mesh et Simplified Mesh proposent des comportements de fusion différents. Le Merge Distance du paramètre Simplified Mesh peut notamment fermer des ouvertures dans la géométrie éloignée, comme les portes ou les fenêtres. Vérifiez donc le résultat simplifié à différentes distances dans la scène.

Enfin, n’appliquez pas la même configuration à toute la scène sans vérifier les UV de lightmap, la fusion des matériaux et les paramètres de simplification des maillages. La documentation signale que certaines conditions de fusion peuvent entraîner des défauts visuels. Comme les sources ne donnent aucune valeur de qualité ou de performance valable pour tous les projets, il est plus prudent de tester différents types de HLOD sur des zones représentatives de la scène et d’examiner le résultat.

Prochaines étapes pour l’architecture et le workflow archviz

World Partition et HLOD peuvent être envisagés, en particulier pour les scènes architecturales comportant un vaste environnement, par exemple lorsque la topographie lointaine, la végétation ou des groupes de bâtiments coexistent dans le même monde. Organiser la géométrie architecturale au premier plan et l’environnement éloigné dans des HLOD Layer différents peut aider à gérer séparément les priorités visuelles. Il s’agit d’une proposition de workflow déduite des méthodes de représentation et des couches décrites dans la documentation, et non d’une garantie d’amélioration des performances.

Commencez par vérifier le type de couche, le comportement des cellules et le résultat HLOD sur une petite partie de la scène. Avant de passer à l’ensemble de la scène, examinez les ouvertures des portes et fenêtres, les lightmaps et l’apparence des matériaux. La documentation ne précise ni exigences matérielles ni conditions de licence ; il convient donc aussi de vérifier la configuration Unreal Engine et l’environnement de travail utilisés par l’équipe avant la production.

Sources et licence

Ce tutoriel a été adapté en turc à partir des informations des documents officiels d’Epic Games World Partition et World Partition – Hierarchical Level of Detail (HLOD). Les deux sources sont indiquées comme libres de droits dans la liste de ressources fournie.

Sources

2 sources
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition---hierarchical-level-of-detail-in-unreal-engine
Résumé
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition-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 équipes d’architecture et de visualisation en Turquie, World Partition propose une approche permettant de gérer de vastes scènes d’environnement dans un seul Level. Séparer les HLOD Layer selon les types de contenu — végétation, environnement lointain ou groupes de bâtiments, par exemple — peut aider à organiser la scène de manière plus maîtrisée.

Toutefois, les sources ne précisent ni version particulière, ni exigences matérielles, ni coût de licence, ni gain de performance garanti. Les équipes ont donc intérêt à tester le streaming et la qualité d’image sur une zone représentative plutôt qu’à convertir directement l’ensemble du projet. Pour les maillages simplifiés, il faut notamment vérifier les ouvertures des portes et fenêtres ainsi que le rendu des matériaux ; la configuration Unreal Engine utilisée et les conditions de licence doivent également être vérifiées.

Questions fréquentes

Comment activer Unreal Engine World Partition ?

World Partition est activé par défaut dans le modèle de Level Open World. Les Level existants peuvent être convertis depuis le menu Tools > Convert Level ou à l’aide du World Partition Convert Commandlet.

Comment créer un HLOD Layer dans Unreal Engine ?

Dans le Content Drawer, allez dans + Add > Miscellaneous > HLOD Layer pour créer un asset. Choisissez ensuite l’un des types suivants : Instancing, Merged Mesh ou Simplified Mesh.

Quelles conditions faut-il remplir pour générer des HLOD ?

Les Actor doivent être affectés à un HLOD Layer et leur valeur Mobility doit être Static. La génération peut être lancée via Build > Build HLODs ou avec le commandlet WorldPartitionHLODsBuilder.

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

À lire aussi