From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Les filtres effectuent des actions sur les pixels d'une image pour mettre en valeur des détails additionnels, ou réaliser un type d'effet de post-processing.

Nœud "Filter"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersFilter

Nœud Filter.

Le nœud Filter implémente divers filtres d'amélioration d'image. Les filtres proposés sont – n'est-ce pas évident? – nommés d'après le génie des mathématiques qui les a découverts/inventés:

  • Soften – Floute légèrement l'image;
  • Sharpen – "Durcit" les transitions (les bords) dans l'image;
  • Laplace – "Adoucit" les transitions (les bords) dans l'image;
  • Sobel – Crée une image en négatif faisant ressortir les bords en clair (détection de bords);
  • Prewitt – Essaye d'améliorer l'effet Sobel;
  • Kirsch – Améliore encore les résultats obtenus par les deux lascars précédents, en créant de meilleures transitions à l'approche des bords;
  • Shadow – Crée un effet de relief/bumpmap, en assombrissant les bords extérieurs.
Les sept modes du nœud Filter.

Les filtres Laplace, Sobel, Prewitt et Kirsch font tous de la détection de contours (de manières légèrement différentes), basée sur du calcul vectoriel et matriciel, un ensemble d'équations qui remplirait de charabia six tableaux noirs entiers.

Lecture recommandée pour insomniaques!

Nœud "Blur"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersBlur

Nœud Blur.

Le nœud Blur (flou) rend floue une image, en utilisant l'un des sept algorithmes proposés dans le menu déroulant en haut à gauche, et un rayon défini par les boutons numériques X et Y. Ceux-ci sont par défaut à zéro, vous devez donc en régler au moins un à une valeur supérieure à zéro pour activer le flou. Vous pouvez éventuellement connecter une "image" de valeurs à la prise d'entrée Size, pour contrôler la taille (quantité) du flou par un masque. Les valeurs doivent être comprises entre 0.0 et 1.0 pour de meilleurs résultats, puisqu'elles seront multipliées avec les valeurs des boutons numériques X et Y.

Options

Les valeurs X et Y représentent la taille, en pixels, du flou, dans les deux directions.

Le bouton Bokeh (seulement visible comme "Bok" ou "Bo" sur certaines captures) forcera le nœud à utiliser un flou circulaire (elliptique, en fait). Cela produit de meilleurs résultats, mais est plus lent que le flou standard.

Le bouton Gamma (ou "Gam") force le nœud Blur à appliquer une correction gamma à l'image avant de la flouter.

Les sept types de flous du nœud Blur, avec 15% de la taille de l'image pour X et Y, pas de Bokeh ni de Gamma.

La différence entre ces types de flous tient à leur manière de "gérer" les transitions brusques (bords nets) et douces (dégradés), et de préserver les hautes et basses valeurs. En particulier (et vous devrez peut-être examiner de près l'image ci-dessus en haute résolution pour le voir – cliquez sur l'icône en bas à droite):

Flat – "plat", floute tout de manière uniforme;
Tent – "tente" (courbe en forme de "tente canadienne" = triangle), préserve le mieux les valeurs minimales/maximales;
Quadratic et CatRom, conservent bien nets les bords (transitions brusques);
Cubic et Mitch, préservent les hautes valeurs mais donnent quasiment un "flou focal" sur les bords nets.


Exemple

Un fichier .blend d'exemple, en fait celui qui a servi pour créer l'image ci-dessus, est disponible ici. Il prend en entrée une image depuis le RenderLayer "Blurs" et la floute tout en la déplaçant (Translate) et en la combinant (AlphaOver) pour créer la séquence de flous que vous connaissez. Jouez avec les nœuds Value et Multiply pour modifier la quantité de flou appliquée par chaque algorithme.

Nœud "Bilateral Blur"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersBilateral Blur

Nœud Bilateral Blur.

Le nœud Bilateral Blur effectue un flou adaptatif de haute qualité sur l'image source. Il peut être utilisé dans divers buts, comme:

  • Adoucir les résultats de l'occlusion ambiante ray-tracée de Blender;
  • Adoucir les résultats de divers moteurs de rendu unbiased;
  • Simuler certains effets particulièrement lourds, comme les réflections/réfractions floues, ou les ombres douces;
  • Réaliser des effets de compositing non-photo-réalistes.


