• eng
  • deu
  • esp
  • ita
  • Blender: adicionar reflexos a apenas parte de um objeto
  • Restez à jour avec les dernières nouvelles sur le site avec un lecteur de flux rss
  • Graphiques et Programmation page Facebook
  • Graphics and programming Youtube channel
  • Graphics and programming Twitter page

Blender : ajouter des reflets à une partie seulement d'un objet

Dans ce tutoriel, nous allons voir comment ajouter une réflexion uniquement à une partie d'un objet/maillage dans Blender, en utilisant les "View layer" dans le Compositor. Par exemple (comme on nous l'avait demandé sur les réseaux sociaux) si on veut créer un bâtiment avec une structure métallique, avec un HDRI qui valorise les structures métalliques et le verre qui reflète un panneau représentant un ciel, on ne veut pas le panneau avec le ciel reflété également par les structures métalliques.
Pour le tutoriel, créons un exemple simplifié, en utilisant un cube: démarrez Blender, sélectionnez le cube par défaut en cliquant dessus, appuyez sur la touche "TAB" pour entrer en "Edit Mode". Nous sélectionnons tout, en appuyant sur la touche "A", et cliquons sur le cube avec le bouton droit de la souris, en choisissant l'option "Subdivide"

puis dans la fenêtre en bas à gauche ils choisissent un nombre de coupes égal à 4

Nous désélectionnons tout en appuyant sur les touches "Alt+A" et en mode de sélection "Face"

nous sélectionnons les 4 "fenêtres" du "palais", en les extrudant vers l'intérieur après avoir appuyé sur la touche "E"

Dans l'onglet "Material Properties" nous créons un simple matériau "metal" pour le cube, composé uniquement du shader "Principled BSDF" avec "Roughness:0" et "Metallic:1"

En appuyant sur le bouton "+" à droite

ajoutons un nouveau matériau "glass" pour les vitres

relativement simple, juste un shader "Glass" et un shader "Glossy" mélangés selon le mode "facing" du noeud "Layer Weight", donc si nous sommes en face nous voyons la fenêtre comme du verre, tandis que si nous regardons obliquement nous voyons plus et plus de réflexion à mesure que l'angle de vision augmente par rapport à la normale.

En "Edit Mode", nous sélectionnons les fenêtres et appuyons sur le bouton "Assign" pour attribuer le matériau du verre aux fenêtres

