Dernières actualités
Guide MoGraph de Cinema 4D : Cloner, distribution et performancesRéglages de caméra et de rendu architectural dans Blender : guide pas à pasOptions d’affichage d’Archicad 29 : guide des réglages du modèle et de l’écranCréer des dessins au trait à partir de scènes architecturales avec Blender Line ArtGuide World Partition d’Unreal Engine : organiser les grandes cartes avec Data LayersCréer une animation architecturale dans Blender avec des keyframes et des driversContrôler toute une scène avec les Material Parameter Collections dans Unreal EngineFiltres de phases Revit : bien choisir pour les vues de rénovationComment configurer le Runtime Virtual Texturing dans Unreal Engine ?Guide Blender Voxel Remesh : taille des voxels et géométrie
TutorielsUnreal Engine

Comment configurer le Runtime Virtual Texturing dans Unreal Engine ?

Dans Unreal Engine, le Runtime Virtual Texturing (RVT) génère et met en cache les données d’ombrage à l’exécution à l’aide du GPU. Ce guide présente les étapes de configuration, de l’asset RVT aux paramètres des matériaux, ainsi que les points à surveiller.

Visualisation montrant la transition entre le terrain et les matériaux d’une route autour d’un pavillon contemporainImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. Le RVT génère les données d’ombrage à l’exécution avec le GPU et les met en cache pour couvrir de grandes surfaces.
  2. La configuration repose sur un asset RVT, un RVT Volume et des matériaux capables d’écrire et de lire les données.
  3. Les Landscape, Landscape Splines et meshes statiques figurent parmi les bons candidats pour le RVT.
  4. Le RVT et le SVT répondent à des besoins différents : le SVT charge les données depuis le disque, tandis que le RVT les génère à l’exécution.

Ce que vous apprendrez dans ce guide

Le Runtime Virtual Texturing (RVT) est une méthode qui utilise les textures dans Unreal Engine d’une manière similaire au mapping traditionnel, mais qui génère les données de texels à l’exécution avec le GPU. La mise en cache des données d’ombrage sur de grandes surfaces en fait une solution pratique pour les surfaces Landscape, les splines adaptées au terrain et les matériaux superposés. Ce guide présente les étapes permettant de relier un asset RVT à la scène, de placer le volume dans la zone appropriée, de configurer les matériaux pour écrire et lire les données, et d’associer les composants de la scène au RVT.

Le RVT n’est pas la seule option pour tous les types de textures. L’autre méthode de texturing virtuel d’Unreal Engine, le Streaming Virtual Texturing (SVT), convient aux grandes textures préparées et chargées depuis le disque ; les lightmaps et les textures détaillées créées par les artistes en sont des exemples. Le RVT, lui, s’adresse à des scénarios tels que les matériaux procéduraux ou superposés générés à l’exécution, ainsi que les mélanges de couches dans un Landscape.

Prérequis et préparation

La documentation d’Epic Games ne précise pas de version d’Unreal Engine minimale ou actuelle, ni de type de compte requis pour cette configuration. Elle comporte toutefois une note de compatibilité liée à l’historique des versions : le type de matériau « Base Color, Normal », présent dans Unreal Engine 4.23, a été supprimé dans la version 4.24 ; les assets qui l’utilisaient ont également été convertis automatiquement vers le nouveau type de matériau. Il s’agit d’une note de migration concernant un ancien type de matériau, et non d’une exigence de version. Comme une autre voie de matériau peut être nécessaire sur les plateformes ne prenant pas en charge le texturing virtuel, il est également conseillé de prévoir une solution de repli lors de la configuration des matériaux.

Les éléments de base nécessaires à la scène sont les suivants :

  • Un asset Runtime Virtual Texture (RVT Asset).

  • Un Runtime Virtual Texture Volume qui place cet asset dans la scène.

  • Des matériaux configurés pour écrire dans le RVT et/ou échantillonner ses données.

  • Des composants de scène adaptés, associés à l’asset RVT et situés à l’intérieur des limites du volume.

L’asset RVT est l’élément de configuration qui relie les matériaux aux composants de scène qui envoient des données vers la texture virtuelle. Le volume place l’asset dans la scène ; une fois les matériaux et les composants correctement associés, les éléments de la scène peuvent écrire des données dans la texture.

Configuration étape par étape

1. Créez l’asset RVT et définissez son type

Dans le Content Browser, ouvrez le menu contextuel par clic droit ou cliquez sur Add New. Dans la catégorie Materials & Textures, sélectionnez Runtime Virtual Texture pour créer un asset. Ouvrez-le, puis définissez la taille de la texture virtuelle, la taille des tuiles et les propriétés de matériau qu’elle devra prendre en charge.