Entrées

Le nœud Bilateral Blur a deux entrées:

  • Image, l'image à flouter!
  • Determinator, qui n'est pas obligatoire, et n'est utilisée que si elle est connectée.

Si seule la première prise est connectée, le nœud floute l'image en fonction des bords qu'il y détecte. Si Determinator est connectée, elle sert de référence pour définir les bords dans l'image source, avant de flouter celle-ci. Cela est un grand avantage dans le cas où l'image source est trop bruitée, complexe, pour une bonne détection des bords, mais que ses normales combinées au Z-buffer peuvent encore définir exactement les bords (limites) des objets qui la composent.

Options

Iterations
Définit combien de fois le filtre devrait répéter les opérations sur l'image. En pratique, cela définit la taille (le rayon) du flou.
Color Sigma
Définit la limite (inférieure) de la différence entre deux couleurs considérée comme indiquant la présence d'un bord.
Space Sigma
Un réglage fin pour la taille du flou (NdT: ???).


Examples

Ombre buffered adoucie avec Bilateral Blur.
AO adoucie avec Bilateral Blur.
Simulation de réfraction floue + ombre ray-tracée adoucie avec Bilateral Blur.


Nœud "Vector Blur"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersVector Blur

Nœud Vector Blur.

Le Vector Blur (flou vectoriel) est surtout utilisé pour le flou cinétique, c'est-à-dire le flou formé par un mouvement très rapide. Puisque l'animation CG fonctionne en rendant des images fixes, il n'y a pas de réelle connaissance de la disposition passée et présente des éléments. Dans Blender, il y a deux moyens de faire du flou cinétique. La première méthode – celle qui produit les meilleurs résultats – fonctionne en rendant jusqu'à seize fois la "même" image, avec à chaque fois un léger décalage temporel, puis en rassemblant toutes ces images en une seule; il s'agit du "vrai" flou cinétique, il est activé dans le panneau Render. La seconde méthode – bien plus rapide – est le nœud de compositing Vector Blur.

Pour utiliser cette méthode, connectez au nœud Vector Blur les canaux appropriés (Image, Z et Speed) d'un nœud Render Layers.

Note
Assurez-vous d'avoir activé les passes de rendu appropriées dans le panneau Render Layers: Vec (la vitesse) et Z.


Maximum Speed: à cause de la manière dont fonctionne le flou vectoriel, il peut produire des stries, des lignes et autres artefacts. Ils proviennent essentiellement des pixels se déplaçant trop vite; pour combattre ces problèmes, le filtre dispose des réglages Minimum et Maximum Speed, qui permettent de limiter les pixels floutés (par ex., si un pixel se déplace très, très vite, et que vous avez un réglage Maximum Speed modéré, il ne sera pas flouté).

Minimum Speed: Tout particulièrement lorsque la caméra elle-même bouge, le masque créé par le nœud Vector Blur peut devenir l'image entière. La solution la plus simple consiste alors à introduire une petite "zone tampon" pour les pixels mobiles, ce qui permet de séparer efficacement les pixels quasiment immobiles de ceux réellement en mouvement, et donc de créer des masques valables. Cette vitesse minimum est donnée en pixels/image. Une valeur de 3 devrait suffire à séparer clairement le fond du premier plan.

