Creating Water Ripple Effects in 3ds Max - Part 2 - Water Ripples

Login to Follow
  • Film & VFX
  • Games
  • Design Visualization
  • Animation
  • Dynamics
  • 2014
  • Simulation and Effects
  • Workflow
  • 3ds Max
Skill Level
  • Intermediate
9 min

Creating Water Ripple Effects in 3ds Max - Part 2 - Water Ripples

In this tutorial, you learn how to create a water ripple effect. To achieve this, you will create arrows travelling on a path to give the illusion of ripples. The object that is actually creating the ripples is a simple sphere that you animate to follow the same path and that you will set to be non-renderable.


  • Recorded in: 3ds Max 2014
  • This tutorial is intended for use with 3ds Max version 2014 or higher.


00:00:06 --> 00:00:14
Continue working on your scene from the last movie. If you need to catch up, open the scene file named: flex-arrowhead.max

00:00:15 --> 00:00:20
You need to create the arrow that follows the path and that seemingly creates the water surface ripples.

00:00:20 --> 00:00:25
To create the arrow, start by creating a box in the top view.

00:00:27 --> 00:00:39
Make it about 0.05m in length, 0.6m in width and 0.015m in height. You can fine-tune these adjustments later.

00:00:40 --> 00:00:46
In the Hierarchy panel, go into Affect Pivot Only mode and center the pivot to the object.

00:00:46 --> 00:00:50
Exit this mode when done and go back to the Modify panel.

00:00:51 --> 00:00:58
The box has only 6 polygons at this time. In order for it to deform while following the path, you need more subdivisions.

00:00:59 --> 00:01:05
Set the Length Segs to 3 and the Width Segs to 50.

00:01:05 --> 00:01:10
Rename the box "Arrow" and change its wirecolor if you need to.

00:01:10 --> 00:01:15
The box doesn't look much like an arrow just yet, but you'll get to taper it in a moment.

00:01:16 --> 00:01:24
First, to have the box follow the path and deform along the way, add a PathDeform (WSM) modifier to it.

00:01:25 --> 00:01:30
Choose Pick Path and then point and select the path you adjusted earlier.

00:01:31 --> 00:01:36
Next, click the Move to Path button to move the box to the beginning of the path.

00:01:37 --> 00:01:44
You also need to specify a deformation axis which is X in this case, to align the box to the path.

00:01:44 --> 00:01:52
From this point forward, you can animate the Percent value to get the box to deform across the path.

00:01:53 --> 00:01:57
Now you need to taper the box to be shaped more like an arrowhead.

00:01:58 --> 00:02:07
Apply a Taper modifier to the box. As the Path Deform binding is a WSM (World-Space Modifier), the Taper is located below it.

00:02:08 --> 00:02:15
Set the Primary taper axis to X and the value to about -1.85.

00:02:16 --> 00:02:19
The box now looks more like an arrow.

00:02:19 --> 00:02:22
You can rework its basic parameters at any time.

00:02:23 --> 00:02:37
Try a Length of 0.025m, a width of 0.8m and a height of 0.007m. As always, feel free to experiment.

00:02:38 --> 00:02:46
You may also want to add more subdivisions, especially along the width, so that the box conforms to the path as much as possible.

00:02:47 --> 00:02:52
Mind you, the animated bounces are fast as all four bounces happen in under three seconds.

00:02:53 --> 00:02:57
This means that you will hardly have time to see any artifacts on the arrow mesh.

00:02:57 --> 00:03:00
Settle for 60 divisions for now.

00:03:00 --> 00:03:03
Next, you animate the Path Deform binding.

00:03:07 --> 00:03:13
Reset its Percent value to 0 so that the box relocates to the beginning of the path.

00:03:14 --> 00:03:20
Before you animate the arrow, you need to extend the animation length a bit so that the ripples have some time to settle.

00:03:21 --> 00:03:30
Go to the Time Configuration dialog and set the animation length to 150 frames. That's about 5 seconds using an NTSC signal.

00:03:31 --> 00:03:34
Click OK to accept the changes and dismiss the dialog.

