I. Introduction▲
Cette série explique comment programmer ses propres effets visuels grâce aux shaders.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Unity - Écrire votre premier shader
III. Résumé▲
Le processus de rendu se décompose comme suit :
- un modèle contenant les sommets, les couleurs, les coordonnées de texture, des normales… ;
- un GameObject avec un MeshRenderer utilisant un Material. Le Material contient les textures et un shader ;
- le shader utilise les informations du modèle 3D et du Material pour dessiner les pixels à l'écran. C'est un programme qui est exécuté sur la carte graphique pendant le rendu de la scène. Celui-ci s'écrit dans un langage de programmation spécifique : CG ou HLSL (DirectX).
Pour créer un nouveau shader, faites un clic droit sur le dossier « Shaders » de votre projet → « Create » → « Shader » → « Unlit Shader ». Unity vous propose quatre types de shaders :
- Surface shaders : shader facilitant l'écriture de shaders interagissant avec les lumières ;
- Unlit Shaders : un shader qui n'interagit pas avec les lumières, mais efficace pour les effets spéciaux ;
- Image Effect Shaders : pour modifier une image, notamment pour les effets de post-process ;
- Compute Shaders : un programme exécuté sur la carte graphique, mais ne participant pas au rendu. Cela peut être pour un algorithme bénéficiant des avantages du calcul parallèle sur la carte graphique ou pour accélérer le rendu.
Lorsque la compilation d'un shader échoue, l'objet utilisant ce shader va être affiché en rose.
Si vous créez un Material tout en ayant le shader sélectionné, le Material aura un nom automatique correspondant au shader et utilisera ce shader.
Ensuite, il ne reste plus qu'à appliquer le Material à l'objet 3D.
Le Unlit Shader va par défaut utiliser la texture associée au Material pour le rendu.
IV. Ressources▲
Vous pouvez télécharger les ressources pour ce projet ici.
V. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.