From BlenderWiki
[edit] La profondeur de champ expliquée
Les caméras du monde réel, ou vos yeux, utilisent un objectif (la cornée pour les yeux) qui courbe, dévie la lumière, et un diaphragme (ou iris, comme pour les yeux) qui contrôle la quantité de lumière, pour projeter une image nette sur une pellicule, un capteur CCD/CMOS, ou la rétine. À cause des interactions objectif/diaphragme, les objets situés à une certaine distance sont nets, alors que ceux qui sont à l'avant plan ou à l'arrière plan sont flous. Cette distance est appelée profondeur ou "Z"-distance à la caméra ou à l'œil. Dans le monde réel, la lumière arrive à l'objectif selon un certain angle, une direction donnée. Ce que vous voyez dépend de votre perspective: si vous vous rapprochez, vous voyez la scène sous un autre angle et certaine de ses parties vous sont révélées. Pour obtenir des images "plates", comme une dessin architectural ou un diagramme, Blender peut aussi réaliser un rendu orthographique (Orthographic). Il y a donc (au moins) deux types de rendus: en perspective et orthographique. La perspective simule la vision naturelle, la lumière convergeant depuis le champ de vision (field of view) vers l'objectif, et l'orthographique (désactivé par défaut) simule une lumière "parallèle" arrivant sur un plan-capteur (ou rétine "plate") infiniment étendu.
En fonction de l'ouverture f de l'iris (fonction inverse de son diamètre: f:16 est beaucoup plus fermée que f:3.5!), il y a un espace dans lequel les objets sont nets. Dit autrement, il y a un "champ" de vision (ce que vous voyez de gauche à droite et de haut en bas: votre image, si vous voulez). Il y a un ensemble de distances, ou "profondeurs", dans lesquelles les objets sont nets. Ces deux éléments réunis forment la profondeur de champ (ou DoF, "Depth of Field" en anglais). Par exemple, de nuit, vous pouvez voir nets les objets situés entre 3 et 5 mètres. Tout ce qui est plus proche que 3 mètres ou plus éloigné que 5 mètres de vos yeux est flou. Votre profondeur de champ est donc de 2 mètres. Plus le diaphragme est ouvert (c-à-d f est petit, pour un objectif), plus la profondeur de champ est réduite. C'est pourquoi, de jour (donc avec beaucoup de lumière), vous pouvez voir net sans efforts sur une grande plage de distance. Dans le tournage des films, il y a une personne dont le boulot est de mesurer la distance entre la caméra et le nez de l'acteur, pour s'assurer que la mise au point soit parfaite. Plus un objet s'éloigne de cette distance optimale (appelée "plan focal"), plus il est flou. En fait, la profondeur de champ est l'espace de part et d'autre du plan focal dans lequel le flou des objets est considéré comme étant suffisamment faible pour être imperceptible. Dans Blender, cette distance au plan focal est appelée Dof Dist (pour Depth of Field Distance), et est réglée dans les boutons Editing (F9) de la caméra. Vous pouvez aussi choisir de garder la mise au point de la caméra en permanence sur un objet, en entrant le nom de celui-ci dans le champ Dof Ob:.
[edit] Profondeur de champ et focale
La profondeur de champ varie également avec la focale de l'objectif. Avec les caméras, une focale de 35mm est une sorte de standard, car l'image qu'elle donne est semblable à celle de la vision humaine (c-à-d champ de vision similaire), et que les prises de vue peuvent être assez rapprochées du sujet. Dans Blender, utilisez les réglages Camera pour modifier la focale (35mm par défaut). Une focale plus longue prenant une image plus éloignée donne (plus ou moins) le même cadrage, mais avec une perspective différente que beaucoup de réalisateurs apprécient, car cela "condense" et adoucit (NdT:? "to smooth a sweep"???) la scène, puisqu'on est plus éloigné de l'action:
[edit] Zoom dans Blender
Zoomer permet d'agrandir une partie de l'image; nous autres humains n'avons pas cette possibilité. Ah non, je retire ce que je viens de dire: nous devons juste nous lever et marcher vers ce que nous voulons voir de plus près. Blender vous permet de faire les deux: vous pouvez rapprocher/éloigner la caméra d'un objet pour faire un "travelling" avant/arrière (track in/out), et/ou modifier sa focale pour (dé-)zoomer. Vous pouvez animer/contrôler tout ça en assignant des courbes Ipo à l'objet ou à la caméra, respectivement.
[edit] Profondeur de champ en image de synthèse
En image de synthèse (CG, pour Computer Graphics), il n'y a pas d'objectif ni d'iris physiques, donc la profondeur de champ est infinie et tous les objets sont toujours nets. Cependant, pour des raisons artistiques, nous voulons que nos personnages principaux soient nets et que tout le reste soit (légèrement) flou, de manière à ce que l'attention des spectateurs ne se disperse pas dans l'arrière plan. Il est de surcroît plus facile de distinguer les personnages principaux quand ils sont les seuls à être nets. Donc, nous devons créer un Effet de Profondeur de Champ, lors du compositing, pour donner à nos images un aspect plus réaliste.
[edit] Principes pour réaliser un effet DoF
Le principe est de récupérer des données dans notre scène, spécifiquement les Z-valeurs, et de les utiliser pour flouter les objets situés au-delà ou en-deçà de l'espace défini par notre profondeur de champ. Plus ils sont éloignés de cet espace, plus ils sont flous. Nous combinons alors ces deux images (c-à-d flou du premier plan + flou du fond).
[edit] Les outils de Blender
Blender v2.43 a un nœud Defocus, qui rend assez inutile le système de nœuds décrit ici. Cependant, les informations sur le flou sélectif peuvent se révéler intéressantes. Suivez le lien ci-dessus pour des exemples d'utilisation du nœud Defocus.
[edit] Vieille école (Blender v2.42)
Au bout du compte, nous voulons faire passer nos Z-valeurs par deux nœuds Map Value en parallèle, l'un pour le premier plan, l'autre pour l'arrière plan; la sortie de chacun de ces nœuds est (si vous la visualisez) une image en niveaux de gris où plus les objets sont hors-focus, plus ils sont blancs (ceux qui sont "dans" la profondeur de champ sont noirs – 0.0). Nous envoyons ensuite ces Z-valeurs modifiées vers deux nœuds Blur pour obtenir deux images, l'une avec l'avant plan flouté, l'autre avec l'arrière plan flouté.
Vous vous rappellerez que le nœud d'entrée RenderLayer émet une carte des Z-valeurs. Cette "carte", image, donne l'éloignement de chaque pixel par rapport à la caméra.
Le nœud vecteur Map Value est le nœud clé pour transformer ces Z-valeurs en quelque chose que le nœud filtre Blur puisse utiliser pour flouter graduellement les objets à mesure qu'ils sortent du champ de mise au point.
Le nœud couleur Z-Combine rassemble les deux images en déterminant celle qui est devant l'autre grâce aux Z-valeurs fournies par les deux nœuds Map Value.
[edit] Flouter l'avant plan
Vous vous rappelez peut-être que la page précédente vous indiquait comment flouter l'arrière plan de votre image. Nous y avons vu que, pour commencer à flouter les objets à partir d'une certaine distance de la caméra, par exemple 10 unités, nous utilisions l'Offset pour soustraire 10 (aux Z-valeurs), donnant à tous les objets à moins de 10 unités une Z-valeur inférieure à zéro, interprétée par le nœud Blur comme aucun flou. Nous utilisions la valeur de Size comme multiplicateur pour répartir les Z-valeurs restantes de 0.0 (pas de flou) à 1.0 (flou maximum).
Nous voulons maintenant flouter les objets les plus proches de la caméra, à partir de, par exemple, 10 unités. Là aussi, l'Offset soustrait une distance des Z-valeurs, puis le Size les multiplie par une certaine valeur. Donc, si nous soustrayons 10 d'un objet situé à 5 unités de la caméra, nous obtenons une Z-valeur de -5. Il faut alors utiliser une valeur de Size négative pour rendre positives ces valeurs négatives (et vice-versa: les objets plus éloignés que 10 unités auront alors des Z-Valeurs négatives et ne seront donc pas du tout floutés). Lorsque nous envoyons ces valeurs à un nœud Blur, ce dernier floutera les objets à l'avant plan.
[edit] Combiner avec un arrière plan flouté
Sélectionnez par Boîte et Shift Dupliquez le système de nœud de la page précédente (Flouter l'arrière plan), et rajoutez-le comme ci-dessous:
Ici, le système de nœud de départ (en bas de l'image) floute l'arrière plan. Dans le système de nœuds qui floute l'avant plan (haut de l'image), la Size est rendue négative. Les deux images floutées sont alors rassemblées via un nœud Z-Combine. L'arrière plan, du nez de la Suzanne mauve à l'oreille du sixième singe, s'étend sur 5 unités: 1/5 = 0.200, la Size pour le système de flou d'arrière plan. Du nez de la Suzanne mauve au front du premier singe, il y a 3 unités: 1/3 = 0.333, la Size dans le système de flou d'avant plan.
[edit] Pourquoi ça marche?
Notez que les Z-valeurs modifiées par le nœud Map Value d'arrière plan sont envoyées comme Z-valeurs de l'avant plan pour le nœud Z-Combine, et vice-versa. Nous faisons cela car dans le système de flou d'avant plan, le nœud Map Value donne des valeurs négatives pour les objets d'arrière plan; le système de flou d'arrière plan donne des valeurs positives pour les objets d'arrière plan. Alors que les valeurs positives indiquent au nœud Blur ce qu'il doit flouter, le nœud Z-Combine garde le pixel ayant la valeur la plus faible (en l'occurrence, la valeur négative). C'est pourquoi ce "croisement" est nécessaire pour que le nœud Z-Combine sélectionne la partie floue de l'image d'arrière plan, et celle de l'image d'avant plan.
Profondeur de champ
Dans l'exemple ci-dessus, la profondeur de champ est de -9.50 moins -10.50, soit 1 Unité Blender. Et oui, chère tante Sally, une valeur négative moins une valeur encore plus négative vaut une valeur positive (NdT: autrement dit,
-x - -y = -x + y = y - x , > 0 si y > x, donc si -x > -y, CQFD!). |
[edit] Travailler avec ce système
Vous pouvez varier les tailles (Size), facteurs de flou et méthodes de mélange des arrière plan et avant plan de manière indépendante pour améliorer l'impact de l'image. Modifier l'Offset déplace le plan focal. Éloigner les Offsets des nœuds Map Value d'avant et d'arrière plan augmente la profondeur de champ. Utiliser de plus grandes valeurs pour Size augmente la rapidité avec laquelle le flou progresse, hors de l'espace net, et augmenter les valeurs X & Y des nœuds Blur augmente l'intensité du flou.
Si vous déplacez la caméra et/ou les objets à garder nets, vous devrez modifier en conséquence les valeurs d'Offset (et éventuellement celles de Size).
[edit] L'éclairage tient une place importante
Gardez à l'esprit que l'éclairage est également crucial, et qu'un spot devrait être braqué sur les acteurs importants. Dans le monde réel, ajouter de la lumière à une scène permet au cameraman de fermer son objectif (f plus grand), ce qui donne une plus grande profondeur de champ et corrige l'exposition. Vous pouvez simuler l'augmentation de DoF sans avoir à vous préoccuper de la lumière, simplement en éloignant les deux Offsets.
Les clips musicaux en particulier retardent la fermeture du diaphragme lors de l'augmentation de lumière (correction automatique de l'exposition), ce qui donne une sorte d'effet de "fondu au blanc en ouverture avec augmentation simultanée de la profondeur de champ" très accrocheur. Vous pouvez simuler cela simplement en "animant" vos lampes pour réduire leurs énergies tout en augmentant la DoF avec les Offsets.
[edit] Étendre cet effet
Il est aussi possible d'étendre les possibilités de ce système de nœud en ajoutant des nœuds pour "durcir", améliorer, éclaircir, colorer, etc., l'avant plan ou l'arrière plan. Ces différents réglages et modifications du système donneront des résultats plus ou moins bons, suivant la scène, la forme des objets floutés, et ce que vous voulez garder net. Le nœud de sortie Viewer peut vous afficher les Z-valeurs passées par les nœuds Map Value comme des images en niveaux de gris: reliez simplement cette valeur à la prise d'entrée Image du Viewer, et vous aurez une représentation du canal, avec du noir pour les valeurs inférieures ou égales à zéro, du blanc pour celles supérieures ou égales à un, et un dégradé de gris pour les autres.
[edit] Garder votre bureau bien rangé
Pour épargner l'espace de votre fenêtre et de votre bureau, rappelez-vous que tous les nœuds peuvent être réduits et rassemblés. Le contenu de la fenêtre peut également être zoomé et déplacé dans celle-ci. Enfin, le fenêtre UV/Image Editor peut afficher la même chose que les nœuds Viewer, en plus grand, en sélectionnant Viewer Node dans la liste déroulante IM:.
[edit] Exclure des objets de l'effet DoF
Pour ne pas inclure des objets de votre scène dans l'effet de profondeur de champ, vous devez les déplacer vers un autre calque de rendu, puis mélanger les résultats du système de nœuds DoF avec les sorties des autres nœuds Render Layer. Vous pouvez utiliser cet effet spectaculaire pour avoir un acteur au premier plan net, au milieu d'une foule floue, avec un seul acteur (menaçant) loin à l'arrière plan mais toujours parfaitement net. Bien sûr, vous pouvez avoir plusieurs plans focaux au sein de la même image en divisant simplement votre image en plusieurs RenderLayers et en leurs appliquant à chacun un effet DoF.
[edit] Récupérer la distance exacte du plan focal
Il existe un script Caliper (NdT: ?) qui mesure la distance entre deux objets. Utilisez ce script pour mesurer la distance entre la caméra et l'objet que vous voulez dans le plan focal (mise au point parfaite). Utilisez cette distance comme valeur moyenne entre vos Offsets des nœuds Map Value d'avant et d'arrière plan.
[edit] Appliquer l'effet DoF aux animations
Le système de nœuds ci-dessus prend une image nette et son canal Z, et floute la première en fonction du second. Vous pouvez ensuite sauvegarder (F3) votre image. Cependant, vous pourriez vouloir appliquer l'effet DoF à l'image dans un second temps. Dans ce cas, rendez et sauvegardez votre(vos) image(s) dans un format conservant les Z-valeurs, sans appliquer le compositing (bouton Do Composite désactivé). Bon, vous pourriez activer Do Composite et utiliser d'autres systèmes de nœuds pour réaliser des choses fantastiques…
Blender enregistre le résultat d'un rendu dans le format spécifié dans le panneau Format des boutons Render. Pour pouvoir appliquer l'effet DoF ultérieurement, vous devez simplement enregistrer votre(vos) image(s) dans un format conservant le canal Z:
- OpenEXR (assurez-vous d'activer Zbuf et RGBA).
Réduire la taille d'un fichier EXR
Vous pouvez activer le format Half (16 bits) pour réduire l'occupation de votre disque.
|
Vous ne pouvez utiliser aucun des codecs vidéo, car (au moment d'écrire ces lignes) aucun ne supporte de canal Alpha ni Z-buffer (oubliez donc les conteneurs AVI, Quicktime, etc.). Les formats d'image "plats" (JPG, PNG, GIF, BMP, Targa, TIFF, …) ne conservent pas non plus de Z-valeurs – et pour certains, même pas d'Alpha. Certains formats prétendant supporter un Z-buffer ne fonctionnent pas non plus:
- Radiance HDR;
- Iris+Zbuffer.
Quand vous êtes prêt à appliquer votre DoF, utilisez le nœud d'entrée Image pour importer votre séquence d'images. Construisez le système DoF comme précédemment, activez Do Composite, modifiez l'emplacement de l'enregistrement du rendu, et cliquez sur le gros bouton ANIM. Blender va alors (très) rapidement appliquer le compositing DoF à toutes les images de votre séquence, d'un seul coup, comme montré ci-dessous:
Deux passes
Vous pouvez utiliser le format HDR en sauvegardant deux fichiers pour chaque image: un pour la couleur (RGBA), l'autre pour le canal Z (image en niveaux de gris). Pour cela, vous devez utiliser un système de nœuds qui relie la sortie Z du RenderLayer à l'entrée Image du Composite. Rendez ainsi la première passe: les fichiers image produits contiennent les Z-valeurs. Rendez ensuite la deuxième passe avec l'Image du RenderLayer vers l'Image du Composite. Pour appliquer le compositing DoF, utilisez deux nœuds d'entrée Image: l'un pour la séquence d'images "Z" (Image reliée aux nœuds Map Value), l'autre pour la séquence d'images RGBA (comme source Image du nœud Blur).
|
Redirects to fix
- Manual.fr/Compositing Blur the Background → Doc:FR/Tutorials/Composite Nodes/Setups/Blur the Background
- Manual.fr/Compositing Nodes Color → Doc:FR/Manual/Composite Nodes/Types/Color
- Manual.fr/Compositing Nodes Filters → Doc:FR/Manual/Composite Nodes/Types/Filter
- Manual.fr/Compositing Nodes Input → Doc:FR/Manual/Composite Nodes/Types/Input
- Manual.fr/Compositing Nodes Output → Doc:FR/Manual/Composite Nodes/Types/Output
- Manual.fr/Compositing Nodes Vector → Doc:FR/Manual/Composite Nodes/Types/Vector
- Manual.fr/Compositing Photo Enhancement → Doc:FR/Tutorials/Composite Nodes/Setups/Photo Enhancement
- Manual.fr/Render Layers → Doc:FR/Manual/Render/Layers










![[]](/skins/blender/open.png)