Choisissez le type de matériau en fonction des données à stocker dans le RVT. Une option qui ne stocke que la Base Color ne répond pas aux mêmes besoins qu’une option qui stocke conjointement la Base Color, les normales, la roughness et les données specular. L’encodage de la Base Color basé sur YCoCg peut contribuer à réduire les décalages de couleur et le banding parfois visibles dans les transitions de couleur douces. Cependant, selon Epic Games, cette option entraîne un coût mémoire supérieur de 25 % ; elle ajoute également un coût de performance lors de l’échantillonnage et du décodage des données de texture virtuelle. Tenez compte de cette consommation de ressources autant que du résultat visuel au moment de faire votre choix.

2. Ajoutez le RVT Volume à la scène

Ajoutez un Runtime Virtual Texture Volume depuis le panneau Modes. Les limites du volume doivent englober l’acteur censé écrire dans le RVT. Il s’agit souvent d’un Landscape ou d’une surface similaire à un terrain. Les éléments qui échantillonnent le RVT ou qui y écrivent doivent également se trouver à l’intérieur des limites du volume correspondant.

Pour régler la position et l’échelle du volume en fonction d’un acteur, sélectionnez le volume et utilisez la section Transform from Bounds du panneau Details. Dans le champ Source Actor, sélectionnez un acteur de la scène ou utilisez la pipette, puis ajustez les limites du volume avec le bouton Set Bounds. Si d’autres composants destinés à écrire dans le RVT sont ajoutés par la suite, cette opération peut aider à étendre le volume pour les englober également.

3. Configurez les matériaux pour écrire dans le RVT et lire ses données

L’envoi de données vers le RVT et leur lecture se configurent à l’aide d’expressions de matériau. Reliez la logique existante du matériau à l’expression Runtime Virtual Texture Output pour créer sa sortie RVT. Pour lire les données du RVT, ajoutez au matériau une expression Runtime Virtual Texture Sample associée à l’asset RVT à utiliser.

Si vous devez modifier l’asset RVT échantillonné depuis une Material Instance, vous pouvez utiliser Runtime Virtual Texture Sample Parameter. Le type de matériau de ce paramètre doit correspondre à celui de l’asset RVT qui lui sera attribué. Si la modification du type de matériau de l’asset crée des incompatibilités dans les nœuds d’échantillonnage, l’option Fix Material Usage du menu contextuel de l’asset peut rechercher les matériaux et Material Functions concernés et harmoniser leurs types.

4. Associez les composants de la scène au RVT

Sélectionnez le composant que vous souhaitez faire écrire dans le RVT, puis ajoutez l’asset RVT correspondant au tableau Render to Virtual Textures du panneau Details. Un composant peut être associé à plusieurs assets RVT. Pour que l’écriture fonctionne, l’asset doit être associé à un RVT Volume dans la scène et les matériaux du composant doivent également être configurés comme il convient.

La documentation d’Epic Games cite les Landscape, Landscape Splines, meshes statiques et instanced static meshes parmi les candidats adaptés. Comme le contenu du RVT n’est pas entièrement actualisé à chaque image, les composants sont censés avoir une mobilité statique. Les meshes squelettiques ou animés ne sont pas de bons candidats pour cette utilisation.

5. Vérifiez le résultat et la zone couverte

Vérifiez ensemble que le RVT Volume couvre la surface visée, que le composant est associé au bon asset RVT et que le matériau comprend les expressions nécessaires à l’écriture ou à l’échantillonnage. Les objets qui écrivent dans le RVT sont rendus par projection orthographique dans la direction négative de l’axe Z du volume. La position et la zone couverte par le volume sont donc des éléments essentiels de la configuration.

Vous pouvez utiliser Virtual Texture Feature Switch pour créer une autre voie de matériau destinée aux plateformes qui ne prennent pas en charge la fonctionnalité de texture virtuelle. Si une logique de matériau spécifique au RVT est nécessaire, l’expression Runtime Virtual Texture Replace permet de définir une voie réservée à la sortie RVT. Le résultat dépend des connexions dans l’arbre de matériaux ; la documentation ne propose pas une recette unique valable pour tous les projets.

