Pourquoi les reflets sont l'une des meilleures astuces des jeux vidéo (et comment cela change)
Sommaire
Principaux points à retenir
- Les anciens jeux utilisaient des astuces comme le retournement de sprites pour les réflexions.
- Les réflexions planes et les cartes cubiques étaient courantes dans les premiers jeux 3D.
- La réflexion dans l'espace écran est populaire, mais le SSR ne fonctionne pas bien pour les miroirs ; le traçage de rayons apporte des réflexions plus précises.
Dans le monde réel, les miroirs et les surfaces brillantes reflètent le monde qui les entoure, mais les jeux vidéo ne sont pas le monde réel, et les développeurs doivent donc trouver comment faire fonctionner les reflets pour ajouter de la profondeur, de l'atmosphère et du réalisme au monde. Les méthodes utilisées pour y parvenir ont changé au fil des ans, et aujourd'hui, nous sommes plus proches que jamais de reproduire la réalité.
Comment les anciens jeux géraient les miroirs et autres reflets
Avec les premiers systèmes de jeux vidéo, avant l'avènement du rendu 3D grand public (c'est-à-dire avant l'ère de la PlayStation originale), les jeux 2D utilisaient de nombreuses méthodes pour simuler les reflets. Par exemple, si un personnage courait le long d'une scène aquatique, un développeur pouvait utiliser le « retournement de sprite » où un sosie inversé du sprite du personnage serait affiché sur l'eau avec un peu de filtrage. De même, afficher le reflet d'un personnage dans un miroir signifie simplement afficher une copie inversée du sprite.
Avec l'arrivée des jeux 3D (ou du moins des pseudo-3D) sur le marché, les reflets des personnages ont évidemment nécessité une approche différente. Une astuce courante consistait à utiliser des « portails » ou à dupliquer des pièces. Le « miroir » du jeu était en fait une fenêtre donnant sur une autre pièce, et une copie de votre personnage se déplaçait en synchronisation avec vous dans le monde miroir. Vous pouvez le constater dans Duke Nukem 3D.
Une autre technique courante dans les jeux 3D est l'utilisation de réflexions planes. Les réflexions planes impliquent le rendu de la scène depuis la perspective de la surface réfléchissante, comme un miroir ou un plan d'eau, puis le mappage de cette image sur la surface.
Il s'agit d'une technique assez efficace, mais elle est coûteuse en termes de calcul, ou du moins elle l'était au début. Les réflexions planaires sont encore utilisées dans les jeux d'aujourd'hui en combinaison avec d'autres techniques pour obtenir le bon mélange de performances et de réflectivité.
Un bon exemple de réflexions planes se trouve dans Half-Life 2Vous pouvez dire qu'il s'agit d'une réflexion plane car la réflexion ne se coupe pas près du bord inférieur de l'écran comme le font les méthodes plus modernes qui utilisent « l'espace écran », mais nous y reviendrons plus tard.
Les cartes cubiques sont une autre technique astucieuse pour simuler des reflets. Ici, six images de l'environnement sont placées sur les six faces d'un cube virtuel, puis floutées. C'est une bonne solution pour les objets brillants comme les carrosseries de voitures et les pare-brises, c'est pourquoi de nombreux jeux de course utilisent cette méthode et c'est la méthode la plus probablement utilisée pour les reflets que vous voyez dans les jeux de course PlayStation originaux. Bien qu'il s'agisse d'une ancienne technique, les cartes cubiques sont également toujours utilisées, ainsi que les réflexions planes. Il s'agit d'utiliser la bonne méthode pour le bon objet. Étant donné que les cartes cubiques sont pré-cuites, elles ne refléteront pas les changements de l'environnement et ne refléteront pas votre personnage ou les autres voitures d'une course.
La méthode moderne la plus populaire pour créer des reflets dans les jeux est probablement la SSR (Screen Space Reflection). Avec la SSR, il n'y a pas de rendu supplémentaire, mais des informations sur la scène sont utilisées pour générer un reflet dynamique. C'est beaucoup moins coûteux que de restituer la scène entière. Cela donne un très bon rendu en général, mais présente également des inconvénients majeurs.
Étant donné que SSR ne peut générer des reflets que pour les objets visibles à l'écran, il crée différents types d'artefacts. Les reflets SSR sur les sols brillants ou les surfaces d'eau seront coupés près des bords de l'écran car aucun objet visible ne projetterait de reflet à cet endroit. De plus, lorsque vous regardez autour de vous, les objets du reflet apparaîtront et disparaîtront au fur et à mesure que des choses quitteront et entreront dans votre champ de vision. Regardez ces images, où le personnage regarde légèrement vers le haut et vers le bas. Vous pouvez voir le contenu du reflet changer en réponse à ce qui se trouve dans l'espace de l'écran.
Si vous jouez à un jeu à la troisième personne, vous verrez également des scintillements étranges autour de votre personnage lorsqu'il bloque quelque chose de réfléchissant comme un lac. SSR utilise les informations de l'image précédente, et donc lorsque votre personnage se déplace devant une fenêtre ou de l'eau en utilisant SSR, vous verrez un scintillement autour de son contour, représentant le manque d'informations pour générer un reflet à cet endroit.
Les reflets de l'espace écran ne fonctionnent pas pour les miroirs
Il était courant de voir des personnages reflétés dans des miroirs, en particulier dans les jeux à la première personne, jusqu'à Doom 3 époque, mais avec l'essor du SSR, vous êtes plus susceptible de voir des « miroirs » qui ressemblent simplement à du métal poli ou à du verre sale qui ne montrent pas de reflets nets.
C'est parce que SSR ne fonctionne pas bien avec les miroirs et quand on y pense, c'est tout à fait logique. Étant donné que les miroirs reflètent tout ce qui se trouve derrière le spectateur, il n'y a rien dans l'espace de l'écran pour créer un reflet. Dans un jeu à la première personne, le personnage n'est pas non plus visible à l'écran, il n'y a donc aucun moyen de le mettre dans le miroir en utilisant SSR.
Le Ray Tracing ramène les miroirs
Ce qui nous amène à nos jours et à une méthode connue sous le nom de « traçage de rayons ». Le traçage de rayons simule la façon dont la lumière se propage dans l'espace et peut donc générer des réflexions précises sous n'importe quel angle de la scène entière. Par exemple, le Spider-Man Les jeux sur PlayStation 5 et les versions ultérieures sur PC disposent d'un mode de traçage de rayons qui permet de voir clairement la ville se refléter sur la surface brillante des gratte-ciels. Sans le traçage de rayons, vous ne verriez pas du tout ces bâtiments.
De même, dans les jeux ray-tracés, il est possible de se voir dans le miroir à la première personne, bien que cela ne soit pas encore courant. Cyberpunk 2077l'emblème du ray tracing, utilise des réflexions planes pour ses miroirs, qui restent opaques jusqu'à ce que vous les activiez. Cependant, à mesure que le ray tracing devient plus courant, nous devrions voir un jour tout ce qui dans les jeux doit refléter votre personnage et l'environnement fonctionner comme dans la vie réelle.