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.

Occlusion Ambiante

Mode: Tous les modes

Panneau: Amb Occ (contexte Shading, sous-contexte World, F8)

Description

L’occlusion ambiante (“Ambient Occlusion”) est une technique sophistiquée, basée sur le raytracing, qui simule une douce illumination globale (via un effet de “coin sombre” généralement dû à la diffusion de la lumière par l’accumulation de poussière et de saletés). Cela a donc pour effet d’assombrir les fissures, les coins et les points de contact ; c’est pour cela que l’occlusion ambiante est souvent appelée “dirt shader” (“ombreur de la crasse”) !

Il n’existe rien de tel que l’AO (pour “Ambient Occlusion”) dans le monde réel, il s’agit d’un “truc” de rendu “physiquement-incorrect” (mais qui donne généralement de bons résultats). Fondamentalement, il crée une hémisphère autour de chaque point d’une face, teste la proportion de cette hémisphère occluse (cachée) à ce point par les différents objets de la scène, et ombre le pixel correspondant en conséquence. L’AO n’a rien à voir avec l’éclairage, ce n’est vraiment qu’un effet de rendu qui tend à donner de bons résultats car, dans le monde réel, des surfaces proches les unes des autres (comme dans des fissures) seront généralement plus sombres que des surfaces dégagées, à cause des ombres, saletés, poussière, etc. L’AO ne fait cependant qu’approximer ce résultat, elle ne simule pas les réflexions/transparences subies par la lumière. C’est pourquoi l’AO fonctionne même quand vous n’avez aucune lumière dans votre scène, et c’est également pourquoi se contenter d’activer l’AO sans ajouter de lampes est une très mauvaise manière d’“éclairer” une scène.

Vous devez activer le raytracing dans le panneau Render (contexte Scene, F10, sous-contexte Render) pour que cet effet fonctionne.

Le panneau World avec les curseurs de couleur ambiante surlignés.

Vous devez avoir une couleur de lumière ambiante (contexte Shading, sous-contexte World, F8, curseurs AmbRGB) réglée à votre convenance. Par défaut, celle-ci est noire, simulant un sous-sol à minuit pendant une panne de courant. Utiliser cette couleur ambiante assombrira toute votre image. Une bonne couleur d’extérieur à la mi-journée est RGB(0.9, 0.9, 0.8), ce qui correspond à un beau jour ensoleillé (ciel bleu).

Options

Le panneau Amb Occ, sélection de la méthode.

L’occlusion ambiante a quelque peu évolué dans Blender 2.49. Vous disposez maintenant de deux méthodes principales : Raytrace et Approximate. Pour ceux qui connaissaient l’outil dans les versions précédentes (2.48 et antérieures), ils retrouveront quasiment les mêmes options (ayant le même comportement) en utilisant la méthode Raytrace, avec le générateur d’échantillons Constant Jittered.

Raytrace

Le panneau Amb Occ, méthode Raytrace.

La méthode Raytrace donne les résultats les plus justes, mais également les plus bruités. Vous pouvez certes obtenir une image quasiment sans bruit, mais au prix du temps de rendu… C’est la seule option possible si vous voulez utiliser les couleurs de la texture de votre ciel.

Vous disposez des trois options standard de sampling :

Échantillonnage Constant QMC.
Constant QMC
La distribution Quasi-Monte Carlo de base, qui donne des rayons répartis uniment et aléatoirement.


Échantillonnage Adaptive QMC.
Adaptive QMC
Une version améliorée de QMC, qui essaye de déterminer quand le sampling peut être réduit ou ignoré, en fonction de ses deux réglages :
Threshold
La limite en dessous de laquelle l’échantillon est considéré comme totalement occlus (“noir”) ou non-occlus (“blanc”), et donc ignoré.
Adapt Vec
Un facteur de réduction du sampling AO sur les pixels en mouvement rapide. Puisqu’il utilise la passe de rendu Vec, celle-ci doit être activée (voyez la page sur les passes de rendu).
À propos de QMC
Voyez aussi la page sur les ombres ray-tracées pour plus d’info sur la méthode d’échantillonnage Qausi-Monte Carlo.