Erreurs fréquentes

  • Le volume ne couvre pas la zone cible : le RVT Volume doit englober les composants qui écrivent des données. Vérifiez sa couverture avec Transform from Bounds et Set Bounds.

  • Ne pas faire correspondre les types de matériau : si le type de l’asset RVT ne correspond pas à celui de l’expression d’échantillonnage, les modifications effectuées via une Material Instance peuvent poser problème.

  • Faire écrire n’importe quel élément de la scène dans le RVT : les meshes animés et squelettiques ne sont pas de bons candidats ; gardez à l’esprit que les données du RVT ne sont pas entièrement actualisées à chaque image.

  • Utiliser le RVT et le SVT dans le même but : le RVT concerne les données générées à l’exécution avec le GPU, tandis que le SVT est destiné aux grandes textures préparées et chargées depuis le disque.

  • Négliger les coûts en mémoire et en performances : l’encodage YCoCg peut contribuer à réduire les artefacts de couleur, mais il entraîne des coûts supplémentaires en mémoire et lors de l’échantillonnage.

Incidence sur les workflows d’architecture et d’archviz

Dans les scènes d’archviz comprenant un Landscape, le RVT peut être envisagé pour créer des transitions de matériaux entre le terrain, les splines et les éléments de la scène. Les workflows qui assurent une cohérence visuelle entre les routes adaptées au terrain et d’autres éléments de surface dans de vastes espaces extérieurs se rapprochent des usages visés par cette méthode. Les sources ne fournissent toutefois ni intégration avec un logiciel d’archviz particulier, ni taux de gain de performance, ni recommandation matérielle.

Pour les bureaux et les projets étudiants, la décision doit tenir compte conjointement de l’échelle de la scène, du type de matériau, de la prise en charge des textures virtuelles par la plateforme cible et du coût mémoire. La consommation de ressources supplémentaire de l’option YCoCg ne peut être dissociée de son éventuel bénéfice visuel. Les assets animés ne doivent pas non plus être considérés comme adaptés à l’écriture dans le RVT. Après la configuration, vérifier la solution de repli des matériaux sur les différentes plateformes ainsi que les limites du volume peut aider à repérer d’éventuelles incompatibilités dans le workflow.

Étapes suivantes

Limitez votre premier essai à un Landscape et à un seul RVT Volume ; vérifiez séparément les connexions d’écriture et d’échantillonnage du matériau. Une fois le flux de base opérationnel, ajoutez d’autres composants de la scène au RVT et vérifiez à nouveau les limites du volume. Si le projet doit charger de grandes textures préparées sur le disque, envisagez le SVT ; s’il s’agit de données de matériau générées ou combinées à l’exécution, envisagez le RVT.

Sources et licence

Ce guide a été adapté en turc à partir de la documentation Runtime Virtual Texturing et Virtual Texturing publiée par Epic Games pour Unreal Engine. Les deux sources sont indiquées comme étant sous licence libre ; comme le nom de la licence n’est pas précisé dans les textes sources, aucune licence particulière n’est supposée ici.

Sources

2 sources
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/runtime-virtual-texturing-in-unreal-engine
Résumé
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/virtual-texturing-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

Le RVT mérite d’être envisagé, en particulier dans les projets d’archviz qui créent des transitions de matériaux entre le terrain, les splines et les éléments statiques de la scène. Il ne faut toutefois pas le considérer comme une solution générale d’optimisation à ajouter à tous les projets : les sources ne précisent ni configuration matérielle minimale ni gain de vitesse particulier.

Pour les bureaux et les étudiants en Turquie, l’approche la plus judicieuse consiste à valider d’abord le fonctionnement sur une petite portion de scène. Le choix du type de RVT doit tenir compte des coûts en mémoire et d’échantillonnage, de la prise en charge par la plateforme cible et de l’inadéquation des assets animés. Si les grandes textures doivent être chargées depuis le disque, l’option SVT est également à envisager.

Questions fréquentes

À quoi sert le Runtime Virtual Texturing dans Unreal Engine ?

Le RVT génère les données de texels à l’exécution avec le GPU et met en cache les données d’ombrage sur de grandes surfaces. Il peut être utilisé pour les matériaux Landscape, les splines et les mélanges de matériaux superposés.

Quels sont les éléments de base nécessaires à la configuration du RVT ?

Il faut un asset RVT, un RVT Volume pour le placer dans la scène, des expressions de matériau adaptées et des composants de scène associés au RVT.

Quelle est la différence entre le RVT et le Streaming Virtual Texturing ?

Le RVT génère les données à l’exécution avec le GPU. Le SVT concerne les textures préparées et chargées depuis le disque, notamment les grandes textures et les lightmaps en texture virtuelle.

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

À lire aussi