Click to go Home  
Render times
User Profiles
Macros / Scripts
Materials / VSL
User images
Image Contest
Realsoft images
VRgrafix images
Old Truck
By Gunnar Radeloff

Creating Animated Flowing Water

By Frank “The Rookie” Dodd

Animated water is one of those things that really needs to be animated  by a physics system, animating it by hand is just not really practical with today's constraints on time. We will achieve this animated water effect by a combination of gravity, a creator and some scripting.

First create a basic tap from a few NURB's meshes, after all the water has to come out of somewhere!

This tap was just a simple NURB's profile rotated around an axis to form the body of the tap and then a circle was swept along another curve to create the spout. Both objects were then selected and a fillet was created to weld them both together into a single object. Quick and simple.

Create a Metaball object for the water. After I played about a bit I personally decided on an ISO value of 0.75, a mesh resolution of 40 all around, a test setting of 6, and accuracy setting of 3 and finally the Metaball method must be set to 'volume'

This does create a very dense mesh as you can see from the image, but it is necessary to have this level of accuracy to create realistic water, you can try playing with the settings and find some that are suited to the fluid you are trying to animate.

Inside the Metaball you need to create some gravity to pull the tap water down. The strength of the gravity obviously depends on the speed that you want your water to fall down. Although you do need to balance it with the rate that the creator builds the objects, because when the water starts to fall quickly the spheres will space out to an extent where they become water drops instead of a water stream.

You will need to judge this for yourself but I decided on a speed of 0.25m/s for my example. You will also need to turn on simulation for the Metaball object so that the gravity can take effect.

Also inside the Metaball object you will need a 'creator' object as mentioned above, this will create the water drops for you automatically. You will almost certainly need to set the creator to build an object every frame to get a steady stream.

If you find your water is breaking up prematurely you can set it up to created several objects at slightly different heights to create more than one sphere every frame.

When you play this on its own the water will flood out in a straight line, nice but boring. So you need to move the water about a bit.

My first attempt was to create NURB's line wrapped up into a tight ball with about 100 randomly clicked points in it.

I lattice mapped the Creator object to the NURB's curve and when I played this the ball was moved about so quickly it created a random like effect (I learnt this trick from the Real 3D tutorial on boiling water).

However although it was created 'randomly' afterwards it still fell down straight and just looked 'synthetic'. So I abandoned this method and decided to give it some true random movement.

It was time to get Building blocks out!

The best way I could think of was to assign a random velocity to the creator object (interestingly instead of affecting the creator object it affected the created balls, which was perfect for what I wanted to achieve) I gave it a random initial downward velocity and a small sideways velocity, which gravity then adds too.

For the non-scripters amongst us the water level in the sample project can be simply reused but if you need to add new creator objects to the water effect you need to modify the script and add more lines like those to the left. If you are not comfortable doing this, ask someone for help on the list.

The script that is supplied with this example emphasises the effect of the water by creating three further smaller droplets. The effect of this when played is to create smaller perturbations in the water stream before these droplets break away into tiny globules of water to represent a spray of droplets.

Finally a water material needs to be added. I used a basic glass with a blue Ray Termination effect, thanks to David Coombes latest tutorial found elsewhere on this site. I think the final effect when animated looks quite nice and fairly realistic.

Click HERE to watch video - AVI DivX 4 - 95Kb

Click HERE to download the sample project

Page updated on Sunday, 18 May, 2003 . For feedback / model submissions or articles - please email us.
Site proudly sponsored by VR.grafix
Goto Sponsors Site (VRgrafix)