Travailler avec des speculars multiples.

Travailler avec des réflexions et des réfractions imbriquées n’est pas toujours simple. Il est parfois très difficile d’obtenir un résultat convainquant. Voici un petit pense-bête sur le rendu via Octane d’un liquide dans un verre.

Pour rappel, Octane render, comme d’autres moteurs de rendu unbiaised, respecte les propriétés physiques, comme l’indice de réfraction/réflexion (IOR) ou les propriétés de la lumière par exemple. Ce qui ne simplifie pas toujours la réalisation de ce type d’effet.

Tout le monde sait que le verre et l’eau ne sont pas les mêmes matières. La logique voudrait donc, pour construire en 3D de l’eau dans un verre, qu’on fasse un maillage de verre et un maillage d’eau – les vertex du maillage d’eau étant confondus dans l’espace 3D avec les vertex intérieurs du verre -, qu’on donne un matériau d’eau au maillage de l’eau avec un indice de réfraction correspondant et un matériau de verre au maillage de verre avec un autre indice de réfraction ad hoc. C’est très logique mais il ne faut pas oublier un petit détail…

Tout est affaire de chevauchement

Ce qui est logique n’est pas nécessairement la meilleure méthode. Les maillages épousant tellement précisément les bords de verre, les indices de réfraction se confondent, s’influencent l’un l’autre et finissent par donner une bouillie de polygones. Il n’est donc pas possible de rendre cet effet avec réalisme simplement en dédoublant le maillage au point de rencontre entre l’eau et le verre. Aussi précis soit le moteur de rendu, il ne peut atteindre ce degré de subtilité ni comprendre l’intention sous-jacente.

Verre et liquide: un exemple de mauvais résultat

Un exemple de mauvais résultat

Il y a donc un truc : augmenter la taille du liquide dune fraction de pourcent pour que le maillage du liquide et le maillage du verre se chevauchent très légèrement. Bien entendu, il faut aussi être très attentif aux indices de réfraction du verre et du liquide dans leurs matériaux respectifs pour un effet réaliste.

Verre et liquide: schéma de construction des normales du modèle

Verre et liquide: un rendu de base

Pour les éventuelles bulles à l’intérieur du liquide, il suffit de leurs donner le même matériau que le liquide (avec le même indice de réfraction) mais faire pointer les normales vers l’intérieur de la bulle (ainsi Octane identifiera l’intérieur de la bulle comme ayant un IOR théorique de 1 comme l’air). Rien de plus simple…

Verre et liquide: un rendu avec des bulles

Normalement avec cette technique, on devrait obtenir un bon résultat dans tous les cas. Ne pas oublier toutefois que pour un respect total des propriétés physiques il faut utiliser les modes pathtracing ou PMC dans le kernel d’Octane. Le mode Directlighting étant lui plus proche d’un raytracing classique, il est un peu moins précis avec ce type de jeux de transparence.

Si vous voulez tout de même utiliser ce mode, n’oubliez pas d’augmenter les paramètres de speculardepth et glossydepth pour un meilleur résultat. Pour accélérer le rendu en PT ou PMC, vous pouvez réduire le MaxDepth (la valeur par défaut de 16 est bien trop haute et correspond plutôt à un rendu d’intérieur avec éclairage très indirect) mais s’il y a beaucoup de transparences successives, des verres l’un derrière  l’autre par exemple, il faudra toutefois rester au minimum aux alentours de 10. Sinon vous pouvez descendre jusqu’à 8. Vous pouvez aussi augmenter le Caustic Blur. La valeur par défaut donne des caustiques très précises mais est plus long à rendre.

Enfin, tout comme pour les objets émetteurs de lumière ou les portals, moins il y a de polygones, moins il y aura de fireflys et moins long sera le rendu avant d’avoir un résultat sans petits points blancs dans les reflets et les caustiques. C’est un équilibre très important à trouver pour optimiser les rendus avec Octane.

Pour info

Dans les versions 1.2 et antérieures d’Octane, il fallait utiliser un seul maillage pour figurer la limite entre le verre et l’eau et ajuster les normales (pointant vers l’extérieur de l’eau) tout en donnant à ce maillage d’intersection un indice de réfraction correspondant à l’indice du verre divisé par l’indice du liquide contenu (IV / IL = indice d’intersection). Pour ce qui était de la surface du liquide et du ménisque (le point de rencontre entre le bord du liquide et le bord du verre où le liquide remonte le long du verre par l’effet de capillarité), on lui donnait l’indice de réfraction du liquide et on faisait également pointer les normales vers l’extérieur du liquide. C’était nettement moins simple à modéliser et cela rendait l’animation de liquide beaucoup plus compliquée. Sachez donc que les anciennes modélisations pourraient nécessiter une adaptation avec les nouvelles versions d’Octane. Cette technique donne encore des résultats potables mais plus tout à fait exacts dans tous les cas.

Verre et liquide: un rendu de l'ancienne technique avec le moteur actuel (1.5)

Un rendu de l’ancienne technique avec le moteur actuel (1.5)

 

Pin It on Pinterest

Share This