Comment rendre la glace réaliste?

45

J'essaie d'écrire dans Unity un shader de glace qui a l'air beau et au moins semi-réaliste.

Si le plan suivant ( trouvé sur Google ) était une image de synthèse, quel serait son shader? (la grotte au premier plan). Je me trompe peut-être, mais il semble même que son modèle d'éclairage soit différent de celui par défaut.

entrez la description de l'image ici

Daniel Pendergast
la source
Voici un tutoriel pour DirectX 11 utilisant HLSL et C ++. Peut-être que vous pouvez glaner les principes. Aussi, où avez-vous vu que l'image était CG? C'est rapporté comme réel.
MichaelHouse
Je n'ai pas dit que c'était. J'ai dit "si" c'était. et merci! Je vais vérifier
Daniel Pendergast
9
Ce phénomène s'appelle la diffusion sous la surface. Cela est dû au fait que la lumière pénètre la surface du matériau et est dispersée à travers le support du matériau lui-même. C'est pourquoi, par exemple, les oreilles humaines apparaissent en rouge lorsqu'elles sont rétro-éclairées. Voici un article de blog expliquant la tentative de quelqu'un de recréer un effet de glace avec celui-ci.
Ah, désolé j'ai raté le "si".
MichaelHouse
@ Byte56, pas de problème
Daniel Pendergast

Réponses:

53

La glace est translucide, je pense donc que la chose la plus importante à simuler dans votre shader pour obtenir des résultats réalistes serait la diffusion sous la surface ou SSS en abrégé. En résumé, SSS décrit comment les rayons de lumière pénètrent à la surface des objets translucides et se dispersent en dessous, se reflétant à plusieurs reprises de manière irrégulière, avant de finalement sortir par un emplacement différent.

Voici une photo qui, je pense, montre bien l’effet:

entrez la description de l'image ici

Dans l’image de votre question, vous pouvez également voir que la glace est assez réfléchissante. Vous voudrez donc probablement aussi la combiner avec une sorte de cartographie de l’ environnement pour les réflexions, et tonifier la spécularité pour renforcer les points saillants.

Vous pouvez également essayer d'autres choses, comme ajouter un peu de réfraction , superposer une sorte de texture de bruit pour ajouter un peu de variation, ou même une sorte de mappage de relief ou de déplacement pour des détails très petits et subtils.

Ressources

Quelques autres ressources que j'ai trouvées en écrivant la réponse:

David Gouveia
la source
Vous voudrez peut-être aussi examiner Ambient Occlusion ( en.wikipedia.org/wiki/Ambient_occlusion ) pour simuler l’obscurcissement dans les falaises car il est généralement assez difficile d’obtenir une image exacte en utilisant seulement des ombres.
Koarl