Building a Dynamic Water Shader with Campo Santo

Matt Wilde, an artist at Campo Santo has recently published a nice article on the way the team has worked on the announcement trailer of ‘In the Valley of Gods’.

Matt Wilde, an artist at Campo Santo has recently published a nice article on the way the team has worked on the announcement trailer of ‘In the Valley of Gods’. The thing is that Matt discussed the production of a scene that didn’t actually make it to the final cut: a scene with Zora and Rashida breaking through an ancient flooded passageway. The scene would feature a nice-looking water, which would react to the motion of the characters and surrounding geometry.

The team’s graphics programmer Pete Demoreuille generated a GPU-based simulation using a “shallow-water” approximation. The simulation accounts for the water’s depth and computes its horizontal velocity along with height. In the end, the artists got a number of dynamic textures which are fed into the shader for the water surface’s height, normal, velocity, and distance from a blocking object. 

Here is a small piece of the article to get you interested:

image

With these at my disposal, I set about making an actual shader, starting with a simple flow mapping texture—the flowing determined by the simulation. The output is brightened depending on factors like surface normal and velocity. The below was captured right out of the Unity editor and was immediately fun to play with. Imagine the capsule is a rubber duck, like I did. For about a week.

image

I gradually built this into a more watery-looking shader with the addition of normal mapping, depth-based transparency, caustic lighting effects, and probably some other things.

Matt Wilde 

Make sure to study the full article here

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more