Éclairer le monde sous-marin du flétan Harold

Découvrez comment SLOW BROS. a utilisé la dernière technologie graphique HDRP d'Unity pour créer un jeu visuellement époustouflant qui a nécessité des années de travail.
Le défi :
Création d'un éclairage réaliste et optimisé pour les objets physiques importés dans Unity.
Personnel du projet :
12
Plateformes :
PlayStation®5, Microsoft Windows, Xbox Series X|S
Localisation :
Cologne, Allemagne
Comment une petite équipe peut-elle créer un monde riche en détails qui fonctionne sur toutes les plateformes ? SLOW BROS's Harold Halibut est une aventure narrative unique construite à partir d'objets fabriqués à la main. Chacun des dizaines de personnages et de scènes du jeu a commencé par une sculpture ou un diorama avant d'être importé dans Unity, et même les actifs 2D - particules, décalcomanies et animations 2D - sont dessinés à la main.
Pour préserver la qualité visuelle de ces actifs dans l'éditeur, SLOW BROS. rend les graphiques d'Harold Halibutà l'aide du High Definition Render Pipeline (HDRP). L'équipe graphique d'Unity a travaillé avec SLOW BROS pour tester plusieurs fonctionnalités d'Unity 6 dans un environnement de production. Cela signifie qu'Harold Halibut a pu être lancé avec des visuels alimentés par les dernières fonctionnalités d'Unity 2022 LTS, ainsi que les technologies d'éclairage et d'upscaling qui arrivent avec Unity 6.

Harold Halibut par SLOW BROS. - Fabriqué avec Unity
Les résultats :
- Importation dans Unity de près de 1 000 objets fabriqués à la main avec plus de 600 m² de matériaux du monde réel.
- Rendu de plus de 30 Go de données de texture haute résolution sans tuilage sur toutes les plates-formes cibles à l'aide de textures virtuelles en continu.
- Amélioration significative des performances sans compromettre la qualité visuelle grâce au Post Processing spatio-temporel (STP) d'Unity 6.

Rassemblement de l'équipe
Le développement d'Harold Halibuta débuté il y a 14 ans, lorsque les cofondateurs de SLOW BROS. Onat Hekimoglu, Fabian Preuschoff, Daniel Beckmann et Ole Tillmann ont décidé de créer un jeu. Bien qu'ayant peu d'expérience en matière de développement de jeux, ce groupe de créatifs disposait de diverses autres compétences pratiques qu'ils étaient impatients d'appliquer dans un nouveau contexte. Ensemble, ils ont fondé SLOW BROS. et ont commencé à dessiner, sculpter, peindre, coudre, construire et modéliser - tout en acquérant les compétences techniques nécessaires pour intégrer ces objets dans l'éditeur Unity.

Établir la vision
En tant que "jeu fait à la main", les visuels d'Harold Halibutsont un argument de vente essentiel. Il était donc crucial pour l'équipe de SLOW BROS. que chaque personnage, environnement et effet construit dans la vie réelle soit reproduit fidèlement dans l'éditeur. "Nous voulions un monde cohérent qui ne donne pas l'impression d'être un jeu vidéo, et nous ne voulions pas faire de compromis pour raconter l'histoire que nous voulions raconter", explique M. Onat.
Harold Halibut se déroule à bord du Fedora I, un vaisseau spatial de type sous-marin échoué sur une planète océanique toxique. Le gameplay se concentre sur l'exploration du vaisseau et la découverte de l'équipage. SLOW BROS. savait donc qu'il fallait faire en sorte que l'environnement soit vivant pour que les joueurs s'investissent dans l'histoire.
"L'idée principale est contraire à ce que l'on fait dans la plupart des jeux, où l'on conduit le joueur à l'endroit suivant", poursuit M. Onat. "Nous voulons que le joueur explore Fedora et mémorise la disposition des lieux tout en tombant sur un grand nombre de choses intéressantes en chemin.

