En vous donnant un aperçu de notre travail sur le film suivant, nous voulions illustrer certaines techniques s'appliquant à la visualisation architecturale avec Unreal Engine.

English version: https://www.filma.fr/en/unreal-engine-arch-viz-break-down/

Ce projet a la particularité de reposer en grande partie sur des "Dynamic Shadows" pour une végétation plus détaillée et sur des "Screen Space Reflections" modifiés et de haute qualité  pour des résultats plus lisses. Tous les deux fournissent des visuels de qualité plus propre, tout en ayant un impact significatif sur les performances. Nous avons donc ciblé une cadence moyenne de 30 images par seconde à 1920 x 800, avec des optimisations obtenue grâce au "Level streaming", des techniques d’ombres pour la végétation et en gardant les «draw calls» au minimum.

L'éclairage consiste en un “Skylight” statique avec un HDRI et un “Directional Light” (soleil) réglé sur movable. Avec cette configuration, nous avons pour base un éclairage de ciel diffus pour des ombres détaillées et un soleil dynamique qui peut être ajusté plan par plan pour mettre en avant les volumes architecturaux.

Le projet est divisé en niveaux individuels éclairés de la même manière, avec la géométrie proxy des autres niveaux fusionnée en un seul objet, de sorte que l'occlusion de la lumière soit exacte lors du calcul du “Lightmass”.

Tous les niveaux sont réglés sur Always loaded dans la fenêtre des niveaux. Dans le “Sequencer”, nous pouvons alors définir la visibilité de ces niveaux pour optimiser la séquence plan par plan.

"Sequencer" (visibilité des niveaux) et fenêtre des niveaux

Afin de simuler le rendu "Lightmass" et d'obtenir des ombres profondes et réalistes dans la végétation, une carte des ombres pré-calculées a été générée pour chaque plante et insérée dans un matériau de feuille à deux faces.

Comparaison de l'éclairage sans ombres, avec le rendu "Lightmass" et avec des ombres pré-calculées

Les scénarios d'éclairage pré-calculés et les configurations de matériaux varient considérablement en fonction du type de plante et de l'espèce.

Matériau incluant les ombres pré-calculées

En éliminant complètement le besoin du rendu «Lightmass», nous pouvons désormais obtenir des ombres de hautes qualités pour des milliers de plantes sans ajout de calculs.

Pour l'herbe, nous avons créé une texture vue de haut projetée sur un plan avec les points de vertex correspondant aux racines de l'herbe déplacés vers le bas.

Illustration de la technique utilisée pour l'herbe

L'avantage de cette technique est que l'herbe conserve ses ombres quel que soit l'angle de la source lumineuse. Les "contact shadows" de la lumière directe sont réglées à 0.01.

Afin de garder les «draw calls» au minimum, l'herbe a été répartie de façon aléatoire et fusionnée en grandes zones.

Sélection d'un groupement d'herbe

La séquence finale inclut des "reflection captures" à 512 et des "Screen Space Reflections" à 24 x 24.

Un merci tout particulier au «GPU Lightmass Solver» de Luoshuang qui nous a fait économiser énormément de temps et d’efforts!

Crédits :

  • AXYZ Anima pour les personnages animés
  • Digital Dive Studio sur le Unreal marketplace pour les voitures
  • Textures.com pour tout ce qui est textures
  • TAA Sharpen Post Process Material de “hallatore” sur le forum Unreal Engine
  • Hdrihaven.com pour toutes les images HDRI