Tutorial – Water Dynamics
tutorial
I finally had the time to create this tutorial about water dynamics and caustics in 3d studio max and vray. I divided this into two parts, part one deals with “reactor” and how to achieve effect of ball dropping into water. Part 2 is all about caustics. Here we go:
1. Go to “Customize – Units” and make sure your units are set as the above picture, sometimes the reactor will not work well with units like feet and inches, so I use generic units a lot when making this kind of stuff.

2. Make a plane (see thumbnail):

Length = 1060 (60 segments)
Width = 430 (40 segments)
3. Now create pool walls and floor using boxes, each wall should be a seperate box and make sure they don’t overlap, there should be a small gap between them. Reactor doesn’t like intersections! I applied sub-object material to the walls to get the tiles on the inside (it is one object).


4. Go to “Create tab – Space Warps – Reactor – Water”, click and drag in top viewport to create water plane modifier. Make it similar size as your plane from step 2.

5. Position the water modifier on top of your plane from step 2. Click on “Bind to Space Warp” from top toolbar (see image). Click and drag from plane to water modifier. This will create a bind, and reactor animation will automatically transfer to your plane later.

6. Create a sphere.

7. To activate reactor toolbar, right click on empty space on your top toolbar menu and select “reactor”, this will open a new toolbar with many icons. Now, select first icon and click in the middle of your scene, this will place the RBCollection object into your scene, the location of this object is not important.

8. Select the RBCollection object and go to “modify” tab, click on “Pick” or “Add” and pick the pool walls, floor, and a sphere. Do not touch the water plane.

9. Almost there!
Now we need to assign mass to sphere so when it hits the water modifier will make waves.
Select the sphere. Go to “Utilities – Reactor – Properties”. Make Mass 100, and make sure “Bounding Sphere” is checked and “Unyielding” is unchecked, just like the above image:
In the “Preview & Animation” tab, click “Create Animation”. This is it!
3D Studio Max will take all the real-world physics and calculate the animation for you.
IMPORTANT: make sure your time frame is set to 0 on your main timeline on the bottom of the screen, before you click on create animation, otherwise, max will create keys that don’t start at 0. Do that for everytime you click on “Create Animation”.
10. If you followed all the step then you should get the wave effect on the surface of your plane, at this step, it is OK to hide the water modifier and just leave your original plane.
11. I had to increase the Mass of the ball in order to get the illusion half-sinking / floating. Don’t forget that you must click “Create Animation” everytime you make any change to Mass or any other reactor properties.

11b. Also to make waves higher, you can increase the strength of the water modifier.

12. Now to make the ball move more across the surface of water, I added a wind modifier.
From reactor toolbar select an icon that looks like a chicken with an arrow and click somewhere in your scene to add it. Orient it so it is pointing towards the ball. Set wind speed to 15,000 in the modify tab.
Go to Reactor again and click on “Create Animation” once more.

13. The ball should now move toward the edge of the pool and hit a wall.

And thats how to make waves by dropping a ball into the pool!
Now you are ready to for Part 2 (caustics).
-Art

October 27th, 2009 at 12:57 pm
awesome!
December 11th, 2009 at 9:18 am
awesome, awesome, awesome!!!
natural water! thanks a lot for your great tutorial!
January 19th, 2010 at 7:32 pm
Hi. Thax for the tutorial. I had already watched something similar on video, so I was trying to make my own animation using all of this. BUT I just encountered a problem and I can’t figure out what did I do (or didn’t do) wrong. Anyways, I do exactly what you explain here, my pool walls and the water plain, and reactor water plain are of different size though. But every other step is the same. The Problem is when i click the create animation button on reactor the ball just goes down a little bit and stays in the “air”, its doesn’t go down all the way to the pool, I even tried changing the mass a LOT (1000 kg) and i keep getting the same result.
I checked on use unbounding sphere and unchecked unyielding.
What could be the problem. Pleas help
Thanks
January 19th, 2010 at 7:43 pm
BTW, I’m working with 3ds max 8
January 21st, 2010 at 9:05 am
Hi Uri, sounds like you have a problem with reactor world units, I will post the parameters this weekend.
January 25th, 2010 at 1:04 am
Uri,
I think the problem is with your Col. Tolerance number.
Try this:
1. Reset your max units to generic (Customize -> Units Setup).
2. Make your water plane size matches reactor-water object size. (it might help)
3. Input this parameters in your Reactor Havok World window:
Gravity X= 0, Y= 0, Z= -390
World Scale 1m= 39
Col. Tolerance = 3.97 <———————
4. Make sure sphere is set to “bounding sphere”, and make large mass amount (I used 7000 for mass, friction 0.3, elasticity 0.3).
Hope this helps!
February 10th, 2010 at 4:21 am
Great tutorial!
Thanks a lot!