Blog technologie

3 septembre 2026

Les coulisses d'un jeu inspiré des animes rétro : un aperçu du rendu d'Orbitals

Bonjour ! Je suis Johannes Varmedal, directeur artistique associé chez Shapefarm. Je travaille à notre bureau de Tokyo en tant qu'artiste technique et créateur d'environnements sur Orbitals.

Orbitals est un jeu d'aventure spatiale en coopération à deux joueurs. Il sortira le 3 septembre 2026 sur Nintendo Switch 2. Il présente une esthétique d'anime rétro, à laquelle nous avons accordé beaucoup de soin au cours des trois dernières années avec l'Unreal Engine 5.

L'univers singulier d'Orbitals a été imaginé par Marcos Ramos (directeur de la création) et créé par notre équipe artistique incroyablement talentueuse, dirigée par Casper Wermuth (directeur artistique). Conçue comme une lettre d'amour aux animes des années 1980 et 1990, la direction artistique d'Orbitals cherche à reproduire l'ambiance de l'ère des animes qui nous ont influencés en tant qu'artistes, et dans une certaine mesure, qui nous ont initialement réunis dans ce studio.  
L'accès au code source et la souplesse de l'Unreal Engine nous ont permis de personnaliser le pipeline de rendu par défaut afin d'obtenir notre direction artistique d'anime rétro. C'était l'un des plus grands défis techniques du projet. En préproduction, Thomas Söderlund (art technique) et Tony Holmsten (art conceptuel) ont travaillé aux premières étapes de R&D pour y parvenir. 
 
Lors de nos recherches sur les animes de l'époque, nous avons avant tout observé les limitations et les artefacts inhérents à leur pipeline analogique. 
  • Les arrière-plans de chaque scène étaient généralement peints à la gouache sur du papier blanc. Le mouvement était généralement limité au panoramique dans la perspective fixe de la peinture.  
  • Les éléments mobiles (personnages, objets interactifs, effets visuels) étaient couramment animés en doubles à 24 images par seconde, peints à la main sur des feuilles de celluloïd, généralement derrière des traits prédessinés, ce qui entraînait des imprécisions de vacillement dans l'ombrage sur les images.
  • Lors de la composition, les celluloïds étaient superposés devant l'arrière-plan avec un éclairage frontal, ce qui entraînait des effets subtils de séparation ou d'ombrage entre les vitres de la pile.  
  • Les effets de lumière émissive étaient souvent obtenus par rétroéclairage à travers des trous percés dans l'arrière-plan et les celluloïds, afin d'obtenir une luminosité supérieure à celle du papier non peint.
  • Ainsi, chaque image était une photo sur pellicule avec les artefacts naturels du support : grain, halation, aberration chromatique, bokeh, flou lumineux, etc.  
 Nous nous sommes lancé le défi de reproduire ces effets observés aussi fidèlement que possible avec l'Unreal Engine, dans le contexte du rendu en temps réel, tout en privilégiant la jouabilité et l'immersion.  

Au cours du développement, cela a impliqué la création de modèles d'ombrage personnalisés, l'ajout de nos propres tampons de rendu, la modification de ceux qui existaient déjà ainsi qu'une forte dépendance au post-traitement pour obtenir l'apparence souhaitée.

Notre cel shader 

 
Les modèles d'ombrage que nous avons créés ont été répartis selon les contraintes énumérées ci-dessus. Dans la composition d'anime traditionnelle, la couche de premier plan est devenue notre modèle de cel-shading (une technique fréquemment utilisée dans les jeux) qui limite l'ombrage à une quantité limitée de valeurs, le plus souvent trois. Dans notre cas, trois couleurs ont été définies pour chaque ressource, à l'aide de nos tampons de rendu supplémentaires. Ainsi, nous bénéficiions d'un contrôle artistique total sur notre ombrage.  
  
Taliesan Arnold (animateur principal) a consacré beaucoup de temps et d'efforts à peaufiner le résultat des mouvements saccadés de nos personnages. Les effets visuels et tous les composants de celluloïd en mouvement (hors maillages squelettiques animés) ont été saccadés de manière similaire dans nos shaders : les mouvements sont limités à 12 FPS (voire 6 FPS selon l'effet) tandis que le rendu de notre caméra de jeu est resté à un minimum de 30 FPS.
Le rendu des traits intérieurs est défini avec des champs d'index de surface, puis il est lu dans l'un de nos tampons personnalisés. Ensuite, il est échantillonné avec le tampon de profondeur dans une convolution de décalage UV commune pour la création des traits, afin d'obtenir à la fois les traits internes et externes comme masques. Le masque des traits en résultant est davantage flouté pour permettre des différences d'érosion alpha dans l'épaisseur des traits ainsi que des interruptions de traits par soustraction du bruit.  
 