(Vous pouvez obtenir une bonne simulation du matériau en verre lorsque la fenêtre a une épaisseur, mais dans cet exemple simplifié, le but principal n'est pas de créer une scène réaliste)
Dans le sous-panneau "Settings" du matériau "glass", nous attribuons à "Pass Index:1" pour identifier ultérieurement les éléments auxquels ce matériau a été attribué

On déplace la caméra de manière à bien cadrer le cube

Dans l'onglet "World Properties" nous utilisons l'image HDR "uffizi_probe.hdr" pour l'éclairage d'ambiance (utile pour "vivifier" les reflets du métal) téléchargée depuis le site https://www.pauldebevec.com/Probes/

Nous ne nous intéressons qu'à ce qui se passe sur le cube, donc pour ne pas être distraits par le reste de la scène nous choisissons un fond transparent: dans l'onglet "Render Properties" nous cochons l'option "Transparent" dans le sous-panneau "Film"

Si nous appuyons sur la touche "F12" pour effectuer le rendu, nous obtenons

Ajoutons maintenant un reflet de ciel sur les fenêtres: téléchargeons une photo d'un ciel bleu depuis https://pixabay.com/photos/sun-sky-blue-sunlight-sunbeam-3588618/ ,
on importe l'image avec l'add-on "Images as Planes" (déjà présent dans Blender et actif par défaut et présent dans "File > Import") dans un plan (que l'on appelle "sky plane"), que l'on fait pivoter, zoomer et nous plaçons devant les fenêtres pour qu'elles se reflètent.

Cependant, le plan masque partiellement le cube si nous essayons de le regarder avec la camera

donc pour éviter de le cacher même pendant le rendu, on sélectionne le plan et dans l'onglet "Object Properties" on décoche "Camera" dans le sous-panneau "Visibility > Ray Visibility"

Nous appuyons sur "F12" pour lancer le rendu et nous obtenons le cube avec le reflet du plan contenant la texture du ciel

Maintenant, nous voulons séparer ces deux effets (cube avec des réflexions uniquement du hdr du "world" et cube qui reflète le plan contenant l'image du ciel), en les rendant disponibles en deux "view layer", couches que l'on peut ensuite ajouter et sur lequel on peut effectuer d'autres opérations dans le "Compositor".
Dans la "Scene Collection", nous créons deux collections "Collection metal" et "Collection sky". "Collection metal" représente la scène avec uniquement le cube, sans que le plan soit réfléchi, tandis que "Collection sky" représente la scène du cube ("cube") qui reflète le ciel, il contient donc une copie du cube et du plan ("sky plane"). La lampe et la camera sont extérieures à ces deux collections, puisqu'elles sont communes aux deux situations (même le cube serait commun, mais pour simplifier nous avons créé des "groupements logiques").

Créons maintenant les deux "View layer":
nous renommons le "View Layer" actuel en "view metal" et activons (affichons) uniquement la collection "Collection metal"

alors créons un nouveau "View layer" en cliquant sur le petit bouton à droite,

en choisissant l'option "Copy settings",

l'appelant "view sky", où nous cachons "Collection metal" et affichons "Collection sky"

Activez pour ce "View layer", dans "View Layer Properties", les "Passes" "Passes > Data > Indexes > Material Index", qui est utilisé pour sélectionner les parties d'un mesh avec un certain matériau, et "Passes > Light > Glossy > Indirect" pour afficher les réflexions indirectes, c'est-à-dire les objets en miroir, en l'occurrence le plan. (Ils sont appelés réflexions indirectes car les rayons du système Ray Tracing frappent d'abord l'objet, puis la surface qui les réfléchit et finissent ensuite dans la camera)

On accède à l'espace de travail "Compositing", en cliquant sur le label en haut,

et activez l'option "Uses Nodes"

Créons deux nœuds "Render Layers" ("Add > Input > Render Layers") qui correspondront aux deux calques

en fait sur l'un on choisira dans le menu déroulant en bas le "View Layer" "view sky"

et les ports "IndexMA" (correspondant au "pass" "Material Index" ) et "GrossInd" (correspondant au "pass" "Glossy > Indirect" ) apparaîtront automatiquement

Dans l'autre nœud "Render Layers", nous définissons à la place le "View layer" "view metal"

et le nœud n'a que les ports par défaut.

Pour avoir un aperçu des résultats intermédiaires des opérations dans le "Compositor", vérifiez que l'option "Backdrop" est activée en haut à droite

et ajoutez le nœud "Viewer" ("Add > Output > Viewer") pour voir l'aperçu.

En effet, si on connecte le nœud "Render Layers" correspondant au calque "view sky" et qu'on lance le rendu en appuyant sur la touche de fonction "F12", à la fin des deux rendus (correspondant aux deux calques) apparaît

Générons maintenant un masque qui isole les fenêtres: on se souvient qu'on a donné au matériau "glass" "Pass Index:1", on ajoute donc le noeud "ID Mask" ("Add > Converter > ID Mask"), qui sélectionne un mask, en utilisant l'index d'entrée "IndexMA" avec le paramètre "Index:1", qui correspond au "Pass Index" avec la valeur 1 du matériau de la fenêtre (cochez l'option "Anti-Aliasing" pour lisser les lignes obliques). Nous connectons la sortie "Alpha" au nœud "Viewer" et affichons le masque qui identifie les fenêtres

Maintenant on peut suivre deux chemins : soit on ne prend que le reflet du ciel et on l'applique sur les vitres, sans tenir compte de l'effet HDRI sur les vitres, soit sur les vitres on mélange l'effet de la réflexion du ciel avec celui de l'HDRI

 

Seul reflet du ciel sur les vitres:

À l'aide du masque que nous venons d'obtenir, nous extrayons l'image des fenêtres en ajoutant un nœud "Mix" ("Add > Color > Mix"), avec l'option "Mix" sélectionnée

Le noeud "Mix" ne garde que les parties de l'"Image" qui sont marquées par les parties blanches du masque de saisie en "Fac", pour l'autre port on laisse une couleur noire (neutre par rapport aux noeuds "Mix") .

En utilisant un autre nœud "Mix", nous collons maintenant cette image sur celle générée uniquement par la couche "view metal", obtenant ainsi ce que nous recherchions

(Le résultat de ce node "Mix" sera l'image de la "view metal" avec seulement les parties indiquées par le masque provenant du node "ID Mask" remplacées)

 

Réflexion du ciel sur les fenêtres mélangée à la réflexion HDRI:

Dans ce cas, nous n'utilisons pas l'image finale du calque "view sky", qui comprend également des contributions d'autres sources, mais uniquement les réflexions indirectes, qui sont générées par les objets qui se reflètent sur le verre (dans ce cas, le plan avec la texture du ciel), nous utiliserons donc la sortie du port "GlossInd", au lieu du plus complet "Image". Pour mélanger avec le reste du bâtiment, nous pouvons toujours utiliser le nœud "Mix" ("Add > Color > Mix") pour mélanger les deux couches, mais il est préférable de choisir une option "Screen" qui, même en utilisant un nœud pour ajuster luminosité et couleurs ("Add > Color > Hue Saturation Value" et "Add > Color > Bright/Contrast"), simule mieux les reflets d'une fenêtre.
Après avoir connecté ces nœuds et redémarré le rendu, nous obtenons

 

Exporter vers un fichier:

Si au lieu d'utiliser le "Compositor" dans Blender nous voulons tout composer dans un logiciel graphique 2D, nous pouvons utiliser un nœud "File Output" ("Add > Output > File Output") pour exporter les images et les réflexions

C'est tout pour ce tutoriel sur la façon d'ajouter une réflexion supplémentaire à une partie d'un objet dans Blender. Happy blending!

Si vous avez aimé l'article, partagez-le avec un ami:

Articles similaires:

Blender modifier intensité et couleur de l'ombre avec le Compositor

Dans ce tutoriel pour Blender (mis à jour pour la version 2.9), nous allons voir comment changer la couleur et ...

Lisez l'article >

 

Allez à la liste des tutoriels: > Blender <