Advertisement

Any Advice on Drawing Waterfalls?

Started by November 06, 2008 06:31 AM
4 comments, last by Moe 16 years, 1 month ago
I am currently working on introducing waterfalls into my 3D RPG engine. For the moment this makes use of the particle system with three particle sources being used, - One particle source handling the actual waterfall itself - A similar, but faster flowing source to add a bit of variety to the downward water flow and add a bit of turberlance just upstream of the waterfall. - A mist source at the base of the waterfall The overall result (so far) can be seen
">here
. The result so far is ok, but there is still plenty of room for improvement. For instance, while the waterfalls look really quite good from a distance, they also need to be equally good when viewed from up close ... most of the waterfalls won't be up to a Niagra Falls scale and are normally going to be small falls on streams with the player able to walk up to and into them. Unfortunately up close they are still looking a little rough round the edges and I'd like to know if anyone knows of any tricks or tips to use in order to improve the overall look. For information, I would prefer to still with particle waterfalls as the code is already in place and at worst just needs to be tweaked. However, if there are other techniques (using animated textures or models for example) then I'd be interested in hearing about them. [Edited by - Jon Alma on November 12, 2008 1:23:24 AM]
Jon.
_______________________________________
Legends from the Lost Realms
The waterfall sprites look quite repetitive, so apparently the faster flowing source isn't very effective just yet.

What I've used a few times in my Half-Life and Half-Life 2 levels were several layered surfaces with scrolling textures, using different speeds and textures. Some containing streaming lines, others containing droplet dots. The different patterns, moving at different speeds, created a flowing, seemingly random stream, even though the various patterns on their own looked somewhat repetitive (and ugly, heh).

At the bottom, I did use a particle emitter that emitted subtly moving, rotating, fading and scaling sprites. The effect would probably have been better if these particles looked like water actually spatting away, but I was pretty happy with the result so I left it at that.
Create-ivity - a game development blog Mouseover for more information.
Advertisement
Quote: Original post by Captain P
The waterfall sprites look quite repetitive, so apparently the faster flowing source isn't very effective just yet.

What I've used a few times in my Half-Life and Half-Life 2 levels were several layered surfaces with scrolling textures, using different speeds and textures. Some containing streaming lines, others containing droplet dots. The different patterns, moving at different speeds, created a flowing, seemingly random stream, even though the various patterns on their own looked somewhat repetitive (and ugly, heh).

At the bottom, I did use a particle emitter that emitted subtly moving, rotating, fading and scaling sprites. The effect would probably have been better if these particles looked like water actually spatting away, but I was pretty happy with the result so I left it at that.

Thanks for the advice - I think you've spotted the problem in that once the particles are created a majority are falling at a consistent rate ... so they are falling with a consistent and repetitive pattern. I'll play with varying the speeds of individual particles a bit more and see if I can improve things with this.

As for the textures - these are static for the moment - they can be faded out, but aren't animated or scrolling in anyway. As this simple approach works quite nicely for other particle sources (fire, rain, smoke, etc) I'd like to avoid changing this if possible (there are plenty other bits of code to work on!), but if I can't sort out the waterfalls to my liking I'll see what I could do in this area.
Jon.
_______________________________________
Legends from the Lost Realms
Thanks to feedback here and from other sources I've had another go at the waterfalls and the latest result can be found
">here
.

One big change is that I improved the textures a lot, enhancing the visibility of each particle a lot. This meant that I could reduce the number of particles and actually get rid of some of the particle sources (the mist at the bottom of the waterfall has gone for example). More importantly I adapted the creation of each new particle so there can be variations in the speed of each particle both vertically and out from the waterfall (as though water is hitting rocks).

Still a bit of tweaking to do (I want to find the optimum number of particles for example as four large waterfalls all in close proximity and in view at the same time can hit the framerate on slower machines if I'm not careful).
Jon.
_______________________________________
Legends from the Lost Realms
I would take a photo of some water spray, add motion blur to it, and then elongate your particles. That should give some good results. Waterfalls look the way they do because of motion blur, if you're not going to add any to your rendering, you need to do it prerender like in photoshop.
Though, personally, i would model the water and use a simple pixel shader with a scrolling overlay of two normal maps going slightly different speeds. Then use a single mist particle source.
-------------------------Only a fool claims himself an expert
Have you checked out the NVidia demo? There was a paper they wrote that described their waterfalls. Try doing a bit of searching and you should be able to find the paper. From what I remember there were three steps.

This topic is closed to new replies.

Advertisement