Afin d'émuler l'imprécision de la courbure des ombrages et des traits sur les images lorsque les artistes d'anime peignaient les celluloïds, nous avons utilisé le bruit pour déformer les résultats du cel-shading et des traits.
Dans le jeu, l'oscillation et les interruptions des traits ne sont mises à jour que lorsque l'acteur celluloïd ou la caméra est en mouvement ; nous avons considéré cela comme un "redessin" du celluloïd dans la création d'image d'anime traditionnel.

En nous concentrant sur la nature artisanale de nos références, nous avons trouvé ces subtiles imperfections importantes pour l'esthétique de notre jeu. 
   
Nous avons également ajouté une surbrillance à l'étape d'ombrage pour reproduire une technique de peinture courante dans les celluloïds de l'époque.
La touche finale du rendu a été d'ajouter un artefact d'ombrage subtil que l'on trouve généralement dans la composition traditionnelle des celluloïds éclairés de face.
Les acteurs en cel-shading ne projettent jamais d'ombres calculées sur l'environnement, car cela contredirait la distinction entre le premier plan en celluloïd et l'arrière-plan des décors dans le rendu.  
 
Pour contrôler cela, nous avons utilisé un canal d'éclairage spécifique aux acteurs en cel-shading lors de leur éclairage. Ainsi, des acteurs d'éclairage dédiés aux celluloïds exploitent des textures de lumière volumétriques précalculée.  
 
Pour ancrer nos personnages ainsi que les maillages en celluloïd près du sol, nous avons simplement utilisé des décalques d'ombre en cel-shading de formes abstraites.

Notre shader d'environnement 

 
La couche d'arrière-plan (c'est-à-dire la peinture en perspective fixe dans le cas de l'anime) est définie comme notre shader de peinture. Comme la caméra est contrôlée par le joueur, il n'était pas possible de définir une perspective fixe. Nous avons donc défini une règle selon laquelle les composants du shader de peinture et leur éclairage ne bougent jamais. Nous avons imaginé que le joueur accepterait ici une illustion similaire à celle des mouvements saccadés des objets en cel-shading : il pénètre dans la peinture et explore l'image de l'anime à travers la caméra. 
 
Comme évoqué ci-dessus pour l'éclairage des objets en cel-shading, sans avoir besoin de projeter des ombres en mouvement, nous avons choisi de précalculer toutes les lumières, car le coût d'un éclairage en temps réel n'aurait pas été justifié dans notre projet. 
 
Nous avons configuré notre shader de peinture pour avoir un contrôle total sur l'éclairage des surfaces. Nous avions principalement besoin de pouvoir moduler la dispersion de la lumière en utilisant les textures de coups de pinceau.
Nous avons défini les surbrillances des bords et des angles en utilisant les couleurs de vertex dans notre outil source de configuration des ressources (CCN). Dans l'éditeur, nous les avons contrôlées en utilisant de faux localisateurs de sources de lumière spéculaire, qui pouvaient être contrôlés par acteur dans l'éditeur. 

Ces modificateurs, entre autres, ont été ajoutés à l'ensemble d'outils du pipeline utilisé par notre équipe artistique lors de la création des ressources, afin d'obtenir une sensation de 2D peinte à la main dans les environnements en 3D. Notre devise était de lutter contre la "perfection numérique" : décentrer délibérément les choses ; espacer les détails aléatoirement pour éviter la répétition et les symétries ; et déformer les silhouettes parfaitement droites ou rondes.

Nos effets cinématographiques


La personnalisation flexible de l'Unreal Engine nous a permis d'utiliser nos propres filtres de post-traitement pour contrôler totalement la division du rendu des celluloïds et de l'environnement dans notre pipeline. 

Nous avons adopté une approche similaire dans notre utilisation du flou lumineux, que nous avons masqué afin que la surface émettrice reste ombrée par celluloïd ou par peinture, tandis que le flou lumineux l'entoure.
En couche finale sur le rendu, nous avons appliqué des filtres de post-traitement cinématographiques, notamment le grain de pellicule, l'halation, l'aberration chromatique et le flou, afin de simuler une image filmée sur pellicule.
Notre pipeline s'appuie sur les points forts de l'Unreal Engine, en particulier sa flexibilité pour la personnalisation. Au-delà des changements apportés au modèle d'ombrage et au tampon de rendu, nous nous sommes appuyés sur l'éditeur de matériau pour développer et itérer la plupart de nos shaders directement dans l'éditeur, en veillant à conserver un lien étroit entre l'intention artistique et le résultat final. 

La chaîne de production a été définie pour permettre à l'équipe artistique d'être aussi expressive que possible dans les limites de notre style. En tant qu'équipe déjà très familiarisée avec l'Unreal Engine à travers les projets précédents, nous avons pu rester dans les flux de travail établis, tout en les enrichissant là où c'était nécessaire pour suivre la direction visuelle d'Orbitals.

Pour en savoir plus sur Orbitals, rendez-vous sur le site officiel du jeu.