Constant Jittered
La méthode d’échantillonnage historique, plus sujette aux artefacts de “bias”…
Bias
L’angle (en radians) de réduction de l’hémisphère (c-à-d que l’hémisphère ne sera plus une vraie hémisphère : sa section ne sera plus un demi-cercle, mais un arc de cercle d’ouverture “pi - Bias” radians).
Le réglage Bias vous permet de contrôler l’aspect lissé des faces Smooth dans l’AO. Puisque l’AO est calculée avec les meshes “à facettes” d’origine, il est possible que la lumière de l’AO rende les faces visibles même sur un objet avec le Smooth activé. Cela est dû à la manière dont les rayons sont émis, et peut être réglé avec le curseur Bias. Notez que même si cela peut se produire avec un sampling QMC, c’est bien plus visible avec la méthode Constant Jittered – et de toute façon, vous n’avez pas d’option Bias pour QMC…
Échantillonnage Constant Jittered.
Sphère UV 24×24 avec Bias à 0.05 (valeur par défaut). Notez les facettes à la surface de la sphère bien qu’elle soit réglée en Smooth.
Augmenter Bias à 0.15 enlève les artefacts des facettes.
Samples
Le nombre de rayons utilisés pour détecter si un objet est occlus. Un plus grand nombre de samples donne des résultats plus doux et précis, au prix d’un temps de rendu plus important. La valeur par défaut (5) est généralement suffisante pour les prévisualisations. Le vrai nombre de rayons émis est le carré de cette valeur (c-à-d que Samples à 5 donne 25 rayons). Les rayons sont émis vers l’hémisphère du ciel selon une répartition aléatoire, ce qui cause des différences dans la distribution de l’occlusion entre pixels voisins, sauf si le nombre de rayons émis est suffisant pour produire des données exploitables statistiquement.
Occlusion ambiante avec 3 Samples.
Occlusion ambiante avec 6 Samples.
Occlusion ambiante avec 12 Samples.
Max Dist (précédemment Dist)
La longueur des rayons d’occlusion. Plus cette distance est grande, plus la géométrie éloignée aura d’influence sur l’effet d’occlusion. Une plus forte valeur de Dist conduit aussi le moteur de rendu à explorer un plus grand espace pour l’occlusion, donc le temps de rendu peut être optimisé en réduisant autant que possible – pour l’effet que vous voulez obtenir – cette distance.


Approximate

Le panneau Amb Occ, méthode Approximate.

La méthode Approximate (“approximer”) donne un résultat bien plus lisse, doux, pour un même temps de rendu, mais comme son nom l’indique, il ne s’agit que d’une approximation de la méthode Raytrace, ce qui implique qu’elle peut produire des artefacts – et elle ne peut utiliser la texture du ciel comme couleurs de base…

Je ne sais pas précisément comment elle fonctionne, donc si vous en savez plus, n’hésitez pas à écrire ici (enfin, dans la version anglaise…) une courte description de l’algorithme…

Error
C’est un facteur de tolérance pour l’erreur d’approximation (c-à-d la différence maximale permise entre le résultat approximé et le résultat exact). Plus il est faible, plus le rendu est lent, mais plus les résultats sont précis… Valeur comprise entre 0.0 et 10.0, 0.250 par défaut.
Pixel Cache
Si activé, les valeurs des pixels calculés sont conservées, pour les interpoler dans les pixels voisins. Cela accélère encore le rendu, en général sans perte visible de qualité…

Cette méthode semble avoir tendance à “sur-occlure” les résultats. Vous disposez de deux options complémentaires pour réduire ce problème :

Passes
Définit le nombre de passes de pré-processing, entre 0 (pas de pré-processing) et 10. Je ne sais pas ce que fait ce pré-processing, cela dit…
Correction
Un facteur de correction réduisant la sur-occlusion. Valeur comprise entre 0.0 (pas de correction) et 1.0.


