Making Water in 3DS MAX

4.204 Architecture in Motion Graphics
prepared by: Takehiko Nagakura
original: 2001/05/20
last revised : 2010/10/20


I prepared an example file (3DS Max version 6) which includes a sample 
material for water with ripples.
Right click  here  and save the link to download this file.  
I know this is a very old version, but it seems to load into 3DS 2011 
without a problem. The image above is a rendering of Cam2 viewport.


Feel free to copy the material into your project from the file. If 
you read below, it is not much of a job to make the same material from 
scratch by yourself, too. You can also animater the ripples easily.

The name of my material is WATER_MAT, which is applied
to a single rectangle named POOLWATER. A few things
to be mentioned about this material if you want to use it
for your project.

1. WATER_MAT is a RAYTRACE material which applies the procedural 
   map, WATER, as a BUMP map. I also set its Reflect value at around 
   30% and Transparency value at around 95%. In a newer version of 
   3DS Max, this procedural map may be called WAVES instead of WATER.
   In your project, the water should just be a simple surface. 
   You can just add it in AutoCAD and export to 3DS, or build it 
   directly in 3DS Max.
   If you are using Radiosity (Advanced Lighting) rendering in 3DS, 
   I recommend you to exclude thie surface from Radiosity process 
   (in Edit > Object Properties menu).
   If you come from Lightscape, do not include this surface when
   you make a solution file.
   
   If your version does not have this WATER/WAVES procedural map,
   an alternative is to use the procedural map, NOISE. If you carefully 
   adjust its scale factor, it can make a pretty good emulation.

2. To see the ripples of the water, you need
   something that the water surface can reflect.
   If you have nothing that your water reflects, you
   will not see the ripples on the water surface well. 
   You see what I mean if you examine the image below.
   Unless I have the roof, the ripples would not be seen.
 
   The reflected object does not have to be such a roof.
   It can be the wall of the building by the water pool,
   or even the cloud pattern mapped on the sky. 
   If you want to change the degree of reflection
   on the surface of the water, go to the definition
   of WATER_MAT material in 3DMax Material Editor, and 
   change the value for REFLECT parameter in the
   Raytrace_Basic_Parameters section as below. I set
   this value to be 30% reflective.


3. To change the look of the ripples, the bump map 
   section (circled red in the screendump above) 
   should be applied with Water (or Waves) procedural map
   or NOISE map if you do not have it.
   If you render with all defaults, depending on the
   unit of your model, the ripples may look OK in the
   first shot or may not appear because it is too large 
   or too small. A quick fix would be to go to the 
   Coordinates section in there and try changing the tiling value for
   xyz (they should use the same value) such as 100, 0.01, etc.
   Many other parameters for controling ripples are there, and 
   it is likely that you want to modify Wave_radius
   and Amplitude under Water_Parameters section.
   The Wave_radius is the radius of the sphere used
   to generate the water pattern, and depending on
   the measurement unit of your model, you need to
   adjust this value. My model uses feet and inches
   and this value is set to 40000. The Amplitude
   changes the calmness of the water. See the images
   below to see what happens if you change this value.


 Amplitude = 0.01
 Amplitude = 0.06
 Amplitude = 0.25 
 Amplitude = 4.00

4. The RIPPLE_MAP (the Water/Waves map that I made) comes
   with animation of the ripples.
   This feature probably does not work if you try to copy
   my material into VIZ, though.            
   I have set it to a speed that works for my model, but
   you may change it if you like. To animate the ripples
   of water, what is needed is to animate the Phase 
   parameter in the definition of the RIPPLE-MAP
   (circled red in the screendump above). Notice
   that the value of Phase parameter changes when you
   move the frames by scrolling the animation bar.
   To animate this parameter, just like a camera animation,
   set it a value at frame 0 first, and then go to another
   frame and set a different value. If you want to change
   the speed of the ripples by doing this, first, make 
   sure to delete the animation I set.
   (My experience says a good speed is to increment 
    the Phase value by 1 for every 3 seconds.)

5. This water tends to take a good amount of time to render.
   If you want to speed up the rendering, try disabling the
   "Raytrace Refractions" option in the "Raytracer Control"
   section of WATER_MAT. (Be careful. Do NOT disable the
    "Raytrace Reflections" instead.)
   This will make the rendering significantly faster while
   keeping the good quality of the look of water surface.
   The only thing you are likely to loose by doing this is 
   the distortion of the image of the bottom of the water.

6. To get a high quality rendering without jaggy reflections,
   you will need to turn SuperSampling on in the rendering
   panel and use Max 2.5 Star or Adaptive Halton algorithm.
   The rendering time will increase much, though. 

7. For more detailed information about this procedural map
   for WATER, see the 3DMax online help.