Que recherchez-vous ?
Hero background image
Réflexions et effets en temps réel pour les jeux PC et console

Il s'agit du quatrième d'une série d'articles qui explique comment les développeurs et les artistes techniques peuvent configurer et utiliser le pipeline de rendu haute définition (HDRP) dans Unity pour obtenir un réalisme graphique haut de gamme. Le HDRP représente une avancée technologique dans le rendu en temps réel de Unity, vous permettant de travailler avec la lumière exactement comme elle se comporte dans le monde réel.

N'oubliez pas de lire les autres articles de notre série de procédures sur l'éclairage haut de gamme :

Démo des sondes de réflexion
Réflexions

Les réflexions aident à intégrer les GameObjects à leur environnement. Alors que nous associons normalement les reflets à des surfaces lisses et brillantes, même les matériaux rugueux nécessitent des réflexions correctes dans un flux de travail de rendu physique (PBR). HDRP propose plusieurs techniques pour générer des réflexions :

  • Réflexions dans l'espace de l'écran
  • Sondes à réflexion
  • Reflets du ciel

Chaque type de réflexion peut nécessiter beaucoup de ressources, alors sélectionnez soigneusement la méthode qui fonctionne le mieux en fonction de votre cas d'utilisation. Si plusieurs techniques de réflexion s'appliquent à un pixel, le HDRP mélange la contribution de chaque type de réflexion. Des surfaces de délimitation appelées volumes d'influence divisent l'espace 3D pour déterminer quels objets reçoivent les réflexions.

Interface de remplacement de la réflexion de l'espace d'écran
Réflexions dans l'espace de l'écran

Les réflexions spatiales de l'écran (SSR) utilisent le tampon de profondeur et de couleur pour calculer les réflexions. En tant que tels, ils ne peuvent refléter que les objets actuellement en vue Caméra et peuvent ne pas s'afficher correctement à certaines positions à l'écran. Les revêtements de sol brillants et les surfaces planes humides sont de bons candidats pour recevoir les réflexions de l'espace d'écran, mais notez que les SSR ignorent tous les objets en dehors du cadre, ce qui peut limiter l'effet.

Pour activer les réflexions de l'espace d'écran, accédez aux paramètres de cadre (paramètres par défaut HDRP ou paramètres de cadre personnalisés de la caméra) sous Éclairage. Ensuite, ajoutez le remplacement de la réflexion de l'espace d'écran à votre objet de volume.

Les surfaces du matériau doivent dépasser la valeur de lissage minimum pour afficher les réflexions de l'espace d'écran. Réduisez cette valeur si vous souhaitez que les matériaux plus rugueux affichent le SSR, mais sachez qu'un seuil de lissage minimum inférieur peut augmenter le coût de calcul. Si Screen Space Reflection ne parvient pas à affecter un pixel, alors HDRP revient à utiliser Reflection Probes.

Utilisez la liste déroulante Qualité pour sélectionner un nombre prédéfini d' étapes Max Ray. Des niveaux de rayon maximum plus élevés augmentent la qualité mais ont également un coût. Comme pour tous les effets, efforcez-vous d’équilibrer les performances et la qualité visuelle.

Dans les versions 12 et supérieures du HDRP, vous pouvez choisir entre un algorithme basé sur la physique utilisant l'accumulation (nouveau) ou l'approximation, un algorithme approximatif moins précis (par défaut).

Composant de sonde de réflexion
Sondes à réflexion

Les sondes de réflexion génèrent des réflexions à l'aide d'une technique basée sur l'image. Une sonde capture la vue sphérique de son environnement dans toutes les directions et stocke le résultat dans une texture cubemap. Les shaders utilisent ce cubemap pour se rapprocher d'une réflexion.

Chaque scène peut avoir plusieurs sondes et mélanger les résultats. Les réflexions localisées peuvent alors changer à mesure que votre caméra se déplace dans l'environnement.

Définissez le type de chaque sonde de réflexion sur Ancré ou Temps réel :

  • Les sondes cuites traitent la texture du cubemap une seule fois pour un environnement statique.
  • Les sondes en temps réel créent le cubemap au moment de l'exécution dans le lecteur plutôt que dans l'éditeur. Cela signifie que les réflexions ne se limitent pas aux objets statiques, même si les mises à jour en temps réel peuvent être gourmandes en ressources.

Le volume d'influence détermine les limites 3D où les GameObjects recevront la réflexion, tandis que les paramètres de capture vous permettent de personnaliser la façon dont la sonde de réflexion prend un instantané de la carte cubique.

Pour optimiser les sondes de réflexion en temps réel, désactivez toute fonctionnalité de rendu qui n'affecte pas de manière significative la qualité visuelle des réflexions en remplaçant les paramètres généraux ou par caméra de la sonde de réflexion. Vous pouvez également créer un script pour découper la mise à jour en tranches temporelles.

Schéma de la sonde à réflexion planaire
Sonde à réflexion planaire

Une sonde à réflexion planaire vous permet de recréer une surface plane et réfléchissante, en tenant compte de la douceur de la surface. C’est idéal pour les miroirs et les sols brillants.