La Timeline est utilisée pour tous les dialogues et les cutscenes dans Harold Halibut. Ces séquences peuvent être modifiées sans qu'il soit nécessaire d'entrer dans le mode lecture.
À la recherche d'un aspect intime et cinématographique qui attirerait les joueurs, SLOW BROS. s'est donné pour priorité de toujours être sur la version la plus récente d'Unity. Depuis Unity 4.6, Harold Halibut a été construit presque entièrement sur des versions bêta de l'éditeur et mis à jour à chaque nouvelle version (l'équipe ne s'est arrêtée sur la 2022.3 que peu de temps avant le lancement). Certains studios pourraient considérer cela comme risqué, mais pour SLOW BROS, l'accès aux dernières technologies graphiques était essentiel à la réalisation de leur vision.
"En raison de la petite taille de notre équipe et de notre budget limité, nous avons dû trouver des moyens et créer des flux de travail et des outils pour atteindre la qualité AAA que nous visions", explique M. Onat. "Le passage au HDRP a fait une énorme différence en raison de la chute réaliste de la lumière, de la gestion différente de la spécularité, de la gestion des matériaux en général, de la science des couleurs... Tout était tellement mieux".

Harold Halibut par SLOW BROS.
Numérisation des modèles
En travaillant avec des accessoires réels, SLOW BROS. n'a pas eu besoin de créer des modèles de personnages ou des environnements en 3D dans l'éditeur, mais le processus s'est accompagné de contraintes uniques. Pour garantir un éclairage physiquement correct, il était essentiel d'assurer la cohérence de chaque document numérisé. Chaque modèle et décor a été éclairé aussi platement que possible pendant le processus de photogrammétrie, scanné et amené dans Adobe Substance Painter pour nettoyer les restes de lumière, avant d'être importé dans Unity et animé via la capture de mouvement.
Ce processus de photogrammétrie signifie qu'il n'y a pratiquement pas de textures de carrelage traditionnelles dans le jeu, et que les textures sont des fichiers massifs. La plupart des textures se situent entre 4K (20 Mo) et 8K (80 Mo), ce qui s'additionne rapidement. "Un matériau représentait près d'un demi-gigaoctet pour un seul morceau d'une scène", explique M. Onat.

Streaming de textures virtuelles dans le débogueur de rendu
Le Streaming Virtual Texturing a permis à l'équipe d'optimiser l'utilisation de la mémoire sans compromettre la résolution des textures. Ainsi, Harold Halibut dispose de plus d'un gigaoctet de mémoire libre sur les consoles. "Nous pouvons allouer la quantité de mémoire que nous voulons consacrer aux textures", explique M. Onat. Nous pouvons dire : "Nous voulons utiliser 512 Mo de mémoire de texture", et cela restera constant tout au long du jeu, quel que soit le nombre d'objets ou de choses différentes que nous rendons, car tout est récupéré dans l'espace de l'écran sur la base de ce que la caméra voit. Cela aide vraiment !"

GIF montrant comment les différents mipmaps sont chargés en utilisant le Streaming Virtual Texturing
Choisir un moteur de rendu
L'éclairage des modèles de personnages d'Harold Halibutet du monde sous-marin a été l'un des plus grands défis, et c'est la principale raison pour laquelle SLOW BROS. est passé du Built-in Render Pipeline à la première version expérimentale du HDRP.
Avant d'étudier la conception de jeux, Onat a travaillé dans le cinéma, et il a donc abordé l'éclairage dans Harold Halibut du point de vue d'un directeur de la photographie. Il éclairait les accessoires dans la réalité pour voir comment ils se présentaient dans différentes conditions, puis utilisait des lumières ponctuelles en temps réel et des cartes lumineuses pour les recréer dans l'éditeur. Cela donnait une bonne image, mais s'accompagnait de frais généraux importants qui avaient un impact sur les performances.

