Faire un AOV de translucence avec Guerilla
Par Narann le dimanche, 19 septembre 2021, 18:25 - Infographie 3D - Boulot - Lien permanent
La translucence est un effet couramment utilisé en rendu pour les surfaces fines ; feuilles, papiers, etc. Il permet de récupérer l’illumination et les ombres projetées d’un côté pour les projeter de l’autre.
Si vous utilisez Guerilla (ce que vous devriez faire… :siffle: ) vous avez peut-être remarqué que la translucence n’est présente dans aucun AOV de base.
Réponse courte
Vous avez des plans à sortir, pas l’temps d’niaiser. :grenadelauncher:
- Créez un AOV.
- Mettez C<TD>.*# dans Accept Expression.
- Rendez.
- C’est gentil d’être passé. :baffed:
Réponse illustrée
Si vous regardez du côté de la documentation des Light Path Expression (LPE), vous verrez qu’il est explicitement stipulé que la translucence ne fait pas partie de l’AOV de Diffuse :
Note that this expresion does not include the translucence, as it is categorized as <TD> for Transmitted Diffuse.
Ça me fait penser qu’il faudra vraiment que je fasse un vrai billet sur les LPE… :pasClasse:
Si votre boulot c’est de sortir des images, je vous invite à regarder et vous familiariser avec ce tableau qui liste ce que les AOVs de base représentent en termes de LPE.
Je vais prendre la scène d’exemple livré avec Guerilla dans : Help/Samples/Surface.
Créez l’AOV. Nommez-le comme vous voulez (Utilisez « Translucence » si vous n’êtes pas inspiré… :jdicajdirien: ) et mettez le light path expression C<TD>.*# dans Accept Expression :
Note : Vous devriez pouvoir mettre « Caustics » dans Ignore Expression pour être cohérent avec les AOVs de base, mais je ne suis pas sûr de moi, à vérifier. :reflexionIntense:
Arrêtons-nous un peu sur cette expression. :reflechi:
Les LPE sont un peu au lancer de rayon ce que les expressions régulières (regex) peuvent être aux chaînes de caractères. :redface:
Oui, donc il faut savoir ce que sont les regexs, mais si vous faites du lighting, je pars du principe que vous en avez déjà entendu parler. :youplaBoum:
Il y a trois types de propagation de rayons, chacune représenté par une lettre :
- Spéculaires « S ».
- Glossy « G ».
- Diffuse « D ».
Et quatre types de rayons :
- Réflexion « R » : Les rayons rebondissants sur la surface ; miroirs, parquets, métaux brossés, etc.
- Transmission « T » : Ou « Réfraction », Les rayons entrants dans la surface ; verre, feuilles fines (nos surfaces translucides, justement).
- Volume « V » : Les rayons entrants dans un volume ; fumée, nuages, etc.
- Intra-objet « O » : Les rayons se propageant dans l’objet lui-même (SSS).
Note : On pourrait caler un cinquième type pour les rayons de caméras « C », mais ce dernier ne peut pas se combiner à un type de propagation (c’est un rayon de caméra, point barre… :redface: ).
Et tout ça peut se mélanger :
- RS les réflexions brutes (miroirs).
- RG les réflexions douces (parquets, métaux brossés).
- RD les réflexions de diffuse (illumination indirect).
Pareil pour VS, VG, VD, etc. :hehe:
L’expression C<TD>.*# prend tous les rayons partant de la caméra (C), de type transmission diffuse (TD), quel que soit le type de rayon « après » <TD>.
Le « .* » est un caractère (le point) et un quantificateur (l’astérisque) :
- Le point est un caractère spécial voulant dire « n’importe quel rayon ».
- L’astérisque est un quantificateur s’appliquant au caractère qu’il précède et veut dire « aucune fois, 1 fois ou plus ».
Le dernier caractère « # » bloque l’expression qui ne peut aller plus loin (ça ne veut pas dire que le moteur s’arrête, juste que c’est cette partie du rayon qui sera stocké en AOV).
En gros, l’expression C<TD>.*# prends n’importe quel rayon venant de la translucence.
On a donc :
La Translucence direct : C<TD>#
La Translucence indirect : C<TD>.+#
Les deux (celle qu’on utilise ici) : C<TD>.*#
Si vous êtes habitué aux regex, vous devriez comprendre ces expressions, mais ça ne nous dit pas vraiment ce qu’il y a dedans…
La « Translucence direct », c’est l’illumination direct sur la surface opposée à ce qu’on voit. C.-à-d. la lumière (direct) et les ombres projetées sur la face opposée à notre regard.
La « Translucence indirect » c’est l’illumination indirect (la diffuse) sur la surface opposée à ce qu’on voit. En gros, l’équivalent à ce que sortirait l’AOV de Diffuse Indirect si on regardait la surface de l’autre côté.
Mettez une couleur de translucence à l’une des sphères (un vert pur, pour montrer que vous avez du goût :vomit: ) :
Puis rendez.
La Beauty :
L’AOV Translucence :
Et voilà ! En espérant que ça serve à quelqu’un !
À très bientôt !
Commentaires
Merci mon poto.
;-)