Chapitre 2.2 : matériaux #
Les Materials1 définissent l’aspect visuel des GameObjects dans Unity.
Ils contiennent donc les informations nécessaires pour calculer les rendus.
Un Material contient les éléments suivants :
- un
Shaderqui est chargé de faire les calculs pour le rendu à proprement parler. Nous verrons lesShadersdans un chapitre dédié auShader Graph; - des
Textures2 qui représentent les données dont leShadera besoin pour le rendu; - des paramètres qui sont injectés au
Shaderpour contrôler le rendu.
Il existe déjà beaucoup de Shaders et de Materials livrés avec Unity ou disponible directement sur l’Asset Store3 de Unity.
In-Editor Asset Store Unity 2020.1
Contrairement à ce qui est indiqué dans la documentation, l’Asset Storen’est plus disponible dans l’éditeur Unity depuis la version 2020.1. Il faut passer par le site web directement.
Dans Unity, il existe plusieurs Render Pipelines.
Dans le cadre de ce cours, nous utiliserons le Universal Render Pipeline (URP).
Il faut donc faire attention de créer et d’utiliser des Shaders et des Materials compatibles.
Il existe plusieurs Shaders disponibles avec URP4.
En particulier, le Lit Shader5 offre beaucoup de possibilités et permet très souvent d’obtenir les résultats souhaités.
Dans les cas où le rendu final n’a pas besoin d’être proche de la réalité, ou sur des architectures limitées en puissance, alors le Simple Lit Shader6 est approprié.
Les figures suivantes montrent un exemple de Material utilisant le Lit Shader (à gauche), et le Simple Lit Shader (à droite ) :


Les Materials sont des Assets qui pourront être appliqués à plusieurs GameObjects différents à la fois.
Pour les créer, il faut donc aller dans le menu Assets/Create/Material et choisir le Shader désiré.
Il ne reste plus qu’à l’appliquer aux GameObjects désirés.
Pour ce faire, on peut :
- éditer le
Mesh Renderer Component; - tout simplement faire un drag-and-drop sur l’objet 3D dans la scène.