Interactive water

Interactive water

Water adds beauty to a scene, in whatever form it may be. A pond with lilies, a lake with reeds and lotuses, a stream, a river or even a ocean with beach with waves. When this water does more… like shows dynamic foam, has floating debris (leaves and twigs) ripples of rain drops and directional waves, it just makes it so real. Add interactivity to it, and this becomes more than just a scene – now it’s interactive-water!

We all enjoy these subtle real effects that we associate with beautiful weather. Water with sky and other effects like wind and appropriate sound, becomes a complete weather environment! Water is the most essential part of it.

A dry road vs a road with some puddles, which one is more beautiful?

Water already means snow and snow fall, technically termed as “precipitation” in geography :) A very technical sounding word, taking the beauty out of it. So we stick to just plain “water” and if need be call out “snow and ice” – not precipitation!

From the many things we are doing with water, this post is about just the interactive ripples.

Interactive ripples in water

Interactive water is a material function. It is a very convincing effect of real physics. These ripples are actually created with “material function” – things that are applied to modify the material (not geometry) of the water 3d object (mesh). Where and how it is modified is based on the objects that are marked to interact with it, and those objects create these effects or distortions in just the locations the interaction happens. Kind of simple.

Ripples scaled down to be more like in real life. Notice how the splashes also create more ripples.
The problem of scale of the ripples.

But the ripples we have seen in games, though impressive at first instance, fell “out of scale” most times. The waves they create seem like create in a pan by a giant, not that character. And so we experimented with the setting in the functions – that create these effects to get to something we felt was apt in scale.

We will continue our experiments and refine. The experiments are about 1. how fast does the ripple move, 2. How fast does it fade out, 3. How close are the ripples (frequency of the wave), 4. How tall or gently flat are the ripples (amplitude). Figuring out which functions do these directly or influence these outcomes, helps to achieve the desired effect. There is standard naming for these (As yet) nor all these are surface in the material properties. Sometimes one has to tweak it inside the Blueprints (code in Unreal Engine).

Interactive rain drops on water

Character interaction is one things, what about rain drops? Would they create ripples too? Thanks to developers who have created such functions to use independent of the interactive effects. Essentially, this means, ripples don’t have to be connected and calculated for exact rain drop falling and hitting the surface of water, rather some random rain drop ripples that give a sense this is happening. This saves a lot of math for any system. Using this function one could add ripples to water, even if there is not real rain effect. These are simply different functions.

rain drop effect function can be added to any water material

A water surface vs water that shows ripples of rain drops, what is more beautiful?

And so we added the ripples to our water. Amazingly this function is tied to a “weather system”. And so when the scene has no rain, these rain ripples go away. About weather systems will share in a later post. In fact we liked the system so much we just wanted to have snow in the scene, but then there is no snow in western ghats!

Playing with slightly different settings, more transparency and rain drop ripples

Snow, let’s bring it!

Snow really looks nice. It is no wonder a complete game would usually have all weather types covered. Lara croft or Drake, there would be some scene (game level) with snow. It just makes game experience very rich, complete and satisfying. So?

Does it mean we should have snow too? Should this mean, we design the story in such a way to include a snow scene? Perhaps yes!

Would this mean, we add another level that is say located in the Himalayas? Where our player has to go for some purpose? Instead, should the same scene turn into a “snow scene” just for the pleasure of it? And then in the story the episode is brushed aside as a vision? All these option are available to the story writer as we develop the game. Let’s see, what we eventually do.

More types of water…

Check out other posts on water.

References

Here are some of the assets of use in UE4 and UE5, that we love and use.

Leave a Reply

Close Menu