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 comment assombrir / éclaircir l'ombre d'un objet dans le Compositor de Blender. Cela peut être utile surtout lorsque nous voulons effectuer une photocomposition, en superposant un objet 3D sur une photo préexistante, pour mieux adapter l'ombre à la lumière et aux objets de l'image, sans avoir à rendre la scène à chaque changement.
Créons la scène 3D:
Comme exemple de modèle à utiliser pour l'insertion dans une photos, créons un simple cube avec son ombre: partons de la scène par défaut et donnons la couleur #95A6FF au cube, dans l'onglet "Material Properties" de la Properties Window
nous élevons le cube et créons au dessous un plan, repositionnons la caméra, définissons Cycles comme moteur de rendu, dans l'onglet Render Properties de la Properties Window, et 500 Samples pour le Render
on appuie sur la touche F12 pour créer l'image rendue
Pour cacher le plan, mais pas l'ombre du cube, nous le sélectionnons et dans l'onglet Object Properties de la Properties Window, dans le sous-panneau Visibility, nous cochons l'option "Shadow Catcher" (c'est-à-dire que nous le considérons uniquement comme un "capteur d'ombre")
Supprimons l'arrière-plan de l'image rendue en cochant l'option "Transparent" dans l'onglet "Render Properties" > Film
on démarre le rendu et on obtient l'objet avec seulement son ombre
Comme vous pouvez le voir, sur la figure, il existe deux types de "zones ombrées": la partie du cube non exposée à la lumière (1) et l'ombre qui est projetée sur le plan, désormais invisible, (2)
Nous allons maintenant essayer d'éclaircir les deux "ombres", indépendamment l'une de l'autre, à l'aide du Compositor, afin de limiter le nombre de rendus à faire au cas où l'on voudrait modifier plusieurs fois l'intensité pour mieux l'adapter à une photo.
Modifier l'intensité de l'ombre à l'aide de scènes dans le compositeur:
Dans cette méthode nous utiliserons les "scene", pour séparer le cube de son ombre sur le plan et organiser leur gestion de manière plus simple.
Alors dans la zone de texte, en haut à droite, nous renommons la scène courante (qui ne contiendra que le cube) en "Cube scene"
cliquons maintenant sur le bouton à droite pour créer une nouvelle scène, celle qui ne doit contenir seulement l'ombre sur le plan,
et choisissons comme option "Full Copy", pour copier tous les objets de la première à la deuxième scène
et une copie de tous les objets de la première à la deuxième scène sera créée
renommons la deuxième scène en "Shadow scene"
Dans la "Shadow scene", nous devons supprimer le cube, mais nous voulons qu'il continue à projeter l'ombre sur le plan, donc nous ne le supprimons pas, mais nous le cachons de la caméra: nous sélectionnons le cube et, dans l' onglet "Object Properties", dans le panneau Visibility > Ray Visibility décochons l'option "Camera"
Supprimons maintenant le plan de la première scène, en le cachant pendant le rendu: sélectionnons la "Cube scene" dans le menu déroulant
dans l'Outliner nous activons toutes les options de visibilité
nous désactivons donc le rendu du plan
sélectionnons le workspace "Compositing" et activons l'option "Use Nodes"
Deux nœuds apparaissent immédiatement: "Render Layers" (avec la scène déjà définie sur "Cube Scene") et le nœud "Composite", qui représente tout ce qui apparaîtra dans le rendu final.
Nous ajoutons un autre nœud "Render Layers", en utilisant la commande dans le menu Add > Input > Render Layers, et dans son menu déroulant nous sélectionnons "Shadow scene"
ces deux nœuds représentent ce qui est rendu dans les deux scènes, celle avec le cube et celle qui ne contient que l’ombre.
Sélectionnez maintenant la "Cube scene" dans le menu déroulant et activez, dans l'onglet "View Layer Properties", le Shadow Pass qui vous permet de collecter les informations sur les ombres dont nous aurons besoin pour travailler sur une zone spécifique du cube
Le Shadow Pass crée un masque: les parties éclairées de la scène sont de couleur claire, celles correspondant aux ombres et l'arrière-plan (sans éléments éclairés) sont noirs. Si notre scène avait deux plans orthogonaux visibles comme arrière-plan
Le masque ressemblerait à ceci, dans lequel on peut voir: la partie éclairée du cube (1), les plans éclairés (2-3), la partie ombrée du cube (4), l'ombre du cube sur le plan (5), l'arrière-plan (6)
Dans notre cas, cependant, le plan est invisible, donc si nous ajoutons le nœud Viewer avec Add > Output
et nous le connectons avec la port shadow
nous demarrons le rendu et dans le Compositor nous visualisons
en utilisant la sortie de la porte alpha qui fournit un masque, qui représente les objets présents en couleur claire et le fond transparent en noir
nous pouvons soustraire les valeurs d'un masque à l'autre, en utilisant le nœud Math avec l'option Subtract, que nous ajoutons avec Add > Converter > Math
pour laquelle nous sélectionnons l'option "Subtract" au lieu de "Add" et nous obtenons le masque
ce qui nous permettra de travailler uniquement sur la partie ombrée du cube qui nous intéresse.
Ajoutons donc le nœud RGB Curves, depuis le menu Add > Color > RGB Curves, insérons le masque obtenu précédemment dans "Fac" et le rendu de la scène dans "Image", modifions la courbe des canaux combinés (Combined RGB->"C") et ainsi rendre la zone ombrée du cube plus claire
Il est conseillé d'utiliser le nœud RGB Curves, ou similaire, car la partie ombrée de l'objet est généralement colorée, donc pour un meilleur résultat il peut être nécessaire d'agir séparément sur chaque canal.
Rendons maintenant l'ombre du cube sur le plan plus claire. Pour éclaircir une ombre, cependant, il ne faut pas rendre l'image de l'ombre plus lumineuse, sinon au final on aura une image blanche, mais la rendre plus ou moins transparente, il faut donc augmenter ou diminuer l'intensité du masque de son canal alpha et modifier en conséquence l'image de l'ombre.
Depuis la port "alpha" du nœud Render Layers de la "Shadow scene", nous extrayons le masque
Pour moduler l'intensité et l'influence du masque, nous utilisons le nœud Bright/Contrast (Add > Color > Bright/Contrast) qui vous permet d'assombrir le masque
cela nous permet d'augmenter la transparence de l’image de l’ombre en utilisant le nœud SetAlpha, agissant sur la partie de l'image délimitée par le masque. Ajoutons donc le nœud SetAlpha, avec Add > Converter > SetAlpha, et en définissant une valeur appropriée de "Bright" nous modifions la transparence.
Nous ajoutons maintenant les résultats du travail effectué sur les deux scènes, à l'aide du nœud Add > Color > Alpha Over, en plaçant le cube dans la deuxième entrée "Image" avec "Fac" = 1
activer l'option "Use Alpha" dans le nœud "Composite"
et nous commençons le rendu, en appuyant sur la touche F12, obtenant ainsi le résultat souhaité, que nous pouvons sauvegarder et utiliser plus tard
note: il peut arriver que, peut-être à cause d'une erreur, vous ne voyez pas le résultat correct du "Composite" dans le rendu, puis sélectionnez d'abord View Layer puis à nouveau Composite dans la fenêtre de rendu
Pour insérer une image d'arrière-plan, vous pouvez l'ajouter en utilisant le nœud Add > Input > Image et le connecter au cube et à son ombre avec un autre nœud "Alpha Over" (lié au précédent dont nous avons parlé auparavant). Par exemple, si nous voulons placer le cube sur l'image d'un sol, téléchargée depuis Pixabay.com, définissez Bright: -23,3
En lançant le rendu que nous obtiendrons
Modifiez la couleur des ombres à l'aide de scènes dans le Compositor:
Utilisez les nœuds précédents pour colorer les ombres.
Utilisez la port "Alpha" du nœud Render Layers, correspondant à la scène "Shadow scene", contenant les informations sur la transparence de l'ombre, que nous pouvons ajuster comme auparavant avec les nœuds "Bright/Contrast" et SetAlpha. Mélangeons maintenant l'ombre obtenue avec une couleur (rouge), représentée par le nœud RGB (Add > Input > RGB) avec la couleur #FF0000, dans un nœud Mix (Add > Color > Mix). A l'entrée de la porte "Fac" nous insérons l'ombre dont nous avons d'abord modifié l'intensité, afin de conserver la densité de l'ombre et de pouvoir la changer à notre guise.
si on connecte la sortie du nœud "Mix" au nœud "Composite" et que l'on démarre le rendu en appuyant sur la touche F12, on obtient l'ombre colorée souhaitée
Maintenant, colorions la partie ombrée du cube.
Comme avant nous effectuons la soustraction (Add > Converter > Math, avec l'option "Subtract") entre "Alpha" et "Shadow" pour calculer la zone sur laquelle agir
Nous modifions ensuite la couleur et la luminosité de la partie ombrée du cube, à l'aide du nœud "Color Balance" (Add > Color > Color Balance); on modifie la propriété "Lift", celle qui fait référence aux tons foncés ou aux ombres, en définissant la couleur hexadécimale #FF204A, obtenant
Joignons maintenant le cube modifié avec son ombre, en connectant le nœud "Color Balance", que nous venons de voir, avec le nœud "Mix" avec lequel nous avions coloré l'ombre.
on démarre le rendu, en appuyant sur la touche F12, et on obtient l'effet désiré (sinon on change comme avant de Composite à View Layer et vice versa pour mettre à jour)
Changer la couleur des ombres pendant le rendu avec le nœud Light Path:
Pour terminer la discussion, allons voir maintenant comment changer la couleur des ombres même pendant le rendu.
Cycles est un moteur de rendu ray tracing, dans lequel les rayons partent de la caméra et après diverses interactions sont décomposés, contenant diverses informations.
Nous utilisons ensuite le nœud "Light Path" (Add > Input > Light Path) qui nous aide dans le traitement, nous donnant des informations sur le rayon que nous considérons (provenant de la caméra, ou qui contient des informations sur les ombres, ou sur le diffuse, ou sur le glossy etc.)
Pour changer la couleur, nous nous intéressons aux rayons qui contiennent des informations sur l'ombre (les rayons de retour qui rencontrent un objet comme obstacle); avec leur aide dans le cas "is Shadow Ray", nous voulons que l'objet ne soit pas considéré comme opaque, mais comme si les rayons traversaient un objet de matériau transparent coloré, pour y parvenir, nous remplaçons le shader Principled par un Transparent (Add > Shader > Transparent BSDF) coloré, en utilisant les informations sur la port "is Shadow Ray" pour filtrer les shaders dans un nœud "Mix Shader" (Add > Shader > Mix Shader)
et, en démarrand le rendu, nous obtenons
cependant, cette solution présente quelques problèmes avec le Shadow Catcher, car l'ombre perd sa couleur
Pour ce tutoriel, sur la façon de modifier l'intensité et la couleur d'une ombre avec le Compositor, c'est tout, en espérant que cela vous aidera dans vos photo insertions, pour mieux mélanger les objets 3D dans la scène. Happy blending!