Reflection probes

Introduction

Comme indiqué dans le Spatial Material, les objets peuvent montrer une lumière réfléchie ou diffuse. Les Reflection probes sont utilisées comme source de lumière réfléchie et ambiante pour les objets à l'intérieur de leur zone d'influence.

Une sonde de ce type capture l'environnement (sous la forme d'une sorte d'image à 360 degrés), et en stocke des versions avec des niveaux croissants de flou. Ceci est utilisé pour simuler la rugosité des matériaux, ainsi que l'éclairage ambiant.

Bien que ces sondes soient un moyen efficace de stocker les réflexions, elles présentent quelques inconvénients :

  • Elles sont efficaces à rendre, mais coûteuses à calculer. Cela conduit à un comportement par défaut où elles ne capturent qu'au chargement de la scène.

  • Elles fonctionnent mieux dans des pièces ou des endroits de forme rectangulaire, sinon les reflets montrés ne sont pas aussi fidèles (surtout lorsque la rugosité est de 0).

Mise en place

Créez un nœud ReflectionProbe et faîtes le englober la zone où vous voulez avoir des réflexions :

../../_images/refprobe_setup.png

Cela devrait donner lieu à des réflexions locales immédiates. Si vous utilisez une texture Sky, les reflets sont par défaut mélangés avec elle.

Par défaut, à l'intérieur, les reflets peuvent sembler peu consistants. Dans ce scénario, assurez-vous de cocher la propriété "Box Correct ".

../../_images/refprobe_box_property.png

Ce réglage change la réflexion d'une boîte infinie à une boîte réfléchissante de la taille de la sonde :

../../_images/refprobe_boxcorrect.png

L'ajustement des parois de la boîte peut aider à améliorer un peu la réflexion, mais elle sera toujours plus belle dans les pièces en forme de boîte.

La sonde capture l'environnement à partir du centre du gadget. Si, pour une raison quelconque, la forme ou le contenu de la pièce occulte le centre, il peut être déplacé vers un endroit vide en déplaçant les poignées au centre :

../../_images/refprobe_center_gizmo.png

Par défaut, la cartographie des ombres est désactivée lors du rendu des sondes (uniquement dans l'image rendue à l'intérieur de la sonde, pas dans la scène réelle). C'est un moyen simple d'économiser sur les performances et la mémoire. Si vous voulez des ombres dans la sonde, vous pouvez les activer/désactiver avec le réglage Enable Shadow :

../../_images/refprobe_shadows.png

Enfin, gardez à l'esprit que vous ne voulez peut-être pas que la sonde de réflexion rende certains objets. Un scénario typique est celui d'un ennemi à l'intérieur de la pièce qui va se déplacer. Pour éviter que les objets ne soient rendus dans les réflexions, utilisez le paramètre Cull Mask :

../../_images/refprobe_cullmask.png

Intérieur vs extérieur

Si vous utilisez des reflection probes dans un environnement intérieur, il est recommandé d'activer la propriété Interior. Cela empêche la sonde de rendre le ciel et permet également des réglages personnalisés de l'éclairage ambiant.

../../_images/refprobe_ambient.png

Lorsque les sondes sont réglées sur Interior, un éclairage ambiant constant personnalisé peut être spécifié par sonde. Il suffit de choisir une couleur et une énergie.

En option, vous pouvez combiner cette lumière ambiante avec la capture diffuse de la sonde en ajustant la propriété Ambient Contribution (0.0 signifie couleur ambiante pure, tandis que 1.0 signifie capture diffuse pure).

Mélange

De multiples sondes à réflexion peuvent être utilisées, et Godot les mélangera là où elles se chevauchent à l'aide d'un algorithme intelligent :

../../_images/refprobe_blending.png

Comme vous pouvez le voir, ce mélange n'est jamais parfait (après tout, ce sont des reflets de boîtes, pas de vrais reflets), mais ces artefacts ne sont visibles qu'avec des reflets parfaitement réfléchis. Normalement, les scènes ont un mappage normal et des niveaux de rugosité variables, ce qui peut cacher cela.

Sinon, les Reflection Probes fonctionnent bien mélangés ensemble avec Screen Space Reflections pour résoudre ces problèmes. En les combinant, les réflexions semblent plus fidèles, tandis que les sondes ne sont utilisés que comme un secours pour le cas où aucun screen-space information est trouvé :

../../_images/refprobe_ssr.png

Enfin, le mélange des sondes intérieures et extérieures est l'approche recommandée pour réaliser des niveaux qui combinent à la fois l'intérieur et l'extérieur. Près de la porte, une sonde peut être marquée comme extérieure (pour obtenir des reflets du ciel) tandis qu'à l'intérieur, elle peut être intérieure.

Atlas de réflexion

Dans l'implémentation actuelle du moteur de rendu, toutes les sondes sont de la même taille et s'insèrent dans un Atlas Reflection. La taille et le nombre de sondes peuvent être personnalisés dans Paramètres du projet -> Quality -> Reflections

Le réglage par défaut de l'Atlas Subdiv : 8 permet d'utiliser jusqu'à 16 sondes de réflexion dans une scène. Cette valeur doit être augmentée si vous avez besoin de plus de sondes de réflexion.

../../_images/refprobe_atlas.png