Harold Halibut par SLOW BROS.
Onat a commencé à expérimenter des solutions pour gérer des éclairages plus complexes, ce qui l'a conduit au HDRP. Il a constaté que son système de rendu par tuiles et grappes accélérait considérablement les calculs d'éclairage par rapport à l'éclairage multi-passages plus lent utilisé dans le pipeline de rendu intégré (Built-In Render Pipeline). Même si le HDRP était une technologie émergente, Harold Halibut était encore loin d'être commercialisé. SLOW BROS. a donc décidé de passer au HDRP - et a fini par voir son jeu sous un tout nouveau jour.
"Outre tous les nouveaux effets de post-traitement, la volumétrie, etc., même la façon dont les couleurs étaient rendues dans le HDRP était radicalement différente", explique M. Onat. "Une fois que nous avons eu tous les actifs dans l'éditeur, l'éclairage dans Unity lui-même semblait vraiment naturel. C'était à une époque où personne n'aurait dû utiliser le PRDH dans la production, mais j'ai été époustouflé par les résultats".
Optimiser l'éclairage
Depuis l'adoption du HDRP, SLOW BROS travaille en étroite collaboration avec l'équipe graphique d'Unity pour tester de nouvelles fonctionnalités et capacités en échange d'une assistance technique. Les volumes de sondes adaptatifs (APV) du HDRP, arrivés avec Unity 6, ont changé la donne pour l'installation d'éclairage d'Harold Halibuten accélérant les flux de travail et en débloquant des gains de performance.
Les APV sont une grille de 4x4x4 de sondes lumineuses, placées automatiquement et basées sur la densité géométrique d'une scène pour faciliter l'éclairage indirect cuit. Parce qu'il est adaptatif, APV génère des sondes plus denses dans les zones où la géométrie est plus importante, et moins de sondes dans les zones où la géométrie est moins dense.

Volumes de sondes adaptatives : Les sondes lumineuses que l'on voit ici dans la vue de la scène sont activées à l'aide du bouton Afficher les sondes dans le débogueur de rendu.
Harold Halibut utilise abondamment l'éclairage cuit, ce qui permet d'économiser des performances au moment de l'exécution, mais peut ralentir l'itération en raison des temps de cuisson. L'éclairage cuit peut également entraîner de légères incohérences visuelles, en particulier avec les objets dynamiques tels que les modèles de personnages et les objets de grande taille. L'utilisation des nouvelles fonctionnalités d'éclairage d'Unity a permis d'accélérer ces temps d'itération lents et d'améliorer les incohérences visuelles.
"Avant APV, nous utilisions des Light Probes pour l'éclairage indirect d'objets dynamiques tels que les personnages, mais cela entraînait des imprécisions, notamment dans les zones présentant de nombreux contrastes de lumière ou des ombres importantes, car chaque maillage ne pouvait se voir appliquer qu'une seule sonde", explique Onat. Contrairement aux sondes lumineuses traditionnelles, APV [fournit un éclairage indirect] par pixel plutôt que par objet, de sorte que les objets dynamiques peuvent bénéficier d'un éclairage plus détaillé et plus précis.
Comme la plupart des éclairages de Light and Shadowssont doux et utilisent des lumières en temps réel pour les informations spéculaires, il n'y a pas vraiment besoin d'ombres cuites. Onat a vu là l'occasion de supprimer certaines des cartes lumineuses et des lumières ponctuelles et d'utiliser APV à la place. "En l'espace d'une semaine environ, j'ai changé la plupart des actifs pour qu'ils soient uniquement éclairés par des sondes, ce qui a donné un très bel aspect à l'APV et a permis d'économiser des heures de cuisson", explique-t-il. "En outre, cela nous a permis d'utiliser des jeux de cuisson différents pour les environnements diurnes et nocturnes.

Harold Halibut par SLOW BROS. - Fabriqué avec Unity
Accélérer l'itération de l'éclairage
L'utilisation d'APV a permis d'accélérer l'itération de différentes manières. L'un des principaux avantages a été l'amélioration de la qualité de la prévisualisation, ce qui a permis à SLOW BROS. d'évaluer plus précisément le rendu de l'éclairage avant de s'engager pleinement dans une série de changements.
"Auparavant, je devais espérer qu'en augmentant les paramètres, le résultat serait satisfaisant, avant de découvrir qu'il y avait une ombre à laquelle je n'avais pas pensé", explique-t-il. "Avec APV, je dispose d'un ensemble de paramètres que j'utilise à la fois pour le jeu final et pour les itérations intermédiaires, ce qui me permet d'obtenir des résultats immédiats.
APV offre également une plus grande marge de manœuvre pour déplacer des objets dans une scène sans inquiétude. "Il est particulièrement utile pour le placement des ressources (chaises, tables, etc.), car je peux les déplacer sans casser les lightmaps", explique M. Onat. "La plupart de nos objets contribuent à l'illumination globale, mais comme nous n'avons pas d'ombres cuites, il était facile d'ajouter ou de retirer des éléments, et cela nous a donné beaucoup de flexibilité sur ce que nous chargions pendant le jeu.