Bien que les sondes à réflexion planaire partagent de nombreux points communs avec les sondes à réflexion standard, ces composants fonctionnent légèrement différemment. Plutôt que de capturer l'environnement sous forme de carte cubique, une sonde à réflexion planaire recrée la vue de la caméra réfléchie à travers son plan miroir. La sonde stocke ensuite l'image miroir résultante dans un RenderTexture 2D. Attiré vers les limites de la sonde rectangulaire, cela crée une réflexion planaire.

Si un objet n'est pas affecté par une sonde de réflexion à proximité, il retombera dans la réflexion du ciel.

Démo de fuite de lumière
Hiérarchie de réflexion

Pour produire des réflexions de qualité supérieure, le HDRP utilise la technique qui apporte le plus de précision pour chaque pixel et la combine avec d'autres techniques basées sur les trois méthodes de réflexion (SSR, Reflection Probes, Sky) en utilisant une priorité pondérée. Cette séquence spécifique d'évaluation des réflexions est appelée la hiérarchie des réflexions.

Lorsqu'une technique ne détermine pas complètement la réflexion d'un pixel, le HDRP revient à la technique suivante. En d’autres termes, Screen Space Reflection retombe sur les sondes de réflexion, qui à leur tour retombent sur Sky Reflections.

Il est important de configurer correctement les volumes d'influence pour vos sondes de réflexion. Sinon, vous pourriez rencontrer des fuites de lumière provenant de réflexions célestes indésirables. Ceci est évident dans la salle 3 de la scène échantillon. Désactiver l'une des sondes de réflexion ou déplacer ses volumes d'influence force la réflexion à retomber vers le ciel. Cela amène le ciel HDRI brillant à dominer la scène avec ses reflets intenses.

Pour plus de détails sur la hiérarchie de réflexion, consultez la section Réflexion de la documentation HDRP.

Volume proxy de réflexion
Volumes proxy de réflexion

Étant donné que le point de capture d'une sonde à réflexion est fixe et correspond rarement à la position de la caméra à proximité, il peut y avoir un changement de perspective notable dans la réflexion résultante. En tant que tel, le reflet peut ne pas sembler lié à l’environnement.

Un volume proxy de réflexion vous aide à corriger partiellement ce problème. Il reprojete les réflexions avec plus de précision dans le volume proxy, en fonction de la position de la caméra.

Interface de remplacement de l'occlusion ambiante
Effets de lumière en temps réel

HDRP propose également des effets d'éclairage en temps réel disponibles via le système Volume. Sélectionnez un volumelocal ou global, puis ajoutez l'effet approprié sous Ajouter un remplacement > Éclairage.

Occlusion ambiante de l'espace d'écran (SSAO)

L'occlusion ambiante simule l'assombrissement qui se produit dans les plis, les trous et les surfaces proches les uns des autres. Les zones qui bloquent la lumière ambiante ont tendance à apparaître obscurcies.

Bien que vous puissiez créer une occlusion ambiante pour une géométrie statique via Lightmapper de Unity, HDRP ajoute une occlusion ambiante d'espace d'écran supplémentaire, qui fonctionne en temps réel. Il s'agit d'un effet d'espace d'écran, ce qui signifie que seules les informations provenant de l'intérieur du cadre peuvent contribuer à l'effet produit. SSAO ignore tous les objets en dehors du champ de vision de la caméra.

Activez l'occlusion ambiante de l'espace d'écran dans les paramètres du cadre sous Éclairage. Ensuite, ajoutez un remplacement sur un volume local ou global et sélectionnez Éclairage > Occlusion ambiante.

Démonstration d'éclairage global de l'espace d'écran sur le feuillage
Éclairage global de l'espace d'écran

Screen Space Global Illumination (SSGI) utilise le tampon de profondeur et de couleur de l'écran pour calculer la lumière réfléchie et diffuse. Tout comme la façon dont le lightmapping peut intégrer un éclairage indirect dans les surfaces de votre géométrie de niveau statique, SSGI simule plus précisément la façon dont les photons peuvent frapper les surfaces et transférer la couleur et les ombres lorsqu'ils rebondissent.

Comme d'autres effets qui dépendent du Frame buffer, les bords de l'écran deviennent problématiques, puisque les objets situés en dehors du champ de vision de la caméra ne peuvent pas contribuer à l'éclairage global. Cela peut être partiellement amélioré en utilisant des sondes de réflexion pour fournir une solution de repli lorsque le rayon défile en dehors du tampon de trame.

Activez SSGI dans les paramètres du cadre sous Éclairage. Il doit également être activé dans la section Éclairage de Pipeline Asset.

remarque Nous vous recommandons d'utiliser Unity 2021.2 ou supérieur avec Screen Space Global Illumination. HDRP 12 inclut des améliorations significatives de la qualité SSGI.

Interface de réfraction
Réfraction de l'espace d'écran

Le Screen Space Refraction Override permet de simuler le comportement de la lumière lorsqu’elle traverse des milieux plus denses que l’air. Screen Space Refraction de HDRP utilise le tampon Depth and Color pour calculer la réfraction à travers un matériau transparent comme le verre.

Pour activer cet effet via le HDRP Lit Shader, assurez-vous que votre matériau a un type de surface transparent.

Choisissez ensuite un modèle de réfraction et un indice de réfraction sous Entrées de transparence. Utilisez le modèle de réfraction sphérique pour les objets solides et choisissez Mince (comme une bulle) ou Boîte (avec une légère épaisseur) pour les objets creux.

Ce contenu a-t-il été utile ?