00:03:35 --> 00:03:40
Make sure the arrow is selected and enable Auto Key mode.

00:03:40 --> 00:03:45
Go to frame 80 and animate the Percent value to go to 100.

00:03:48 --> 00:03:52
Exit Auto Key mode and then scrub your animation.

00:03:52 --> 00:04:00
The arrow is animated to follow and deform along the path for the first 80 frames or a little less than three seconds of animation.

00:04:00 --> 00:04:07
The arrow is a complex object now. It also has a lot of vertices to ensure it deforms nicely along the path.

00:04:07 --> 00:04:13
This prevents it from being an optimized object to use to create the ripples as it will take a long time to process.

00:04:14 --> 00:04:23
Instead, you will use a much simpler object to drive the ripples, only you will make it non-renderable to prevent it from being displayed in the final output.

00:04:24 --> 00:04:27
Create a simple sphere in the top view.

00:04:28 --> 00:04:33
Name it: "Stone" as in a game of stone skipping.

00:04:34 --> 00:04:42
Make its radius about 0.03m and its number of Segments 12.

00:04:47 --> 00:04:56
With the Sphere selected, choose Animation > Constraints > Path Constraint and point to the path.

00:05:00 --> 00:05:06
The sphere is now animated to follow the same path between frames 0 and 150.

00:05:11 --> 00:05:17
Relocate frame 150 to 80, to match the arrow travel time.

00:05:28 --> 00:05:38
Expand the Front view using Alt+W and press F3 to see the objects in shaded mode.

00:05:40 --> 00:05:44
If you need to, change their wirecolors to differentiate them.

00:05:45 --> 00:05:51
Scrub the animation. The two objects, the arrow and the sphere, are not perfectly in sync.

00:05:51 --> 00:05:58
There are a couple of reasons for that: the most important is because the two animations are interpolated differently.

00:06:02 --> 00:06:07
Select the Sphere and use the Quad menu to go to the Curve Editor.

00:06:07 --> 00:06:12
Note the straight line indicating a constant travel speed.

00:06:13 --> 00:06:18
Now select the arrow and expand Space Warps > Path Deform Binding.

00:06:18 --> 00:06:21
This curve shows acceleration and deceleration.

00:06:22 --> 00:06:29
Path Constraint defaults to a Linear interpolation, whereas Path deformation works in Bezier mode.

00:06:30 --> 00:06:35
In order to sync the two objects, you will use Linear interpolation on both.

00:06:35 --> 00:06:41
Select the two keys that make the path deform binding curve and set them to Linear tangents.

00:06:42 --> 00:06:49
Now the two objects travel in sync but the sphere needs to be relocated to the arrow head.

00:06:53 --> 00:06:56
Select the Sphere and take a look at its curve.

00:06:56 --> 00:07:03
The first keyframe, at frame 0, shows a value of 0, which indicates the beginning of the path.

00:07:04 --> 00:07:14
Keep the key at frame 0 but change that value so that it relocates to the arrow head. In this case, a value of about 16 should work fine.

00:07:20 --> 00:07:28
Now scrub the animation until the arrow head seems to reach the end of the path. This should be around frame 67.

00:07:29 --> 00:07:34
This is when the sphere should reach the end of the path, so that it stays with the arrowhead.

00:07:35 --> 00:07:41
At this time, the sphere reaches the end of the path or 100% at frame 80.

00:07:42 --> 00:07:52
Simply, change that frame value so that the end of the path 100% value, is reached earlier, in this case on frame 67.

00:07:52 --> 00:07:58
Scrub the animation; the two objects are now perfectly in sync.

00:08:06 --> 00:08:11
Close the Curve Editor and reset the front view to wireframe mode (F3).

00:08:14 --> 00:08:21
Before you move to the next movie, make sure the sphere is selected. Right-click and access its properties.

00:08:22 --> 00:08:27
Disable Renderable to prevent the sphere from appearing at render time.

00:08:31 --> 00:08:36
Save your file and move to the next movie to learn how to animate the ripples.
Posted By
  • 3ds Max
  • Animation
  • Dynamics
  • 2014
  • Simulation and Effects
  • Workflow
To post a comment please login or register