Astuce
Vous pouvez rendre vos flous cinétiques un peu plus doux en passant les données Speed à travers un nœud Blur (notez cependant que cela peut donner des résultats étranges, c'est donc surtout une bonne idée pour les images fixes avec beaucoup de flou cinétique).


Exemples

Une vision plus approfondie de l'usage du nœud Vector Blur dans Blender peut être trouvée ici.

Pour ce que nous en savons, ce nœud représente une nouvelle approche de calcul de flou cinétique (release notes en anglais). Utilisez le Vector Blur lors du compositing en toute confiance en lieu et place du Motion Blur, mais gardez à l'esprit que, si vous utilisez des images ne comportant pas de composante "vitesse" (des vidéos "normales", par exemple), le nœud Vector Blur ne pourra les flouter, puisque pour lui il n'y a aucun mouvement "réel"…

Dans ce fichier d'exemple .blend, vous trouverez une main animée par une armature descendant pour attraper une balle. En fonction du mouvement de la main (enregistré dans le canal Speed Vector), l'image est floutée dans la direction de celui-ci. Les doigts les plus proches de la caméra (Z le plus petit) sont plus floutés, et la partie la plus éloignée (l'avant-bras) est la moins floutée.

Bugs connus

Blender 2.44+

Ne fonctionne pas avec les données vectorielles enregistrées dans les images OpenEXR multi-couches.

Nœud "Dilate/Erode"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersDilate/Erode

Nœud Dilate/Erode.

Ce nœud floute des canaux de couleur individuellement. Le canal couleur (ou l'image N&B) est connecté(e) à la prise d'entrée Mask, et la Distance est réglée manuellement (clic sur les flèches ou sur la valeur) ou via un nœud Value ou un système TimeMap Value. Une valeur positive de Distance élargit/augmente l'influence d'un pixel sur ses voisins, créant ainsi un flou sur ce canal (cette couleur). Une valeur négative diminue son influence, augmentant le contraste du pixel avec ses voisins et durcissant l'image du canal.

Exemple

Nuance magenta.

Dans l'image d'exemple ci-contre, nous voulons donner un coup de jeune à cet ensemble assez triste de billes de roulement. Donc, nous "dilatons" le rouge et "érodons" le vert, sans toucher au bleu. Si nous avions dilaté les deux canaux rouge et vert… (indice: rouge et vert, ça donne du jaune). On "dilate" en augmentant la valeur de Distance, on "érode" en la diminuant. (fichier .blend correspondant).

Nœud "Defocus"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAFiltersDefocus

Ce nœud peut être utilisé pour émuler la profondeur de champ pendant le post-processing. Il peut aussi être utilisé pour flouter l'image d'autres manières, pas nécessairement basé sur la "profondeur", en connectant autre chose qu'un Z-Buffer. Cependant, son usage premier est de flouter les zones de l'image en fonction de l'"image" d'entrée Z-Buffer.

Réglages de la caméra

Réglage DoFDist pour la caméra.

Le nœud Defocus utilise les données de la caméra active dans votre scène si votre image provient d'un nœud RenderLayer.

Le point focus est réglé par le paramètre de caméra DoFDist ("Depth of Field Distance", Distance de profondeur de champ). Ce paramètre permet de régler le plan focal de la caméra – les objets à la distance DoFDist de la caméra seront nets. Réglage situé dans le panneau Edit de la caméra, juste sous le bouton Lens.

Pour rendre le point focal visible, activez l'option Limits, une croix jaune sur l'axe de la caméra matérialise alors le point focal.

Entrées du nœud

Nœud Defocus.

Le nœud prend deux entrées, une image et un Z-Buffer, ce dernier pouvant être en fait autre chose qu'un Z-Buffer: n'importe quelle image mono-canal (nuances de gris, …) peut être utilisée comme masque, ou même une seule valeur, produite par exemple par un nœud Time, pour avoir un flou uniforme variant au cours du temps.

Réglages du nœud

Les réglages sont:

Menu type de Bokeh
Type de diaphragme virtuel de la caméra (nombre de lames de l'iris): il peut émuler un disque parfait (Disk, nombre de lames infini!), ou une iris à 3 (Triangle), 4 (Square), 5 (Pentagon), 6 (Hexagon), 7 (Heptagon) ou 8 (Octogon) lames. On ne va pas au-delà de huit lames, car la différence d'avec le disque parfait devient alors imperceptible.
Rotate
Bouton invisible si l'iris parfaitement circulaire (Disk) a été choisie. Permet de donner un angle de rotation à l'iris, en degrés.
Gamma Correct
Comme avec l'option Gamma du nœud Blur. Permet par exemple d'augmenter la luminosité des points lumineux de l'image (augmentation de l'effet bokeh).
Nœud Defocus utilisant un Z-Buffer.
fStop
C'est le paramètre le plus important dans le contrôle de la quantité de flou focal: il simule l'ouverture f (de l'iris) d'un objectif réel – sans faire varier la luminosité de l'image, cependant! Rappelons que plus f est grande, plus l'iris est fermée et plus le champ de mise au point (l'espace dans lequel l'image est considérée comme nette) est grand. La valeur par défaut (128) est assimilée à une ouverture infinie(ment fermée), et donc toute l'image est parfaitement nette. Réduire de moitié cette valeur doublera la quantité de flou. Ce réglage n'est pas disponible si No zbuffer est activé.
Maxblur
À utiliser pour limiter la quantité de flou dans les zones de l'image les plus floues. Cette valeur représente le rayon de flou maximal autorisé. Son utilité vient du fait que plus le rayon de flou est grand, plus le temps de calcul augmente. En réglant cette valeur, vous pouvez réduire le temps de post-processing, par exemple lorsque l'arrière-plan du monde est visible, qui tend généralement à être la zone de flou maximum (pas toujours vrai, des objets très proches de l'objectif peuvent être encore plus flous). La valeur par défaut de 0 signifie qu'il n'y a pas de limite à la quantité de flou.
BThreshold
Le nœud Defocus n'est pas parfait, et des artefacts peuvent apparaître. Par exemple, un objet dans le plan focal (net) devant un arrière-plan flou ayant tendance à "baver" sur les bords nets de l'objet. Pire encore, si l'arrière-plan est celui, très éloigné, du monde: les différences de distance sont énormes et le résultat peut être très mauvais. Le nœud essaye de prévenir ces problèmes en vérifiant que la différence de flou entre pixels (adjacents) ne soit pas trop grande: la valeur entrée ici permet de contrôler la différence maximale de flou considérée comme "sûre". Tout ceci est probablement un peu confus (oserais-je dire flou?), mais, fort heureusement, il n'y a généralement pas besoin de modifier la valeur par défaut de 1. Touchez-y uniquement si vous rencontrez des problèmes autour d'un objet dans le plan focal.
Preview
Comme déjà mentionné, le post-processing peut être long avec ce nœud. Pour permettre une édition des paramètres quelque peu "interactive", il y a un mode preview (prévisualisation) que vous pouvez activer avec ce bouton. Le mode preview produira le flou à partir d'un nombre limité d'échantillons (quasiment) aléatoires, ce qui est beaucoup plus rapide que le mode "parfait" utilisé autrement. Ce mode tend également à produire des résultats semblables à ce qu'un ray-traceur comme YafRay peut donner: des images bruitées, granuleuses (cependant, plus vous utiliserez d'échantillons, meilleur sera le résultat). Cette option est activée par défaut, jouez avec les autres paramètres jusqu'à ce que le résultat vous satisfasse, puis désactivez le mode "preview" pour le rendu final.
Samples
Seulement visible lorsque Preview est activé. Règle le nombre d'échantillons (samples) à utiliser pour réaliser le flou. Plus il y en a, plus l'image sera "propre" et le temps de calcul long. Pour la prévisualisation le réglage par défaut de 16 devrait être suffisant (c'est le plus rapide).
No zbuffer
Parfois, vous voudrez avoir plus de contrôle sur le flou de l'image, par exemple flouter un seul objet, ou au contraire tout flouter sauf un objet, ou encore flouter toute l'image uniformément.
Le nœud vous permet pour cela d'utiliser autre chose qu'un "vrai" zbuffer en entrée Z. Par exemple, vous pouvez y connecter un nœud Image et utiliser une image en niveaux de gris dont la luminosité donne la quantité de flou pour un pixel donné (blanc pour un flou maximum, noir pour une netteté totale). Ou vous pouvez y connecter un nœud Time pour flouter uniformément l'image, avec une quantité de flou variant avec le temps. Vous pouvez aussi l'utiliser pour obtenir un flou focal sensiblement amélioré, en utilisant une "fausse" image de profondeur (un zbuffer artificiel) à la place du "vrai" zbuffer de la scène. (Une méthode classique pour créer cette image est d'utiliser une texture avec un dégradé linéaire pour tous les objets de la scène, ou bien d'utiliser la méthode "fog/mist"). Cela présente comme avantage supplémentaire que l'image de profondeur artificielle peut être anti-aliasée, ce qui n'est pas possible avec un vrai zbuffer.
No zbuffer est automatiquement activé dès que vous connectez à Z un nœud qui n'est pas de type image (par ex. un nœud Time, Value, etc).
Zscale
Seulement visible lorsque No zbuffer} est activé. Quand No zbuffer est utilisé, l'entrée Z est directement utilisée comme rayon de flou. Et comme généralement, ces valeurs en entrée sont comprises entre 0.0 et 1.0 (cas des textures, par ex.), cela ne permet pas un contrôle correct du flou. Ce paramètre peut être utilisé pour augmenter (par multiplication) l'étendue des valeurs en entrée (valeur supérieure à 1.0), ou d'ailleurs la réduire (valeur comprise entre 0.0 et 1.0). En fait, lorsque No zbuffer est activé, ce paramètre devient le principal contrôle du flou, de la même manière que fStop quand vous utilisez un zbuffer.


Exemple

Manual-Node-Defocus-example.jpg

Dans ce fichier .blend d'exemple, l'image du "champ" de billes est floutée comme si elle avait été prise par un appareil avec une ouverture f de 2.8 donnant une profondeur de champ fort réduite centrée à 7.5 BU de la caméra. Plus les billes sont éloignées, plus elles sont floues.

Astuces

Preview
En règle générale, utilisez le mode preview, modifiez les paramètres à votre goût, puis désactivez le mode preview pour le rendu final. Ce nœud est très gourmand en temps de calcul, regardez donc la fenêtre console pour suivre son application…
Artefacts sur les bords
Pour réduire les artefacts, essayez de réaliser votre scène de manière à ce que la différence de distance entre deux objets pouvant se superposer dans le rendu ne soit pas trop grande. Gardez à l'esprit qu'il ne s'agit pas ici de vraie profondeur de champ, seulement d'une simulation en post-processing. Certaines choses ne peuvent être réalisées, qui ne poseraient aucun problème en profondeur de champ réelle. Un exemple classique est une scène dans laquelle des objets seraient très proches de la caméra, celle-ci mettant au point à l'infini. Dans le monde réel, en utilisant une profondeur de champ assez faible (petit f), il n'est pas impossible que les objets au premier plan deviennent partiellement transparents, permettant à la caméra de voir "derrière" eux. C'est tout simplement impossible à faire en une seule passe avec la méthode de post-processing actuelle. Si vous voulez vraiment réaliser cet effet, la seule manière est de diviser votre scène en deux avec d'un côté les objets proches et de l'autre les objets lointains, de rendre et faire le post-processing de chacune d'elles séparément, puis de combiner le résultat.
Aliasing pour de faibles valeurs de fStop
À de très faibles valeurs (inférieures à 5) d'ouverture (fStop), le nœud commencera à enlever l'OSA et rendre les objets dans le plan focal (DoFDist) excessivement nets. S'ils ont un fort contraste avec l'arrière plan, cela peut donner un effet d'escalier (aliasing), sensément éliminé par l'OSA. Si vous rencontrez ce problème, vous pouvez:
  • Faire votre propre OSA en rendant le tout à deux fois la taille cible, puis en rapetissant le résultat (ce qui mélange les pixels voisins);
  • Utiliser le nœud Blur avec un réglage de 2 pour X et Y;
  • Déplacer quelque peu le plan focal (DoFDist) pour flouter très légèrement les objets "nets";
  • Utilisez une valeur de fStop supérieure, ce qui créera un premier flou, puis utilisez le canal Z (profondeur), via un nœud MapValue, comme valeur d'un nœud Blur, pour compléter l'effet de flou;
  • Réarrangez les objets dans votre scène pour obtenir un faible contraste avec l'arrière plan.
No ZBuffer
Un mot d'avertissement pour finir: puisque qu'il n'y a aucune manière de vérifier qu'un zbuffer réel est connecté au nœud, soyez très prudent avec l'option No zbuffer, si la valeur de Zscale se trouve être élevée, et que vous oubliez de la ramener à une valeur plus raisonnable, les valeurs entrées en Z seront alors interprétées comme d'énormes rayons de flou, ce qui entraînera des temps de calcul colossaux… et il n'y a pas pour le moment de moyen de stopper ces calculs avant leurs fin, à moins de "tuer" Blender… On vous aura prévenu!