Paper Trail est un projet qui redéfinit les limites de l'art low-poly en transformant le monde du jeu en une feuille de papier pliable. Utilisant Unity comme moteur de base, les développeurs ont réussi à créer une esthétique unique où chaque texture simule la rugosité et le grain du papier physique. Cette analyse technique décompose le flux de travail entre Photoshop et Unity, en se concentrant sur les shaders qui permettent au monde de se plier et de se déplier en temps réel, offrant une leçon magistrale d'optimisation pour les studios indépendants. 📄
Shaders de papier rugueux et pliage procédural 🧩
La clé de Paper Trail réside dans un shader personnalisé qui combine une carte de normales générée dans Photoshop avec un algorithme de déformation par sommets dans Unity. Le processus commence par peindre des textures de base dans Photoshop, en utilisant des pinceaux à grain épais et des couches de bruit pour imiter la fibre du papier. Ensuite, dans Unity, un shader de surface est appliqué, interprétant ces textures comme des déplacements minimes, ajoutant des ombres dynamiques qui renforcent l'illusion d'épaisseur. Pour la mécanique de pliage, un script est utilisé pour modifier le maillage de l'objet via un axe de charnière virtuel, en recalculant les normales à chaque image pour éviter les artefacts visuels. L'optimisation est obtenue en limitant le nombre de polygones actifs et en utilisant des LOD qui réduisent la qualité de l'ombrage sur les objets éloignés.
Leçons pour les indépendants sur l'intégration des assets 🎨
Pour les développeurs indépendants, Paper Trail démontre qu'une esthétique forte peut naître de limitations techniques. L'astuce consiste à ne pas lutter contre le moteur, mais à embrasser ses capacités de rendu par lots. Lors de l'exportation des assets depuis Photoshop, il est crucial de travailler en couches séparées pour les ombres, les lumières et les textures de base, permettant à Unity de les combiner sans saturer la mémoire du GPU. De plus, la mécanique de pliage exige un rigging minutieux des maillages : chaque pli doit être un ensemble de triangles indépendants pour que le script de déformation ne brise pas la continuité visuelle. Utiliser un seul shader pour tous les éléments du monde, avec des variations de couleur via des paramètres, réduit les appels de tirage et maintient des performances fluides sur les consoles et les PC de milieu de gamme.
Quel a été le plus grand défi technique lors de l'implémentation du système de pliage de la géométrie du monde en temps réel avec des shaders dans Unity Paper Trail, et comment l'ont-ils résolu pour maintenir l'illusion d'une feuille de papier sans casser le gameplay ?
(PS : les game jams sont comme les mariages : tout le monde est heureux, personne ne dort et on finit par pleurer)