Volumes¶
Le rendu de volumes peut être utilisé pour faire le rendu de divers effets qui ne peuvent pas être représentés par les seules surfaces dures.
La fumée, le feu ou les nuages sont mis en place en utilisant un objet de volume ou une simulation de fluide, avec seulement un shader de volume.
Des maillages peuvent également être utilisés pour créer de telles formes en supprimant le shader de surface par défaut et en utilisant un shader de volume avec la forme du maillage définissant les limites du volume et les textures définissant la densité du volume.
La brume est créée avec un shader de volume pour le world, ou avec un grand objet mesh englobant la scène.
L’absorption dans le verre est simulée en combinant un shader de surface de verre avec réfraction et un shader d’absorption de volume pour l’intérieur de l’objet.
Shading¶
Principled Volume¶
Principled Volume est un shader volume basé sur la physique qui peut être utilisé pour créer une large gamme de matériaux de volume. Il prend en charge la dispersion, l’absorption et l’émission dans un seul nœud facile à utiliser. Le Feu peut être rendu avec une émission de corps noirs.
Composants de volume¶
Pour plus de contrôle, les composants d’ombrage de volume peuvent être manuellement combinés dans une configuration de shaders personnalisée.
Volume Absorption va absorber une partie de la lumière quand elle passe à travers le volume. Ceci peut être utilisé pour ombrer par exemple de la fumée noire ou des objets de verre colorée, ou mélangé avec le nœud volume scatter. Ce nœud est semblable au nœud transparent BSDF, il bloque une partie de la lumière et laisse d’autres lumières passer directement à travers.
Volume Scatter laisse la lumière se disperser dans d’autres directions quand il frappe des particules dans le volume. L’anisotropie définit la direction dans laquelle la lumière a le plus de chances de se disperser. Une valeur de 0 laissera la lumière uniformément dans toutes les directions (semblable au nœud BSDF diffuse), des valeurs négatives laissent la lumière se disperser en grande partie vers l’arrière, et des valeurs positives laissent la lumière se disperser en grande partie vers l’avant. Ceci peut être utilisé pour ombrer de la fumée blanche ou des nuages par exemple.
Emission va émettre de la lumière depuis le volume, par exemple pour le feu.
Attributes¶
Dans le rendu de la fumée et du feu, Les attributs de volume sont utilisés pour définir la forme et l’ombrage du volume. Le shader Principled Volume va les utiliser par défaut, alors que les shaders de volume personnalisés peuvent utiliser le nœud Attribute pour obtenir des attributs tels que la densité, la couleur et la température.
Density¶
Tous les shaders de volume ont une entrée density. La densité définit la quantité de lumière qui va interagir avec le volume, absorbée ou dispersée, et la quantité qui va passer directement à travers. Pour des effets tels que la fumée, vous spécifieriez un champ density pour indiquer où dans le volume il y a de la fumée et sa quantité (density supèrieur à 0), et où il n’y a pas de fumée (density égal à 0).
Les volumes dans le monde réel consistent en particules, une densité plus grande signifie qu’il y a plus de particules par unité de volume. Plus de particules signifie qu’il y a une chance plus grande que la lumière entre en collision avec une particule et soit absorbée ou dispersée, plutôt que de passer directement à travers.
Mesh Volumes¶
Les maillages utilisés pour le rendu de volume doivent être fermés et Manifold. Cela signifie qu’il ne doit y avoir aucun trou dans le maillage. Chaque arête doit être reliée à exactement deux faces de sorte qu’il n’y ait pas de trous ou de faces en forme de T lorsque trois faces ou plus sont reliées à une arête.
Les normales doivent pointer vers l’extérieur pour des résultats corrects. Les normales sont utilisées pour déterminer si un rayon entre ou sort d’un volume, et si elles pointent dans une mauvaise direction, ou qu’il y a un trou dans la maillage, alors le moteur de rendu est incapable de déterminer ce qui est l’intérieur ou l’extérieur du volume.
Ces règles sont les mêmes que celles pour faire un rendu correct de la réfraction du verre.
World Volume¶
Un shader de volume peut également être appliqué au monde (world), en remplissant tout l’espace.
Actuellement, cette fonction est surtout utile pour les scènes nocturnes ou autres scènes sombres, car le shader de surface de world ou les lumières sun n’auront aucun effet si un shader de volume est utilisé. En effet, l’arrière-plan du world est supposé être infiniment éloigné, ce qui est suffisamment précis pour le soleil par exemple. Cependant, pour des effets de modélisation tels que le brouillard ou la diffusion atmosphérique, il n’est pas bon de supposer que le volume remplit tout l’espace, car la plus grande partie de la distance entre le soleil et la terre est un espace vide. Pour de tels effets, il est préférable de créer un objet de volume entourant la scène. La taille de cet objet déterminera la quantité de lumière diffusée ou absorbée.
Multiple Scattering¶
Les effets du monde réel tels que la dispersion dans les nuages ou le subsurface scattering exigent un grand nombre de rebonds de dispersion. Cependant, le rendu non biaisé de tels effets peut être bruité, aussi par défaut le nombre de rebonds est zéro dans Cycles, et aucun support n’est disponible dans EEVEE.. L’effet que vous obtenez avec un rendu avec zéro rebond de volume est ce qui est connu comme “single scattering”, l’effet d’un plus grand nombre de rebonds est “multiple scattering”.
Pour faire le rendu de matériaux tels que la peau ou le lait qui exigent le multiple scattering, le subsurface scattering est plus efficace et plus facile à contrôler. En particulier la méthode random walk peut faire un rendu précis de ces matériaux.
Pour des matériaux tels que les nuages ou la fumée qui n’ont pas de surface bien définie, le rendu de volume est requis. Ceux-ci ont meilleur aspect avec un grand nombre de rebonds, mais en pratique il se peut qu’on doive limiter le nombre de rebonds pour garder les temps de rendu acceptables.