Les lumières dont la mobilité est définie sur Mobile sont des lumières que vous pouvez laisser telles quelles ou modifier de façon dynamique à l'exécution. Ces lumières sont parfois appelées "lumières dynamiques". Elles présentent un coût de performance plus élevé que celui des lumières statiques ou fixes, et dépendent du nombre de maillages affectés par la lumière ainsi que du nombre de triangles de ces maillages. Par exemple, un éclairage dynamique à projection d'ombres doté d'un grand rayon possède un coût de performance plus élevé qu'un éclairage avec un rayon plus petit.
Les lumières mobiles prennent en charge l'éclairage indirect dynamique lorsqu'elles sont utilisées avec le système Illumination globale et reflets avec Lumen.
Parmi les trois mobilités d'éclairage proposées, les lumières mobiles ont une qualité variable (selon le type d'ombres dynamiques utilisé), le taux de modularité le plus élevé et le coût de performance le plus élevé.
Types d'ombres pris en charge
Les lumières mobiles prennent en charge davantage de méthodes d'ombrage et d'éclairages dynamiques que les lumières fixes. Les types d'ombrage suivants sont pris en charge pour les lumières mobiles :
Les textures d'ombre génèrent des ombres dynamiques pour toute la scène. C'est la méthode d'ombrage standard pour tous les ombrages dynamiques du moteur. Elle fonctionne sur la plupart des plateformes, quel que soit le type d'éclairage. Les textures d'ombre ne fournissent pas de fonctionnalité d'ombrage doux des zones, contrairement aux nombreuses autres méthodes d'ombrage mentionnées dans cette liste.
Les textures d'ombre virtuelles fournissent des textures d'ombre haute résolution cohérentes qui fonctionnent bien avec les ressources de qualité cinématographique et les grands mondes ouverts à éclairage dynamique. Elles offrent une fonctionnalité d'ombrage doux des zones et fonctionnent bien avec Nanite, le système Illumination globale et reflets avec Lumen et World Partition pour offrir une qualité optimale à un coût raisonnable en termes de performances. Les textures d'ombre virtuelles sont prises en charge sur les dernières plateformes de console et les PC compatibles avec DirectX 11 ou DirectX 12.
Les ombres de ray tracing simulent les effets d'éclairage doux pour une qualité d'ombrage optimale tout en offrant des performances raisonnables. Elles utilisent l'architecture de ray tracing prise en charge par le processeur graphique NVIDIA exécuté sous Windows 10 (ou une version ultérieure) avec DirectX 12.
Les ombres de champ de distance de maillage fournissent des effets d'éclairage et d'ombrage doux des zones à partir de maillages basés sur une représentation du champ de distance du maillage. Pour utiliser cette méthode, vous devez disposer de maillages de champ de distance pour le projet, nécessaires pour le ray tracing logiciel dans le système Illumination globale et reflets avec Lumen et la fonction Occlusion ambiante du champ de distance.
Réglage du biais d'ombre
Les techniques de texturage d'ombres par défaut de l'Unreal Engine fonctionnent sur toutes les plateformes afin que les lumières mobiles fournissent des ombres dynamiques. Le texturage des ombres présente certaines limitations qui produisent des artefacts, notamment des ombres à facettes sur les surfaces courbes et un effet de durcissement au contact aux intersections des surfaces, ce qui peut donner l'impression que les objets flottent ou ne sont pas ancrés dans la scène.
Le réglage du biais d'ombre est un ensemble de propriétés propre à chaque lumière qui permet de réduire ces types d'artefacts tout en améliorant la précision de l'auto-ombrage et du durcissement au contact de ces sources lumineuses. Ces paramètres de biais permettent de trouver un équilibre entre la précision d'une zone et la réduction des artefacts d'auto-ombrage dans une autre.
Le réglage du paramètre Biais de la pente d'ombre permet de réduire les artefacts d'auto-ombrage au détriment de la précision des ombres, ce qui peut provoquer un effet de flottement (également appelé "peter-panning") des objets au sol dans la scène. Bien que les réglages de biais de la pente ne puissent pas résoudre tous les problèmes d'auto-ombrage avec l'éclairage dynamique, ils en corrigent la plupart. À vous de trouver le bon équilibre pour votre projet.
Les éclairages directionnels disposent d'une propriété supplémentaire de biais de profondeur qui contrôle l'intensité du biais sur les textures d'ombre en cascade (CSM). Cette propriété réduit les ruptures d'artefacts d'ombre aux points de transition en cascade.
Les propriétés suivantes sont disponibles sur les lumières pour ajuster le biais d'ombre :
| Propriété | Description |
|---|---|
Répartition du biais des cascades d'ombres | (Éclairage directionnel uniquement) Contrôle la mise à l'échelle du biais de profondeur sur les textures d'ombre en cascade. Cette propriété atténue les différences d'artefacts d'ombre entre les transitions en cascade. Une valeur de 1 met à l'échelle le biais d'ombre en fonction de la taille de chaque cascade. Une valeur de 0 met à l'échelle le biais d'ombre de façon uniforme sur toutes les cascades. |
Biais d'ombre | Contrôle la précision de l'auto-ombrage des ombres sur l'intégralité de la scène à partir de cette source lumineuse. À une valeur de 0, les ombres commencent sur la surface de projection, mais de nombreux artefacts apparaissent. Plus les valeurs sont élevées, plus les ombres commencent loin de leur surface de projection et moins les artefacts d'auto-ombrage sont nombreux, mais l'objet peut sembler flotter au-dessus d'une surface. Les valeurs intermédiaires de 0,5 constituent un bon compromis entre la précision et la réduction des artefacts d'auto-ombrage. |
Biais de la pente d'ombre | Ce paramètre fonctionne en complément de l'option Biais d'ombre pour contrôler la précision de l'auto-ombrage de toutes les ombres de la scène provenant de la lumière sélectionnée. Cette propriété augmente la quantité de biais en fonction de la pente d'une surface donnée. À une valeur de 0, les ombres commencent au niveau de la surface de projection, mais présentent de nombreux artefacts d'auto-ombrage. Des valeurs plus élevées créent des ombres plus éloignées de leur source tout en réduisant les artefacts d'auto-ombrage, mais les objets peuvent sembler flotter au-dessus d'une surface. |
Netteté du filtre d'ombres | Ajuste la netteté de l'ombrage direct des lumières fixes ou mobiles. Cette propriété permet de réduire l'effet d'ombrage doux du texturage des ombres. |
Mise en cache des textures d'ombre
La mise en cache des textures d'ombre est une fonctionnalité des lumières mobiles qui rend la projection d'ombres provenant des projecteurs et des points lumineux beaucoup plus abordable dans les jeux. Dans les niveaux dont les ressources n'ont pas à être déplacées, le calcul des ombres a une incidence sur les performances de chaque image. La mise en cache des textures d'ombre prend en compte les ressources dont la mobilité est définie sur Statique ou Fixe et n'a pas besoin de les recalculer à chaque image, hormis si la lumière ou si ces ressources sont modifiées.
La mise en cache des textures d'ombre a un impact significatif sur les performances, en particulier dans les niveaux où de nombreuses ressources sont affectées par les lumières.
Par exemple, dans une scène de taille moyenne comportant trois points lumineux mobiles qui projettent des ombres, plus de 14 millisecondes sont nécessaires pour rendre les profondeurs d'ombre. Si les ombres mises en cache sont activées, le rendu de ces profondeurs d'ombre peut prendre 1 ms.
La mise en cache des textures d'ombre nécessite de la mémoire pour stocker les ombres mises en cache. Pour les scènes suffisamment grandes, il est possible que vous deviez ajuster la quantité de mémoire qui leur est allouée avec la commande de console r.Shadow.WholeSceneShadowCacheMb.
Performances de la mise en cache des textures d'ombre
Vous pouvez vérifier les performances des ombres mises en cache en ouvrant la fenêtre des statistiques de rendu des ombres avec Stat ShadowRendering. Ensuite, activez/désactivez les ombres en cache avec la commande de console r.Shadow.WholeSceneShadows.
Limitations relatives à la mise en cache des textures d'ombre
La mise en cache des textures d'ombre peut réduire considérablement le coût d'utilisation des ombres dynamiques dans vos niveaux, mais certaines limitations doivent être prises en compte lorsque vous faites appel à cette option avec des fonctionnalités non prises en charge par le moteur.
Par défaut, la mise en cache n'est possible que si les ressources suivantes remplissent ces critères :
L'option de mobilité des primitives dans le niveau doit être définie sur Statique ou Fixe.
Les matériaux qui utilisent le décalage de position dans le monde ne sont pas mis en cache.
Les points lumineux et les projecteurs sont pris en charge. Leur mobilité doit être définie sur Mobile lors de la projection des ombres.
Les ombres des lumières qui se déplacent ne sont pas mises en cache.
Les matériaux qui utilisent la tessellation animée ou le décalage de la profondeur du pixel peuvent être à l'origine d'artefacts, car leurs ombres sont mises en cache, mais n'apparaissent pas correctement avec la ressource.