Harold Halibut par SLOW BROS.
Onat prend l'exemple de la chambre d'Harold. Cette scène évolue au fur et à mesure de la progression des joueurs, se remplissant de souvenirs de l'aventure d'Harold. Auparavant, avec les sondes lumineuses, SLOW BROS. devait utiliser des lightmaps sur les grands objets tels que les affiches, en utilisant un éclairage cuit pour s'assurer qu'ils étaient cohérents avec les autres détails de la scène. Avec APV, ils n'ont plus besoin de configurer les paramètres pour chaque objet individuel, ce qui leur permet de mieux contrôler l'itération et l'expérimentation.
"C'est un système très agréable et moderne par rapport au placement manuel des sondes lumineuses", explique-t-il. "Maintenant, tout est très cohérent. C'est le principal avantage pour nous".
Mise à l'échelle pour les consoles
La nouvelle technologie d'upscaling Spatial Temporal Post-Processing (STP) d'Unity, qui arrive également avec Unity 6, était cruciale pour offrir aux joueurs sur console la même expérience graphique que les joueurs sur PC. STP prend des images rendues à une résolution inférieure et les met à l'échelle sans perte de fidélité visuelle. Pour le lancement, SLOW BROS. a travaillé avec l'équipe graphique d'Unity pour rétroporter cette fonctionnalité et d'autres fonctionnalités expérimentales d'Unity 6 dans leur build de lancement 2022 LTS. Cette technologie a permis à SLOW BROS d'offrir une expérience de jeu cohérente aux joueurs sur Xbox Series X|S et PlayStation 5.
Onat a décrit sa première utilisation de l'upscaler : "Pour moi, STP s'apparente à de la magie. Je l'ai testé en réduisant le jeu à 25 % de la résolution en Full HD, c'est-à-dire à 240p environ... Je pouvais encore voir de minuscules détails comme le texte sur les panneaux, ce qui semble impossible - je veux dire que l'information n'est même plus présente dans cette résolution !

Harold Halibut par SLOW BROS.
STP est conçu pour fonctionner sur toutes les plateformes supportées par Unity afin de maximiser la qualité visuelle, quel que soit l'endroit où les joueurs jouent. Et contrairement à de nombreuses autres solutions d'upscaling, il est conçu pour être rentable en termes de performances.
"Pour bien faire comprendre à quel point je suis époustouflé par STP", poursuit Onat, "il est meilleur que toutes les autres technologies d'upscaling que j'ai utilisées, à part peut-être DLSS, qui est similaire en termes de qualité - mais STP fonctionne sur tout.
"J'ai vu des gens qui diffusaient notre jeu en streaming aller dans le menu et activer FSR [FidelityFX™ Super Resolution], simplement parce qu'ils ont l'habitude de le faire. Cela me fait penser à supprimer FSR et TAAU [Temporal Anti-Aliasing Upsampling] de notre menu d'options, car je ne pense pas qu'ils devraient être utilisés lorsque STP existe - il n'y a tout simplement pas de raison".
Faire plus avec Unity
Harold Halibut est une remarquable réalisation technique d'une petite équipe créative qui, alors qu'elle ne connaissait pratiquement rien au développement de jeux, a su tirer parti de la toute dernière technologie graphique d'Unity. Le résultat est un jeu multiplateforme visuellement époustouflant qui ne ressemble à rien d'autre sur le marché.
"Nous n'étions qu'une bande de créatifs avec une idée. Nos interlocuteurs nous disaient qu'il était impossible de faire ce que nous voulions", explique M. Onat. "Avec Unity, nous avons réalisé tout ce que nous voulions accomplir, et nous avons même dépassé nos propres rêves et attentes. Nous ne pouvons pas imaginer que cela aurait été possible avec un autre outil".

Harold Halibut par SLOW BROS.
Expanded possibilities with Unity 6
Unity 6 is all about putting fast, easy game creation directly in your hands, no matter where your players are. Download Unity 6 in the Unity Hub.
Explorer l'étude de cas
Remplissez ce formulaire une fois et recevez plus de contenu de la part d'Unity.

