Comment flouter sélectivement un objet dans Blender et animation
Dans ce tutoriel, nous allons montrer comment flouter sélectivement un objet dans Blender à l'aide du "Compositeur", en laissant les objets proches inchangés, quelle que soit la distance de la camera. Nous utiliserons d'abord le "Object Index Pass" avec le noeud "ID Mask" dans Cycles, puis avec le noeud "Cryptomatte" dans EEVEE. Ensuite, nous allons créer une animation en utilisant le flou, ce qui peut être utile pour mettre en valeur des produits ou certains éléments dans une vidéo de présentation ou un documentaire.
Démarrons Blender, supprimons le cube par défaut et créons à la place un cylindre, un cône et une sphère (nous utilisons ces 3 solides car le flou y est plus évident). En vue de face (obtenue en appuyant sur la touche "1" du pavé numérique) nous voyons
Nous attribuons aux objets 3 matériaux composés d'un seul shader "Principled", de couleur "green" (vert) #00B201 pour le cylindre, "red" (rouge) #E7000C pour le cône, "yellow" (jaune) #E7A600 pour la balle. En mode "Material Preview" on verra donc
Nous sélectionnons la camera, présente par défaut, et dans le panneau de droite (qui peut être rappelé en appuyant sur la touche "N") nous attribuons de nouvelles coordonnées pour la position et la rotation
de manière à bien enframer les objets frontalement
Nous sélectionnons la lampe présente par défaut et modifions les coordonnées de la même manière
Nous sélectionnons le cylindre et dans l'onglet "Object Properties" à droite, dans le sous-panneau "Relations", nous définissons "Pass Index:1", nous pouvons donc maintenant identifier l'objet cylindre avec ce numéro
de même nous attribuons le numéro 2 au cône et le numéro 3 à la sphère.
Pour activer le "Pass Index" des objets, dans l'onglet "View Layer Properties", cochez l'option "Object Index"
Flouons sélectivement un objet :
Essayons maintenant de nous assurer que seule la sphère est rendue floue.
Sélectionnez l'espace de travail "Compositing" en cliquant sur l'onglet relatif
on coche l'option "Use Nodes" pour pouvoir utiliser les nœuds dans le "Compositeur"
et connectez au nœud "Render Layers" un nouveau nœud "Viewer" ("Add > Output > Viewer") qui nous permettra d'afficher les aperçus des résultats des opérations effectuées dans le "Compositor"
Vérifions que l'option "Backdrop" est activée
Pour cet exercice, sélectionnons le moteur de rendu "Cycles" et le GPU comme périphérique de rendu
on lance le rendu en appuyant sur la touche "F12" et on arrive dans l'aperçu du "Compositor"
Créons maintenant un masque qui identifie la sphère: "IndexOB" fournit un masque de tous les objets indexés
en utilisant le node "ID Mask" ("Add > Converter > ID Mask") on isole l'objet d'index "3" (la sphère)
On peut désormais flouter la sphère grâce au node "Blur" ("Add > Filter > Blur"): il faut flouter la sphère présente dans le rendu donc dans son port "Image" on insère la sortie du port "Image" de le noeud "Render Layers"; le port "Size" indique de combien l'image doit être floue, et a une valeur par défaut de 1 sur toute l'image, mais nous voulons que seule la sphère soit floue, donc nous insérons le masque que nous avions obtenu auparavant, qui est blanc (le blanc correspond à la valeur 1), en entrée uniquement en correspondance avec la sphère et le noir pour le reste (le noir correspond à la valeur zéro, donc pas de flou); après avoir fait ce choix, nous cochons l'option "Variable Size", qui "Autorise un rayon de flou variable, si la taille d'entrée est une image" donc, après avoir choisi un flou "Gaussian", nous définissons x:40 et y:40 (flou égal dans la direction verticale et horizontale) nous connectons le nœud "Blur" avec les nœuds "Viewer" et "Composite" en obtenant le résultat souhaité
Si on veut aussi flouter les autres objets, il suffit de cascader les nœuds : on floute un objet et l'image avec l'objet flou servira d'image de départ pour flouter un autre objet et ainsi de suite
On floute avec Cryptomatte et EEVEE:
Si au lieu de Cycles nous sélectionnons EEVEE comme moteur de rendu, pour essayer de rendre plus rapidement (également en prévision de l'animation suivante), en utilisant la structure de nœuds que nous venons de construire pour Cycles,
on constate que le port "IndexOB" a disparu
Cela se produit parce que le pass "Object Index" (même le "Material Index") n'est pas supporté par EEVEE. Cependant est utile la fonction "Cryptomatte", qui permet d'identifier des objets et des matériaux en les sélectionnant avec une pipette: dans l'onglet "View Layer Properties" à droite, sélectionnez l'option "Object" dans le sous-panneau "Passes > Cryptomatte"
et on remarque que dans le "Compositor" les ports associés sont apparus dans le noeud "Render Layers"
cependant ceux-ci font référence à l'ancien nœud "Cryptomatte legacy" (pour comprendre la différence entre l'ancien et le nouveau nœud "Cryptomatte" et comment l'utiliser, voir aussi "Cryptomatte dans Blender 2.8 et 2.93, une révolution") mais nous utilisons le nouveau, en l'ajoutant avec "Add > Matte > Cryptomatte"
Nous connectons le port d'entrée "Image" du nœud "Cryptomatte" avec la sortie "Image" de "Render Layers" et la sortie "Pick" de "Cryptomatte" avec le nœud "Viewer", éventuellement lancer le rendu et ils apparaîtront en surbrillance les trois objets. Appuyons donc sur la touche "+" à droite du paramètre "Matte ID" et sélectionnons le cylindre avec le compte-gouttes (et l'écriture "Cylinder" apparaîtra dans "Matte ID") dans l'aperçu.
Une fois cette opération effectuée, on déconnecte le port "Pick" et connecte la sortie "Matte" du node "Cryptomatte", contenant maintenant le masque qui identifie le cylindre, au port "Size" du node "Blur" (à la place du "ID Mask" dont nous n'avons plus besoin et que nous pouvons supprimer).
Créons un autre nœud "Cryptomatte", connectez-le également au nœud "Render Layers" via le port "Image" et au nœud "Viewer" via le port "Pick" ; nous appuyons à nouveau sur le bouton "+" dans "Matte ID", mais cette fois nous sélectionnons le cône
Comme précédemment, nous déconnectons le port "Pick" du nœud "Viewer" et connectons maintenant le port "Matte" du nœud "Cryptomatte" au port "Size" du deuxième nœud "Blur".
Ajoutons un dernier nœud "Cryptomatte" également pour la sphère et répétons les opérations précédentes, pour sélectionner la sphère et connecter le nœud "Cryptomatte" au troisième nœud "Blur".
Nous avons donc construit cette configuration de nœud pour brouiller la sphère dans EEVEE
qui pourrait également être réalisé avec un seul noeud "Blur" et un seul noeud "Cryptomatte"
pour le moment, cependant, nous avions besoin d'une configuration de nœuds avec des objets tous flous à utiliser avec EEVEE, pour démarrer notre animation
Créer une animation qui accentue un objet à la fois :
Commençons donc par le dernier système de nœuds pour créer l'animation
et on agit uniquement sur les paramètres "x" et "y" des 3 nodes "Blur" présents, que l'on appellera premier, deuxième et troisième.
pour se positionner dans les différents frames nous utiliserons l'éditeur "Dope Sheet" situé en bas de l'espace de travail "Compositing".
Dans cet éditeur, nous fixons le nombre d'images à 360 dans le champ "End", en bas à droite.
Commençons par animer le flou du cylindre, en laissant le reste inchangé : nous fixons la situation actuelle en créant un keyframe pour les valeurs x et y, en cliquant avec le bouton droit sur leurs valeurs dans le nœud et en sélectionnant l'option "Insert keyframe"
Les deux champs de valeur deviendront jaunes (cela indique que ces valeurs correspondent à des keyframes)
tandis que dans l'éditeur "Dope Sheet", l'image clé correspond à un point pour chaque paramètre défini dans celui-ci
dans l'éditeur on trouve maintenant deux nouveaux canaux "Size X (Blur)" et "Size Y (Blur)" qui correspondent aux paramètres x et y du nœud appelé "Blur", comme on peut le voir dans ses propriétés dans le panneau de droite
Nous voulons que le cylindre soit clairement visible après 40 frames, nous cliquons donc sur le bouton gauche de la souris et faisons glisser le curseur bleu dans l'éditeur "Dope Sheet" jusqu'à le frame 40
Pourquoi parfois je ne vois pas les keyframes "Compositor" dans l'éditeur "Dope Sheet"? Parce que cela signifie que a été cochée l'option "Only Show Selected" sous la forme d'une flèche à droite
Lorsque cette option est active, seuls les graphiques et les keyframes des objets (ou nœuds) sélectionnés seront affichés. Pour voir les graphiques de tous les objets/nœuds, sélectionnez-les tous ou désactivez cette option en cliquant sur le petit bouton (qui passe du bleu au gris) .
Dans le premier nœud "Blur", nous définissons x:0 et y:0, puis en cliquant dessus avec le bouton droit de la souris, nous créons les keyframes associées
nous voulons que le cylindre soit clairement visible pendant 40 frames, nous faisons donc glisser le curseur sur le frame numéro 80,
laissez x:0 et y:0 et créez les keyframes correspondantes en cliquant avec le bouton droit de la souris.
nous devons maintenant démarrer l'animation, dans laquelle le cylindre doit être flou, qui se termine au frame 120. Ensuite, nous faisons glisser le curseur bleu jusqu'au frame 120
et insérez des keyframes dans le premier nœud "Blur" pour les valeurs x:40 et y:40 ; cependant doit également démarrer l'animation du cône, ce qui commence également par le flou, nous insérons donc également des keyframes pour le nœud "Blur" du cône à x:40 et y:40.
Dans l'éditeur "Dope Sheet" nous voyons que ont été ajoutés deux nouveaux canaux "Size X (Blur.001)" et "Size Y (Blur.001)",
où "Blur.001" est le nom du deuxième noeud "Blur"; en fait, si nous le sélectionnons et regardons le panneau de droite, nous trouvons
Continuons notre animation, en allant plus vite
Animons le flou du cône: pour atténuer le flou du cône, nous faisons glisser le curseur bleu vers le frame 160, définissons les valeurs x:0 et y:0 dans le deuxième nœud "Blur" et créons les keyframes associées avec la souris droite bouton. Nous montrons clairement le cône pour 40 frames, faisons glisser le curseur bleu jusqu'au frame 200, créons des keyframes pour x:0 et y:0 dans le deuxième nœud "Blur"; pour ramener le flou au cône nous faisons glisser le curseur bleu vers le frame 240 et créons des keyframes pour x:40 et y:40 dans le deuxième nœud "Blur".
Correspondant à nouveau au frame 240, nous créons également des keyframes dans le troisième nœud "Blur", qui est associé à la sphère, pour les valeurs x:40 et y:40 et nous constatons en effet que de nouveaux canaux sont apparus "Size X (Bur.002)" et "Size Y (Blur.002)" correspondant aux x et y du troisième nœud (qui s'appelle "Blur.002")
Animons le flou de la sphère comme nous le faisions auparavant avec le cône: pour supprimer le flou de la sphère, nous faisons glisser le curseur bleu vers le frame 280, définissons les valeurs x:0 et y:0 dans le troisième nœud "Blur" et créons les keyframes relatives avec le bouton droit de la souris. Nous montrons clairement la sphère pendant 40 frames, faisons glisser le curseur bleu jusqu'au frame 320, créons des keyframes pour x:0 et y:0 dans le troisième nœud "Blur"; pour rétablir le flou sur la sphère, nous faisons glisser le curseur bleu vers le frame 360 et créons des keyframes pour x:40 et y:40 dans le troisième nœud "Blur", mettant ainsi fin à notre animation.
En résumé :
Frame 1: Flou_Cylinder (40, 40), Flou_Cone (40, 40), Flou_Sphere (40, 40)
Frame 40: Blur_Cylinder(0, 0), Blur_Cone(40, 40), Blur_Sphere(40, 40)
Frame 80: Blur_Cylinder(0, 0), Blur_Cone(40, 40), Blur_Sphere(40, 40)
Frame 120: Blur_Cylinder(40, 40), Blur_Cone(40, 40), Blur_Sphere(40, 40)
Frame 160: Blur_Cylinder(40, 40), Blur_Cone(0, 0), Blur_Sphere(40, 40)
Frame 200: Blur_Cylinder(40, 40), Blur_Cone(0, 0), Blur_Sphere(40, 40)
Frame 240: Blur_Cylinder(40, 40), Blur_Cone(40, 40), Blur_Sphere(40, 40)
Frame 280: Blur_Cylinder(40, 40), Blur_Cone(40, 40), Blur_Sphere(0, 0)
Frame 320: Blur_Cylinder(40, 40), Blur_Cone(40, 40), Blur_Sphere(0, 0)
Frame 360: Blur_Cylinder(40, 40), Blur_Cone(40, 40), Blur_Sphere(40, 40)
Dans "Output Properties", dans le panneau "Output", on définit le rendu comme une séquence de fichiers PNG (afin de pouvoir recommencer en cas de plantage)
et appuyez sur les touches "Ctrl+F12" pour rendre l'animation
(Pour transformer la séquence d'images PNG en un fichier MP4, voir aussi "Blender convertir une séquence d'images en vidéo mp4")
obtenant ainsi
Ainsi se termine ce tutoriel pour flouter sélectivement un objet dans Blender, ce qui permet aussi de donner une illusion de mouvement et de changement de profondeur, un outil plus souple que le défocalisation classique. Happy blending!