Cet article est basé sur la présentation de Martin Reinmann intitulée How Odd Bug used 2D lights to create mood. Il décrit le processus de développement du studio pour la conception d'une scène et la façon dont il a utilisé le système d'éclairage 2D Unity combiné à ses outils personnalisés pour créer le monde environnemental de Tails of Iron.
Tails of Iron a été développé par Odd Bug Studio, une société d'amis et d'artistes basée à Manchester au Royaume-Uni. Le jeu se compose de nombreux niveaux différents dans lesquels le joueur peut naviguer librement d'une scène à l'autre à travers les portes ou les tunnels.
Chaque création de scène commence avec Collider Tool, un outil personnalisé créé par le concepteur de niveaux du studio. Il est placé comme base du niveau et donne à la scène sa forme générale. C'est aussi la surface sur laquelle le joueur marche. La ligne collisionneur est utilisée comme guide pour esquisser des compositions et des idées pour créer un lot de ressources et les placer dans la scène.
Mais avant cela, la scène doit être configurée avec l'outil Light and Layer Tool, un outil personnalisé que le programmeur en chef du studio, Matt Taylor, a créé. Cet outil permet à l'équipe de gérer l'éclairage et l'approvisionnement et la commande des ressources de sprites, car elle crée des niveaux détaillés en utilisant une grande quantité de ressources de sprite distinctes pour créer des niveaux de parallaxe.
Une fois que l'équipe a défini les calques, comme l'arrière-plan et le milieu de terrain, l'outil Light and Layer rassemble tous les moteurs de rendu de sprites dans la section scene. Ensuite, les ressources peuvent être triées du plus proche au plus éloigné en fonction de la profondeur z de chaque ressource dans la section Niveau. Une fois cette liste générée, l'outil assigne des valeurs linéairement, en s'assurant que les ressources sont rendues dans le bon ordre.
Une fois cette étape terminée, l'outil assigne une couche basée sur les subdivisions précédemment définies dans la scène. Ceci définit quels Sprite Renderers sont affectés par un éclairage 2D spécifique. Grâce à ces deux processus combinés, le studio peut créer de grands niveaux de parallaxe détaillés avec des scénarios d'éclairage spécifiques par couche.
L'équipe a également créé une bibliothèque de ressources divisée en plusieurs atlas pour un niveau spécifique, afin de pouvoir facilement sélectionner des ressources à utiliser dans les scènes. Avoir des ressources liées à des niveaux spécifiques aide à l'optimisation. Leurs atlas sont divisés en catégories telles que les rochers, les arbres et les petites ressources. L'équipe commence généralement par placer les ressources au milieu du terrain pour définir les collisionneurs et renforcer les surfaces d'une scène.
Placer quelques ressources au premier plan et à l'arrière-plan permet de configurer l'éclairage. Ils continuent avec de grandes ressources telles que des arbres, des rochers et des collines pour créer une bonne composition, ajoutant des détails plus tard. Au fur et à mesure que les ressources sont positionnées, la fonctionnalité « Tri » de l'outil d'éclairage garantit qu'elles sont correctement assignées et rendues à la profondeur correcte.
Placer des ressources ressemble parfois à un gros puzzle 3D. Il peut être difficile de trouver les bonnes formes pour créer une scène efficace et également lisible par le joueur. Odd Bug voulait que chaque scène soit unique. Cela permet au joueur de naviguer dans le monde car chaque scène devient mémorable avec ses propres repères ou ressources.
Ils placent les ressources à différentes profondeurs pour créer un effet de parallaxe lorsque le joueur traverse la scène et que la caméra en perspective peut la suivre. Cela peut être exagéré en plaçant les ressources plus éloignées sur l'axe z ou plus près de la caméra. Vous pouvez garder la ressource la plus proche de la caméra plus sombre ou entièrement noire, car cela crée une bordure près des bords de l'écran et renforce la profondeur.
Autre grande fonctionnalité de l'outil d'éclairage personnalisé d'Odd Bug, il crée instantanément une profondeur artificielle en estompant la couleur de chaque couche de subdivision lorsqu'elle se déplace vers l'horizon. Cela permet à l'équipe d'ajuster la densité et de définir la couleur et le volume de la lumière globale de ce fondu. Cela crée une illusion optimisée avec un horizon qui s'estompe et un brouillard atmosphérique et, combiné à des lumières et des particules, il peut créer des ambiances radicalement différentes dans les scènes.
Une fois la scène remplie de ressources, il est temps d'ajouter des éclairages pour mettre l'ambiance et mettre en valeur les parties importantes de la scène. C'est ici que Unity 2D Lights entre en jeu avec le flux de production personnalisé de Light Tool.
Odd Bug a adapté le système d'éclairage 2D Unity pour sa Vision multicouche parallaxe. Chaque lumière 2D détermine sa propre couche en fonction de sa profondeur z dans la scène à l'aide des couches de subdivision définies manuellement. Sinon, l'équipe peut définir manuellement quelle couche la lumière 2D affecte.
Les éclairages 2D de chaque section éclairent automatiquement correctement les sprites de chaque couche. Cela donne à l'équipe un grand contrôle sur l'éclairage en fonction de l'emplacement des lumières. Par exemple, vous pouvez configurer un éclairage Point plus fort pour éclairer le milieu de terrain et les personnages qui s'y trouvent, avec des lumières défraîchies en arrière-plan, pour mettre l'accent sur le milieu de terrain.
Le système d'éclairage en calques est utile pour créer des effets cool tels que des scènes en silhouette, avec une lumière placée en arrière-plan et assignée à affecter uniquement les couches d'arrière-plan, ce qui se traduit par des lumières très tamisées au milieu et au premier plan des couches. En outre, vous pouvez créer une atmosphère différente en ajoutant une lumière derrière une fenêtre ou une porte.
Il existe principalement trois types de lumière différents utilisés dans les scènes : Point, forme libre et sprite.
Point Light est le plus couramment utilisé dans le jeu, car il s'agit d'un cercle 2D que vous pouvez placer rapidement pour mettre en valeur des ressources importantes ou pour créer des ombres artificielles. Vous pouvez l'utiliser comme lueur brumeuse en arrière-plan en augmentant l'opacité du volume ou l'utiliser comme lueur d'une lampe en ajustant l'intensité des retombées lumineuses.
Vous pouvez utiliser l'éclairage libre si vous souhaitez ajouter une source lumineuse puissante sur une ressource avec une forme spécifique, comme une fenêtre. Vous pouvez simplement tracer la forme de la ressource, ajuster l'éclairage de chute et définir la profondeur exacte de la ressource. Cela donne l'impression que l'objet émet de la lumière.
Sprite Light vous permet de définir une ressource spécifique à projeter comme l'éclairage lui-même. L'équipe l'a utilisé sur des faisceaux lumineux ayant une source lumineuse texturée. Celle-ci peut être placée et tournée dans la scène pour montrer la lumière provenant de différents angles. En combinant différents types d'éclairage, vous pouvez créer des scènes où les personnages sont illuminés avec la lumière atmosphérique.
Une fois la scène bien éclairée, vous pouvez commencer à la peaufiner en plaçant des effets de particules pour apporter du mouvement et lisser toutes les zones d'apparence désordonnée. Vous pouvez placer un brouillard de particules sur une profondeur de z sélectionnée et le configurer pour un rendu sur la bonne subdivision de couche. Le brouillard est un excellent effet pour séparer les couches individuelles afin de créer plus de profondeur. Dans Tails of Iron, placer le brouillard à l'avant du midground ancre également les personnages dans le monde. De cette façon, le brouillard se déplace légèrement dans la direction où le joueur est censé aller.
L'étape suivante consiste à ajouter des effets atmosphériques tels que des taches de poussière, de la pluie ou des feuilles qui tombent, selon la scène. Il est bon de les placer plus près de la caméra pour créer un effet de parallaxe plus fort. L'effet de pluie est une combinaison de chutes de gouttelettes d'eau et de particules d'eau animées projetées sur le sol. Ces particules, comme presque toutes les autres ressources, se voient attribuer leurs propres couches afin que cela soit cohérent avec l'effet de parallaxe dans le jeu.
Si une scène a des herbes hautes, des fleurs ou des arbres, assurez-vous de lui donner un peu de mouvement. Le programmeur en chef Matt Taylor a créé un outil qui convertit tous les shaders de sprites de feuillage sélectionnés d'une scène en un shader spécial unique qui les anime ensemble dans le vent. L'équipe peut ajuster individuellement les valeurs de chaque ressource. Les feuilles sont placées en morceaux de feuilles de différentes tailles autour de la cime de l'arbre pour rendre le mouvement plus naturel.
La scène est liée avec un certain traitement des couleurs et une vignette. Ils utilisent un outil personnalisé pour dessiner une boîte sur la zone de la scène qu'ils souhaitent que le post-traitement affecte. Ils peuvent le faire glisser sur toute la scène ou sur différents éléments qui se fondent lorsque le joueur traverse la scène. Lorsqu'une scène a plusieurs états différents, comme le jour et la nuit, vous pouvez créer un dossier dans cette scène avec tous les éclairages, les ressources et les filtres qui sont activés ou désactivés dans le jeu.
Enfin, l'équipe fait une dernière passe (ou trois) pour les ressources, le placement et tout le reste jusqu'à ce que la scène soit peaufinée. Pour plus d'informations ou des questions sur Tails of Iron et l'équipe qui se cache derrière, suivez @OddBugStudio sur Twitter.
Si vous voulez voir ce que les outils 2D Unity peuvent faire, n'oubliez pas de télécharger l'exemple de projet Lost Crypt. Le projet comprend une fenêtre de tutoriel qui vous guide à travers des fonctionnalités telles que 2D Animation, 2D Sprite Shape, 2D Tilemaps, 2D Lights, Shader Graph pour 2D, Secondary Textures et Volume post-traitement.
Les graphismes, les animations et l'éclairage des jeux en 2D pour les artistes est notre guide de développement en 2D le plus complet, créé pour les développeurs et les artistes qui souhaitent créer un jeu commercial en 2D sur Unity.