Notre projet est prêt et on peut passer à l'ajout d'effets dans notre scène 🙂
Le but de cette section est de rendre notre jeu BEAU ou lui donner un style graphique particulier, une ambiance.
Travailler nos graphismes est un moyen de vraiment personnaliser notre jeu et lui donner sa propre personnalité. Selon le type de jeu et d’environnement (intérieur ou extérieur) on va mettre l’accent sur différents paramètres.
Voici une petite vidéo qui montre la différence pour un même jeu du rendu avant (à gauche) et après (à droite) un travail sur les graphismes :
Si vous avez trouvé ça cool, vous vous dites peut-être que c’est dur à faire.
La vrai réponse est oui et non.
OUI : on peut passer beaucoup de temps à travailler les graphismes pour qu’ils soient parfaitement comme on le désire.
Non : on peut rapidement obtenir un rendu de qualité et personnalisé en modifiant quelques paramètres.
Pour y arriver, il faut suivre une bonne méthodologie qui nous permettra de ne pas nous perdre.
Il y a globalement 3 grandes étapes à notre travail sur les graphismes:
Pour que notre scène soit prête à recevoir tous les effets graphiques que l’on va lui ajouter, on va :
Changer la gamme de couleurs
La première chose à faire avant de se lancer dans la personnalisation graphique de notre jeu est de choisir la gamme de couleur de Unity. Si on se lance dans nos modifications avant, on devra recommencer si on change la gamme de couleur.
Il y a deux gammes de couleurs de base dans Unity : Gamma et Linear.
Nous allons choisir la gamme Linear car elle permet de mieux conserver les couleurs sur des surfaces exposées à beaucoup de lumière.
Si on laisse Gamma, les surfaces ont tendance à devenir toute blanches quand exposées à beaucoup de lumière.
Modifier dans Unity
Pour choisir la gamme de couleurs Linear, il faut se rendre dans le menu Edit puis Project Settings puis Player.
Dans l'inspecteur, dans le sous-menu Other Settings on va modifier le paramètre Color Space.
Et choisir Linear.
Maintenant on va modifier des paramètres de notre caméra. Pour commencer, il faut trouver la caméra de notre jeu. Le composant de caméra se trouve dans notre personnage. Selon si ton perso est un FirstPerson ou un ThirdPerson, la caméra ne se trouve pas au même endroit :
Ensuite dans l'inspecteur, on trouve notre composant "Camera"
On va changer 3 choses :
Retirer l'anti-aliasing par défaut
Unity propose un anti-aliasing de base que l'on va enlever.
Pour le desactiver, il faut se rendre dans le menu Edit puis Project Settings puis Quality.
Dans l'inspecteur on trouve "Anti Aliasing" et on le passe à Disabled
Notre projet est prêt et on peut passer à l'ajout d'effets dans notre scène 🙂
Les lumières dans notre scène vont fortement marquer l’ambiance du jeu, il existe plusieurs moyens d’émettre de la lumière dans un scène Unity, on va les explorer 😀
Skybox
La Skybox est l'image du ciel. De base il y en a une dans notre scène mais on peut en trouver plein dans l'Asset Store, des coucher de soleil, un ciel étoilé, un environnement de l'espace, etc ...
On parle des Skybox ici car elles émettent aussi de la lumière !
Pour changer et paramétrer la lumière de la skybox on doit ouvrir le menu lightings auquel on accède en allant dans Window -> Lighting -> Settings (image de gauche).
On voit alors apparaître le menu de lightings (image de droite). Il y a ici 4 paramètres qui nous intéressent :
La Directional Light est l'équivalent du soleil (ou de la lune) dans ta scène. De base une nouvelle scène Unity contient une Directional Light.
La directional light se comporte comme une lumière infiniment loin dans le ciel (et donc n'a pas de source) et illumine toute la scène dans une direction donnée (d'où le nom). Du coup pas besoin de la placer à un endroit en particulier par contre en la faisant tourner on illumine la scène différemment (teste teste teste jusqu'à obtenir l'effet que tu veux)
Par exemple, l'image en dessous a une Directional Light qui illumine du gauche vers la droite la scène mais le GameObject de la directional light n'est pas placé dans le ciel.
La Directional Light a beaucoup de paramètre mais l'on va s'intéresser qu'à une partie d'entre eux:
Les paramètres de la Point Light sont les mêmes que ceux de la directional light avec une option en plus:
Les paramètres de la Spot Light sont les mêmes que ceux de la directional light avec une option en plus:
La Reflection Probe est un type de lumière très particulier. Ce n'est pas une source de lumière directe comme celles vu au dessus. C'est un composant qui calcule les rebonds de lumière et diffuse la lumière indirecte.
Par exemple dans les images en dessous (à gauche pas de reflection probe, à droite il y en a une) on voit bien qu'il n'y a pas de nouvelle source de lumière mais la lumière réfléchie permet d'illuminer la scène.
Après avoir créé la réflexion probe, place là au centre de ta scène/salle/zone (si tu as plusieurs salles ou sections à ta scène mets en une par salle/zone).
Ensuite clique dans l'inspecteur sur le symbole en haut à gauche (entouré en vert dans l'image en dessous). Tu verra apparaître un cube marron avec des points au centre de chaque face. Avec ces points tu peux agrandir le cube pour qu'il couvre toute la zone (pense à passer derrière les murs/montagnes/sol pour que la lumière se réfléchisse bien partout).
Enfin il y a 3 paramètres à modifier :
Les Material sont les composants qui donnent leur couleur et leur texture aux objets du jeu.
Bien que ce ne sont pas des sources de lumière classiques, on peut leur donner la capacité d'émettre de la lumière comme on le voit sur l'image à droite ->
Les materials ont aussi la capacité de réfléchir la lumière (effet miroir).
Pour créer un nouveau Material, on fait clique droit dans nos Assets -> Create -> Material. On obtient alors un nouveau fichier dans nos assets "New Material" que l'on peut renommer.
Quand on sélectionne le material on voit cette fenêtre dans l'inspecteur. On va pouvoir jouer avec 7 paramètres :
Attention - sur certains modèles 3D que l'on télécharge, les textures (materials) appliqués sur le model brille dans la lumière (surtout quand on met du Bloom dans le post-processing). Pour diminuer l'effet, trouve le material dans l'arborescence du modèle 3D et modifie le paramètre Shininess.
Le post-processing permet d’ajouter des effets graphiques et des filtres à la caméra du jeu (oui… comme sur Instagram). Il y a beaucoup d’effets que nous pouvons ajouter à la caméra de notre jeu, cette page montre comment télécharger le package de post-processing d’Unity 3D et comment utiliser les différents effets.
Ajouter le Post-Processing à notre jeu
Une fois le package importé, il faut ajouter le composant Post Processing Behaviour sur le GameObject de la Camera.
Ensuite, il faut créer un Prost Processing Profile que l'on va paramétrer plus loin. Pour le créer, on va dans les Assets et on fait Click Droit -> Create -> Post-Processing Profile
Enfin on ajoute le Post Processing Profile dans le champ Profile du composant Post Processing Behaviour que l'on vient de créer.
Après avoir modifié certains paramètres de Post Processing, il est important d'aller corriger nos lumières pour ajuster l'effet. Le travail sur les graphismes est un aller-retour permanent entre travail sur les couleurs/effets et travail sur les lumières.
Les effets qui demandent le plus d'ajuster les lumières sont le Bloom et le Color Grading.
Maintenant que l'on a ajouté les capacités de Post Processing à notre Caméra, il est temps de jouer avec les effets 😀
Les différents effets du composant de Post Processing sont :
L'effet d'anti aliasing du composant de post processing est assez simple, il n'y a qu'un paramètre d'importance : la Method. C'est la technique par laquelle la caméra lisse les lignes. Il y a 2 possibilités :
L'Ambient Occlusion est l'ajout d'ombres dans les creux, les trous et les intersections entre les surfaces. Dans la vraie vie, on le voit partout.
Sur cette image à gauche l'ambient occlusion est désactivée et à droite elle est présente :
L'effet d'Ambient Occlusion a 3 paramètres importants sur lesquelles on va agir :
Screen Space Reflexion ajoute de la précision sur les reflets des surfaces réfléchissantes (voir la partie sur les Materials dans la page Lumières)
Cet effet est très gourmand en performance est n'a vraiment d'intérêt QUE si tu as beaucoup de surfaces réfléchissantes dans ton jeu (les surfaces d'eau ne comptes pas car elles fonctionnent autrement).
On conseille de ne PAS activer cet effet !
L'effet Depth Of Field permet de simuler le focus d'une caméra, c'est à dire quelle partie de l'image est nette et quelle partie est plus floue.
Sur l'image en dessous, l'image est concentrée sur ce qu'il se passe au premier plan, le flou du fond permet de mettre en avant ce qui est important : le personnage et ce qui l'entoure.
L'effet Depth Of Field a 3 paramètres sur lesquels on peut agir :
Le Motion Blur permet de rendre flou les objets qui bougent à grande vitesse. Cet effet est très utilisé dans les jeux de course et permet d'amplifier le mouvement.
C'est un effet très sympa à avoir pour donner du dynamisme à son jeu MAIS il ne faut pas en abuser sinon ça donne mal au coeur...
Pour agir sur notre effet de Motion Blur, on a 2 paramètres à notre disposition:
L'Eye Adaptation permet de simuler le mécanisme de la rétine qui nous permet d'adapter notre vision à l'intensité lumineuse.
Dans le gif en dessous, on voit que l'image devient plus net à mesure que le temps passe et que "l'oeil de la caméra" s'adapte à la lumière :
Cet effet ne vaut vraiment la peine QUE si ton jeu a des grands changements de lumières (zones très sombres et zones très lumineuses)
Si tu ajoute cet effet à ton jeu, pas besoin de modifier les paramètres, ceux par défaut sont très bien.
L'effet de Bloom permet de faire briller les zones et surfaces qui sont illuminées.
Dans l'image en dessous on voit l'effet de bloom sur des sources de lumière et des zones illuminées.
L'effet de Bloom peut être modifié à travers 4 paramètres:
Le Color Grading est l'effet qui a le plus d'impact sur le rendu de notre jeu !! C'est aussi le plus complexe et celui sur lequel on a le plus de possibilités.
Le Color Grading permet d'ajuster les couleurs de nos images, on peut saturer les couleurs, donner plus d'importance au rouge, au vert , etc... C'est comme appliquer un filtre sur notre caméra (exactement comme sur Instagram). L'effet permet de définir l'ambiance graphique du jeu :
Le composant de Color Grading du Post Processing est découpé en 5 sections de paramètres mais on n'agira ici que sur 3 d'entre elles qui permettent une vrai différence sur le rendu de notre jeu :
Ce composant permet de modifier les couleurs (comme au dessus) avec des gammes de couleurs crées sur un autre logiciel, on ne va donc pas l'utiliser.
Le composant Chromatic Aberation simule les défauts de caméras qui ont du mal à délimiter les bordures d'objets quand le contraste (clair vs obscure) est trop grand faisant apparaître des "franges multicolores". Cet effet est utilisé pour donner un effet artistique à notre image.
Dans les images en dessous, celle de gauche a l'effet chromatic aberation pas celle de droite.
Il n'y a qu'un paramètre sur lequel on va agir ici, l'Intensity, qui défini à quel point l'effet est marqué.
Le Grain simule la présence de petites particules semblable à ce que l'on pouvait avoir sur les pellicules des anciens appareils photos. Cela produit un effet un peu d'irréalité ou un effet rétro.
Dans les images en dessous, celle de gauche a l'effet Grain pas celle de droite.
Il y a 2 paramètres sur lequel on va agir ici :
La Vignette est aussi un effet artistique qui a pour but de concentrer le regard sur le centre de l'écran en rendant les couleurs aux coins de l'écran plus sombres ou désaturées.
Dans les images en dessous, celle de gauche a une vignette, pas celle de droite.
Il y a 3 paramètres sur lequel on va agir ici :