Lumen est le système d'éclairage global et de reflets entièrement dynamique d'Unreal Engine, conçu pour les consoles de nouvelle génération. Il s'agit du système d'éclairage global et de reflets par défaut. Lumen rend l'interréflexion diffuse avec des rebonds infinis ainsi que des reflets spéculaires indirects dans des environnements vastes et détaillés, couvrant des échelles allant du millimètre au kilomètre.
Premiers pas avec Lumen
Dans les nouveaux projets, l'illumination globale et les reflets de Lumen sont activés par défaut, ainsi que leurs dépendances, comme l'option Générer les champs de distance des maillages. Les fonctionnalités de Lumen ne sont pas automatiquement activées dans les projets existants convertis de l'Unreal Engine 4 vers l'Unreal Engine 5. Cela empêche de modifier ou de casser les chemins d'éclairage dans ces projets.
Lumen est activé dans les paramètres du projet, dans les catégories Rendu > Illumination globale dynamique et reflets.
L'illumination globale et les reflets peuvent être configurés indépendamment. Dans chaque catégorie, configurez les paramètres suivants pour activer Lumen :
Illumination globale dynamique : Lumen
Méthode de reflet : Lumen
Lorsque cette option est activée, la propriété Générer les champs de distance des maillages est activée, si ce n'est pas déjà le cas. Cela est nécessaire pour le mode Ray Tracing logiciel de Lumen. Le redémarrage du moteur est nécessaire.
L'illumination globale de Lumen remplace l'illumination globale de l'espace écran (SSGI) et l'occlusion ambiante du champ de distance (DFAO). Les reflets de Lumen remplacent les reflets dans l'espace écran.
Lorsque Lumen est activé pour un projet, les contributions d'éclairage statique précalculées sont désactivées et toutes les textures de lumière sont masquées.
Fonctionnalités d'éclairage de Lumen
Lumen apporte une illumination globale dynamique performante à l'Unreal Engine et s'intègre parfaitement avec d'autres systèmes complémentaires d'Unreal Engine 5, tels que Nanite, World Partition et les textures d'ombre virtuelle.
Les fonctionnalités de l'Unreal Engine 4, comme l'illumination globale de l'espace écran et l'illumination globale par ray tracing (RTGI), n'étaient pas fiables ni performantes pour les projets en temps réel avec une qualité suffisante. De plus, ces fonctionnalités n'étaient pas totalement intégrées à d'autres systèmes importants pour prendre en charge la plupart des fonctionnalités du moteur.
Illumination globale Lumen
L'illumination globale Lumen permet de résoudre l'éclairage indirect diffus. Par exemple, la lumière qui se reflète de manière diffuse sur une surface adopte la couleur de cette surface et reflète la lumière colorée sur d'autres surfaces à proximité, créant ainsi un effet appelé "dispersion des couleurs". Les maillages de la scène bloquent également l'éclairage indirect, ce qui produit aussi des ombres indirectes.
Lumen offre des rebonds diffus infinis, qui sont importants dans les scènes avec des matériaux diffus lumineux comme la peinture blanche dans l'appartement ci-dessous.
Le système de géométrie virtualisée Nanite de l'Unreal Engine 5 permet d'obtenir une géométrie beaucoup plus détaillée qu'auparavant. Lumen génère des ombres en pleine résolution, mais calcule l'éclairage indirect à une résolution bien plus basse, pour les performances en temps réel.
Lumen avec lumière naturelle
La lumière naturelle est résolue dans le cadre du processus de collecte finale de Lumen. Cela inclut la lumière naturelle, ce qui permet d'assombrir davantage les espaces intérieurs que l'éclairage extérieur, offrant ainsi un rendu bien plus naturel.
Lumen fournit également une illumination globale de qualité inférieure pour la translucidité lumineuse et le brouillard volumétrique.
Lumen et matériaux émissifs
Les matériaux émissifs propagent la lumière via le processus de collecte finale de Lumen sans coût de performance supplémentaire. Cependant, la taille et la luminosité des zones émissives peuvent être limitées avant qu'elles ne commencent à générer des artefacts de bruit. Ce problème est beaucoup plus difficile à résoudre que le placement manuel de sources de lumière.
Reflets Lumen
Lumen calcule le spéculaire indirect, ou reflets, pour l'ensemble des valeurs de rugosité des matériaux.
Une illumination globale diffuse et une lumière naturelle ombrée sont visibles dans tous les reflets. Les reflets Lumen prennent également en charge les matériaux de revêtement transparent, comme l'exemple de voiture ci-dessous.
Lumen génère des reflets brillants sur la translucidité, comme les vitres de la voiture dans l'exemple ci-dessous.
Lorsque l'option Reflets translucides de haute qualité est activée pour le projet, les reflets Lumen génèrent des reflets en miroir sur la couche la plus en avant des matériaux de surface translucides.
Les reflets Lumen prennent en charge les matériaux à simple couche d'eau, avec les reflets forcés en symétrie miroir.
Végétation double face Lumen
Pour résoudre le modèle ombrage Végétation double face, collectez l'éclairage de l'arrière-plan et diffusez-la à travers la végétation, en l'atténuant par la couleur de sous-surface du matériau.
Types de lumière pris en charge et autres fonctionnalités
Lumen prend en charge les éléments suivants à haut niveau :
Tous les types de lumière sont pris en charge, ce qui inclut l'éclairage directionnel, la lumière naturelle, les points lumineux, les projecteurs et les lumières rectangulaires.
Les fonctions d'éclairage sont prises en charge sur tous les types de lumière.
Les lumières dont le paramètre Mobilité est défini sur Statique ne sont pas prises en charge, car les lumières statiques sont stockées entièrement dans des textures de lumière et leur contribution est désactivée lorsque Lumen est activé.
Paramètres Lumen
Les paramètres de Lumen se trouvent dans les paramètres du projet et dans le volume de post-traitement.
Paramètres du projet pour Lumen
Tous les paramètres du projet relatifs à Lumen ou affectant Lumen se trouvent dans la section Moteur > Rendu. Les paramètres du projet contiennent tous les paramètres par défaut de Lumen pour le projet.
Vous trouverez ci-dessous une liste de tous les paramètres qui sont nécessaires à Lumen ou qui l'affectent :
| Nom de la propriété | Description |
|---|---|
| Global Illumination | |
Méthode d'illumination globale dynamique | Choisissez le type d'illumination globale dynamique que vous souhaitez utiliser dans votre projet. |
| Reflets | |
Méthode de réflexion | Choisissez le type de reflets dynamiques que vous souhaitez utiliser dans votre projet. |
| Lumen | |
Utiliser le ray tracing matériel si disponible | Utiliser le ray tracing matériel pour les fonctionnalités de Lumen lorsque cette option est prise en charge par la carte graphique, l'interface RHI et le système d'exploitation. Dans le cas contraire, Lumen utilise le ray tracing logiciel. Le ray tracing matériel implique un important coût d'actualisation des scènes, avec plus de 100 000 instances. Pour plus d'informations, consultez le Guide sur les performances du ray tracing. |
Mode d'éclairage par rayons | Contrôler la manière dont les rayons de reflet de Lumen sont éclairés lorsque Lumen utilise le ray tracing matériel. Par défaut, Lumen utilise le cache de surface pour de meilleures performances, mais vous pouvez opter pour l'option Éclairage par collision pour les reflets pour obtenir une qualité supérieure. |
Reflets translucides de haute qualité | Déterminer s'il faut utiliser des reflets en miroir de haute qualité sur la couche avant des surfaces translucides. Les autres couches utilisent la méthode du cache de radiance de qualité inférieure, qui ne peut produire que des reflets brillants. Cela augmente le coût de traitement par le GPU lorsque l'option est activée dans les paramètres du volume de post-traitement. |
Mode de ray tracing logiciel | Déterminer quelle méthode de traçage Lumen utilise lors du ray tracing de la scène. Le traçage détaillé effectue un traçage sur les champs de distance des maillages individuels pour une qualité maximale. Le traçage global effectue un traçage sur le champ de distance global de moindre détail pour des traçages rapides. |
| Hardware Ray Tracing | |
Prendre en charge le ray tracing matériel | Activer le ray tracing à partir des systèmes d'exploitation pris en charge, de l'interface RHI et des cartes graphiques pour des résultats de meilleure qualité. |
| Software Ray Tracing | |
Générer les champs de distance de maillage | Indiquer s'il faut créer des champs de distance de maillages statiques. Cela est nécessaire pour le ray tracing logiciel avec Lumen et l'occlusion ambiante par champ de distance, utilisée pour implémenter les ombres de lumière naturelle mobiles et les ombres par ray tracing des champs de distance sur les lumières directionnelles. Si cette option est activée, le temps nécessaire à la génération, l'utilisation de la mémoire et la taille sur le disque des maillages statiques augmentent. |
Densité des voxels du champ de distance | Déterminer la manière dont l'échelle par défaut d'un maillage est convertie en dimensions en voxels de champ de distance. Si vous modifiez cette option, tous les champs de distance seront reconstruits. Les valeurs élevées consomment de la mémoire très rapidement. |
Paramètres de post-traitement
Les volumes de post-traitement contiennent des remplacements et des propriétés contrôlées par les artistes pour Lumen. Les paramètres se trouvent dans les catégories Illumination globale et Reflets.
Vous trouverez ci-dessous une liste de tous les paramètres de Lumen disponibles dans le volume de post-traitement :
| Nom de la propriété | Description |
|---|---|
| Illumination globale : illumination globale de Lumen | |
Qualité d'éclairage de la scène Lumen | Les valeurs élevées permettent de calculer la scène Lumen avec une plus grande fidélité, ce qui peut transparaître dans les reflets, mais à un coût plus élevé en ressources GPU. |
Détails de la scène Lumen | Contrôler la taille des instances pouvant être représentées dans la scène Lumen. Les valeurs élevées permettent de représenter les petits objets, mais elles augmentent le coût en ressources GPU. |
Distance d'affichage de scène Lumen | Définir la distance d'affichage maximale de la scène que Lumen conserve pour le ray tracing. Les valeurs élevées augmentent la portée effective des ombres de lumière naturelle et d'illumination globale, mais augmentent également le coût en ressources GPU. |
Qualité de la collecte finale | Améliorer la qualité de l'illumination globale de Lumen et réduire le bruit des rendus, mais augmenter le coût de rendu en ressources GPU. |
Tracés à l'écran | Utiliser les tracés dans l'espace écran pour l'illumination globale de Lumen. Les tracés dans l'espace écran contournent la scène Lumen et échantillonnent à la place la profondeur et la couleur de la scène. Cela améliore la qualité, mais en même temps, empêche la modification de la scène Lumen uniquement, comme l'ajout d'objets émissifs qui ne sont visibles qu'en illumination globale. |
Distance de tracé maximale | Déterminer la distance maximale que Lumen doit tracer lors de la résolution de l'éclairage. Les valeurs trop faibles peuvent entraîner des fuites de lumière dans de vastes zones, telles que les grottes. Les valeurs élevées augmentent le coût en ressources GPU du rendu de la scène. |
Résolution du cache de capture de scène | Facteur d'échelle pour la résolution du cache de surface Lumen. Les valeurs faibles permettent d'économiser la mémoire du GPU, au détriment de la qualité. La valeur par défaut est de 0,5 si elle n'est pas remplacée. Elle doit être définie sur le composant de capture de scène dans ses paramètres de post-traitement. |
| Illumination globale : Illumination globale de Lumen : Propriétés avancées | |
Vitesse de mise à jour de l'éclairage de la scène Lumen | Déterminer dans quelle mesure la scène Lumen est autorisée à mettre en cache les résultats d'éclairage afin d'améliorer les performances. Les échelles plus grandes engendrent une propagation plus rapide des modifications d'éclairage, mais augmentent le coût en ressources GPU. |
Vitesse de mise à jour de l'éclairage pour la collecte finale | Déterminer dans quelle mesure la collecte finale de Lumen est autorisée à mettre en cache les résultats d'éclairage afin d'améliorer les performances. Les échelles plus grandes engendrent une propagation plus rapide des modifications d'éclairage, mais augmentent le coût en ressources GPU. |
Renforcement de la couleur diffuse | Ce paramètre permet d'éclaircir l'éclairage indirect en calculant la couleur diffuse du matériau comme suit : pow(DiffuseColor, 1/DiffuseColorBoost). Les valeurs supérieures à 1 (couleur diffuse originale) ne sont pas physiquement correctes, mais peuvent être utiles pour augmenter la quantité de lumière qui se reflète dans la scène. Il est préférable de conserver une valeur inférieure à 2, car les reflets sont alors plus clairs que la scène. |
Fuite de lumière naturelle | Ce paramètre contrôle la fraction de l'intensité de lumière naturelle devant être autorisée à filtrer. Il est utile en tant que fonction de direction artistique (non basée sur la physique) pour empêcher les zones intérieures de devenir complètement sombres. |
Distance totale de fuite de lumière naturelle | Contrôle la distance par rapport à une surface réceptrice où les fuites de lumière naturelle atteignent leur pleine intensité. Les petites valeurs rendent la fuite de lumière naturelle plus plate, tandis que les grandes valeurs créent un effet d'occlusion ambiante. |
| Reflets : Reflets Lumen | |
Qualité | Améliorer la qualité des reflets Lumen sur les surfaces et réduire le bruit lors du rendu, mais augmenter le coût associé en ressources GPU. |
Mode d'éclairage par rayons | Lorsque vous utilisez l’option Ray Tracing matériel avec Lumen, ce paramètre détermine si les reflets réutilisent le cache de surface pour un éclairage bon marché ou calculent l'éclairage au point de collision pour une qualité supérieure. |
Tracés à l'écran | Utiliser les tracés dans l'espace écran pour l'illumination globale de Lumen. Les tracés dans l'espace écran contournent la scène Lumen et échantillonnent à la place la profondeur et la couleur de la scène. Cela améliore la qualité, mais en même temps, empêche la modification de la scène Lumen uniquement, comme l'ajout d'objets émissifs qui ne sont visibles qu'en illumination globale. |
Reflets translucides de haute qualité | Déterminer s'il faut utiliser des reflets en miroir de haute qualité sur la couche avant des surfaces translucides. Les autres couches utilisent la méthode du cache de radiance de qualité inférieure, qui ne peut produire que des reflets brillants. L'activation de cette option augmente le coût en ressources GPU. L'option Reflets translucides de haute qualité doit d'abord être activée dans les paramètres du projet. |
Rugosité max à tracer | Définir la valeur de rugosité maximale pour laquelle Lumen trace des rayons de reflets dédiés. Les valeurs élevées améliorent la qualité des reflets, mais augmentent considérablement le coût en ressources GPU. |
Rebonds de reflets max | Définir le nombre maximal de rebonds de reflets récursifs. La valeur par défaut est 1, ce qui signifie qu'un seul rayon de reflet est utilisé, sans reflets secondaires sur les surfaces de type miroir. 2 rebonds ou plus peuvent empêcher les reflets de zones sombres dans la mesure où le budget de performances est suffisant. Ce paramètre de post-traitement peut avoir jusqu'à 8 rebonds. Vous pouvez utiliser la propriété |
Rebonds de réfraction max | Définir le nombre maximum d'événements de réfraction à tracer. En cas d'utilisation de l'éclairage par collision, les maillages translucides sont tracés lorsque la valeur de Rebonds de réfraction max est supérieure à 0, ce qui rend le traçage des reflets plus coûteux. |
Remarques supplémentaires
Les éléments suivants sont également à prendre en compte lors de l'utilisation des fonctionnalités de Lumen dans vos projets.
Vitesse de mise à jour de l'éclairage de Lumen
Lumen utilise un certain nombre de caches pour atteindre les performances en temps réel. Bien que les changements d'éclairage local se propagent rapidement, cela peut néanmoins prendre quelques secondes, comme la désactivation du soleil. Les projets peuvent utiliser les contrôles Vitesse de mise à jour de l'éclairage de la scène Lumen et Vitesse de mise à jour de l'éclairage pour la collecte finale dans le volume de post-traitement pour contourner ce délai, mais au prix d'une augmentation du coût en ressources GPU.
Désactiver l'éclairage statique pour le projet
L'éclairage précalculé à partir de l'éclairage statique est supprimé lorsque Lumen est activé. Vous pouvez désactiver l'éclairage précalculé pour l'ensemble de votre projet dans les paramètres du Projet, dans la section Moteur > Rendu, en désactivant l'option Autoriser l'éclairage statique.
Désactiver l'éclairage statique permet également de réduire le temps système grâce aux permutations de shaders. Cela permet également d'utiliser l'occlusion ambiante des matériaux avec l'illumination globale de Lumen.
Les projets qui utilisent déjà l'éclairage statique verront leurs textures de lumière chargées en mémoire et sur le disque jusqu'à ce que l'option Forcer l'application de l'éclairage non précalculé soit activée dans les Paramètres du monde d'un niveau déjà chargé. Vous devez alors recréer l'éclairage et enregistrer le niveau pour supprimer les données de texture de lumière.
Utiliser les reflets Lumen avec l'éclairage statique précalculé
Les reflets Lumen peuvent être utilisés sans l'illumination globale de Lumen. Cela peut être très utile pour les jeux et les projets qui utilisent de l'éclairage statique, mais qui souhaitent améliorer la qualité des reflets au-delà des capacités des captures de reflets placées. Les reflets Lumen autonomes requièrent l'activation du mode Ray tracing matériel de Lumen, ce qui active automatiquement l'éclairage des collisions pour les reflets.
Matériaux à revêtement transparent
Lumen prend en charge les matériaux à revêtement transparent (avec des normales doubles), mais il existe certaines limites. Il s'agit des suivantes :
Seule la couche supérieure peut avoir des valeurs de rugosité basses. La couche inférieure est supposée avoir une valeur de rugosité, ce qui donne un rendu brillant. Cette limitation vient du fait qu'un seul rayon de reflet est projeté par pixel, ce qui empêche les couches supérieure et inférieure de projeter des reflets nets.
Lorsque la quantité de revêtement transparent atteint 0, la limite ci-dessus s'applique toujours. Autrement dit, même avec une seule couche inférieure et de faibles valeurs de rugosité, le reflet conserve un aspect brillant ou diffus.
Occlusion ambiante des matériaux
L'illumination globale de Lumen prend en charge l'occlusion ambiante des matériaux, ce qui génère une auto-occlusion fiable des maillages squelettiques.
Pour utiliser l'occlusion ambiante des matériaux avec Lumen :
Désactivez l'option Autoriser l'éclairage statique dans les paramètres du projet pour créer de l'espace dans le tampon graphique.
Définir le matériau à générer sur Occlusion ambiante.
L'occlusion ambiante des matériaux n'est pas visible lors de l'utilisation du mode Occlusion ambiante pour la visualisation du tampon.
L'illumination globale de Lumen prend en charge les textures de normales déformées des matériaux. Toutefois, elles sont nettement plus coûteuses que l'occlusion ambiante des matériaux, avec peu d'amélioration visuelle.
Pour utiliser des textures de normales déformées avec Lumen :
Configurez
r. GBufferDiffuseSampleOcclusion=1dans la section[SystemSettings]du fichier de configuration DefaultEngine.ini de votre projet, puis redémarrez l'éditeur.Configurer le matériau pour qu'il produise une sortie via le nœud de sortie personnalisé Bent Normal.