☝🏼
Un gros merci à Zach Hunter (Unreal Sensei) pour ses assets et ses tutos, avec son aimable permission!
- Allez dans “Content→MyLevel” et créer un dossier nommé “Materials”.
- Dans ce dossier, cliquez droit et choisissez Material. Nommez votre material comme vous voulez.
- Double cliquer sur ce nouveau Material.
- Un material Editor va apparaître.
- Au milieu, le “Material Graph”. En haut à gauche, un viewport montrant le material.
- On peut choisir la forme qui recevra le material.
- Un peu de navigation (rmb, lmb, scroll wheel, etc.)
- Complètement à droite, la palette, qui vous montre tous les nodes qu’on peut utiliser.
- Right-click fait la même chose.
- Choisir un “Constant3Vector”, il s’agit d’un noeud qui contient 3 valeurs, tel un vecteur 3D (X, Y, Z), ou une couleur (R, G, B).
- On va s’en servir comme couleur.
☝🏼
Vous pouvez double cliquer sur le carré de couleur sur le noeud, ou le rectangle de couleur du côté “Details”, pour changer la couleur de manière plus conviviale.
Essayez de connecter juste la sortie rouge, verte, ou bleue à “Base Color”. D’après-vous, pourquoi ça ne fonctionne pas?
C’est parce que Base Color s’attend à 3 valeurs, mais si on connecte seulement la composante bleue, verte ou rouge du noeud Constant3Vector, il s’agira alors d’un scalaire, i.e. une seule valeur, pas un vecteur.
Cliquez sur le bouton “Apply” du Material Editor pour compiler le Material.
Save!
Maintenant on peut faire un drag and drop de ce material sur nos objets.
Tada!
- Amusez-vous à changer les paramètres suivants:
☝🏼
Il faut cliquer sur Apply pour voir l’effet dans la scène.
- [ ] Base Color - [ ] Roughness (utilisez le noeud Constant. - [ ] Metallic (typiquement, metallic est soit 0, soit 1) - [ ] Ajoutez des noises (e.g., ajoutez, à partir de StarterContent, dans Textures, faire un drag and drop dans le Shader Graph du Material Editor de la texture “T_Perlin_Noise_M” par exemple) - [ ] Vous pouvez cliquer droit dans le shader graph, choisir le noeud Texture Sample, et dans les détails, choisir la bonne texture.☝🏼
- Pour tous les objets, dans les détails, vous pouvez double cliquer sur son Material pour l’éditer. La loupe va vous amener au dossier où se trouve le materiel.
☝🏼
Lerp = Linear interpolation. Ça va interpoler linéairement entre deux valeurs. C’est un peu comme un noeud “Color Ramp” dans Blender.
- Mais on peut faire mieux:
- La couleur de “rouille”, pourrait être une texture, comme par exemple “T_Metal_Rust_D”.
- Ouvrez cette texture. Si vous ne voyez que le fond en damier, désactivez le Alpha Channel:
- On va utiliser cette texture au lieu de la couleur brune pour le Lerp et on va réduire l’intensité du jaune:
- on va maintenant aller un peu plus loin dans les textures. Pour ce faire, téléchargez les assets de Unreal Sensei ici:
☝🏼
Entrez votre nom et courriel Rubika pour télécharger les assets
- Unzip dans un dossier de votre choix
- Quelque part dans votre content Drawer dans Unreal, créez un dossier “Textures”.
- Drag and Drop, du dossier BeginnerAssets, les 3 assets qui commencent par “Spanish”
- Vous connaissez les PBR, on a la base color, la normal map et la roughness map.
- Vous remarquez qu’elles ont un astérisque, cela indique qu’elles ont besoin d’être sauvegardées. Sélectionnez les 3, right-click et faire save. Ou cliquer sur Save All en bas à droite.
- UE est assez smart pour désactiver sRGB pour la normal map, mais pas pour la roughness map.
- Ouvrir la roughness map et désactiver sRGB
- Pour la Normal Map, si jamais la détection n’a pas fonctionné, assurez-vous que Compression Setting est à “Normal Map” et que sRGB est à off
Dans le content drawer, au même niveau que Textures, créez un dossier “Materials”.
☝🏼
Le dossier devrait déjà être là si vous avez suivi depuis le cours dernier.
- Créer un material nommé “M_SpanishFloor”
- Double-cliquer sur le Material pour ouvrir le Material Editor
- Du content Drawer, drag and drop les 3 textures Spanish* dans le Material Graph
- Connecter Base Color et Roughness comme ceci (on s’occupera du normal map un peu plus tard).
☝🏼
P.S., aucune idée pourquoi la texture n’apparaît pas dans les nodes, mais bon, si vous cliquez sur un des Texture Sample, dans les Details à gauche, vous allez voir la texture en question (comme ici, la normal map).
Appliquons le Material sur le plancher de notre scène (drag and drop du Material sur l’objet plancher)
☝🏼
Remarquons que le tiling est trop petit et qu’il n’y a pas de profondeur (la normal map n’est pas encore appliquée),
- Ainsi donc, connecter la normal map à l’entrée Normal du noeud M_SpanishFloor.
- Observez que maintenant les crevasses projettent de l’ombre, même si le maillage est bien plat; c’est la puissance des normal maps, ça fait “semblant” que la normale à la surface varie dans les crevasses!
- ajoutez une lampe (une Point Light) près de l’ombre portée de l’objet, déplacez-là, et voyez l’effet de l’ombre et lumière dans les crevasses.
Maintenant on va régler le problème de tiling.
Ajoutez un noeud Texture Coordinates
Appuyer sur M et left-click, ça va ajouter un noeud Multiply
☝🏼
Rappelez les shortcuts suivants
L + lmb Add a Lerp node in Material Editor 1 + lmb Add Scalar Node in Material Editor 3 + lmb Add Vector constant in Material Editor. M + lmb Add a Multiply Node in Material Editor. T+lmb Texture Sample Node
- Multiplier la sortie de TextureCoordinates par 0.35 et connecter la sortie du noeud Multiply aux 3 entrées UV des textures.
- Allez voir le résultat (faites Apply et Save), le plancher a l’air mieux!
On peut modifier la couleur avec un noeud Multiply:
☝🏼
Quelques shortcuts:
Alt-lmb on noodle or socket Remove a noodle Ctrl-lmb on socket Grab noodle at socket and move it
- À gauche de l’entrée Base Color du noeud M_SpanisFloor, ajouter un noeud Multiply (M-lmb).
- Faire 3-lmb pour connecter une constante de type Vecteur dans le socket A du noeud Multiply.
- Connecter la texture Base Color dans le noeud B.
- Changez les valeurs RGB du noeud Constant 3 pour affecter la couleur du plancher.
☝🏼
Vous pouvez cliquer sur la zone de couleur (le carré qui ne devrait pas être noir) pour modifier la couleur visuellement.
- Tiens, justement, j’ai envie de lui donner une teinte un peu plus bleutée, mais subtile:
- Paramètres et Material Instance
- On veut créer un Material instance à partir du Material M_SpanishFloor. Pour ce faire, cliquez sur l’objet dans la scène, et choisir le dossier avec la loupe dans la section Details, sous Material.
- Ça va vous amener vers le bon dossier.
- Cliquer droit sur le Material et choisir “Create Material Instance”.
- Cliquez-droit sur le socket 0.35 du Multiply après les noeud TextureCoordinates et choisir “Promote to Parameter”.
- Nommez-le “Size”.
- C’est maintenant un paramètre “exposé”, qu’on verra dans le Material Instance et qu’on pourra modifier. On a même mis sa valeur par défaut à 0.35.
- Cela permet de ne pas avoir à recompiler des materials à chaque fois qu’on change une petite chose et, surtout, de pouvoir créer facilement plusieurs variantes du même Material.
Il faut appliquer le Material Instance sur le plancher, et non pas le Material.
Donc Drag and drop du Material Instance
☝🏼
Je préfère nommer mon material instance “MI_blahblah” plutôt que “M_blahblah_inst” comme le propose UE.
- Si maintenant vous ouvrez l’éditeur du Material Instance, vous verrez le paramètre Size que vous pourrez, à votre guise, modifier dans l’instance et cela modifiera la scène en temps réel sans avoir à faire “Apply”.
- Cela se fait en activate Size et en modifiant la valeur. Size se trouve dans la section “Global Scalar Parameter Values”.
☝🏼
Essayer le noeud MF Tiling plutôt que Texture Coordinates. Pas besoin du Multiply dans ce cas là.
À votre tour maintenant, exporter la teinte.
Maintenant, on voudrait contrôler la profondeur de la normal map.
Il existe un noeud “FlattenNormal” Connectez-le et paramétrez la valeur de flatness (laisser la valeur par défaut à 0).
Vous pouvez maintenant jouer également avec la profondeur des crevasses.
À vous de jouer, ajoutez un noeud Mutiply qui prendra comme entrée la roughness et paramétrez avec une valeur par défaut de 1. Nommez le paramètre “Roughness Strength”.
On peut maintenant contrôler la rugosité du Material.
Et comme d’habitude, les valeurs par défaut étaient mieux, donc cliquer sur les flèches Undo à droite des paramètres.



