Réglages communs

Use Falloff (précédemment Use Distance
Une fois activé, la distance aux objets occlusifs influencera la “profondeur” de l’ombre. Cela signifie que plus une géométrie occlusive est éloignée, plus son “ombre” sera légère. Cet effet n’intervient que quand le facteur Strength est supérieur à 0.0. Il simule la dispersion de la lumière dans l’atmosphère…
Stength (précédemment DistF)
Contrôle l’atténuation des ombres activée avec Use Falloff. De plus hautes valeurs donnent des ombres plus courtes, car elles s’atténuent (“to falloff”) plus rapidement (ce qui correspond à une atmosphère plus brumeuse/poussiéreuse). Valeurs comprises entre 0.0 (par défaut, pas d’atténuation) et 10.0.


Mélange

L’étape d’occlusion ambiante est “compositée” avec les autres résultats du pipeline de rendu. Il y a trois modes de mélange :

Add
Chaque pixel reçoit de la lumière en fonction du nombre de rayons non-occlus. La scène est plus lumineuse.
Sub
Chaque pixel reçoit de l’ombre (ou lumière négative) en fonction du nombre de rayons occlus. La scène est plus sombre.
Both
Les deux effets prennent place. La scène est à peu près aussi lumineuse, mais plus contrastée.
Energy
L’importance de l’effet d’occlusion ambiante ; elle est multipliée avec la valeur de lumière (positive ou négative).
Note
Si Sub est sélectionné, il doit y avoir d’autres sources lumineuses, sinon la scène sera d’un noir d’encre. Dans les deux autres cas, la scène est éclairée même s’il n’y a aucune lumière explicitement présente, juste par l’effet d’AO. Bien que beaucoup de gens aiment à utiliser l’AO seule comme un moyen rapide d’éclairer une scène, les résultats seront voilés et plats, comme par un jour couvert. Dans la plupart des cas, mieux vaut éclairer la scène avec les lampes conventionnelles de Blender, puis utiliser l’AO par dessus, réglée sur Sub, pour les derniers détails et ombres de contact.


Couleur ambiante

L’occlusion ambiante peut prendre la couleur de sa lumière depuis les sources suivantes :

Plain
Chaque pixel reçoit un ombrage basé sur la couleur ambiante du monde (“world”).
Sky Color
Chaque pixel reçoit un ombrage basé sur la couleur du ciel du monde. Cette couleur est calculée à partir de la portion de ciel correspondant aux rayons non-occlus (Occlusion ambiante avec Sky Color. Le Zenith est bleu, l’Horizon est orange, et le type est Blend, de manière à ce que le nadir (point le plus bas) soit orange).
Sky Texture
Une texture de Sky Image doit être présente, par exemple une AngMap ou une SphereMap. Cela se comporte comme Sky Color mais la couleur des rayons dépend de la couleur des pixels de la texture Sky touchés (seulement disponible avec la méthode Raytrace).
Occlusion ambiante avec Sky Color. Le Zenith est bleu, l’Horizon est orange, et le type est Blend, de manière à ce que le nadir (point le plus bas) soit orange.
Occlusion ambiante avec Sky Texture, utilisant une réduction de la HDR AngMap de la Basilique St Pierre [1].


Détails techniques

L’occlusion ambiante est calculée en émettant des rayons depuis chaque point visible, et en comptant combien d’entre eux atteignent réellement le ciel, et combien sont bloqués par des objets.

La quantité de lumière sur le point est alors proportionnelle au nombre de rayons qui se sont “échappés” et ont atteint le ciel. Cela est fait en émettant une “hémisphère” de rayons. Si un rayons touche une autre face (il est “occlus”), il est considéré comme “ombre”, sinon, comme “lumière”. La proportion entre rayons “ombre” et “lumière” définit la luminosité d’un pixel donné.

Astuces

L’occlusion ambiante est une technique de raytracing, donc elle a tendance à être lente. De plus, les performances dépendent fortement de la taille de l’octree, voyez le chapitre sur le rendu pour plus d’informations.