This is a sample frame captured from our real-time simulation, showing three boats in the open ocean. The dynamic surface waves generated due to boat motion are simulated using wave particles. In addition, boat motion is not scripted or animated, it is also simulated. The forward motion of the boats is induced by the fluid-object interaction forces acting on the rotating propellers of the boats.
We present a new method for the real-time simulation of fluid surface waves and their interactions with floating objects. The method is based on the new concept of wave particles, which offers a simple, fast, and unconditionally stable approach to wave simulation. We show how graphics hardware can be used to convert wave particles to a height field surface, which is warped horizontally to account for local wave-induced flow. The method is appropriate for most fluid simulation situations that do not involve significant global flow. It is demonstrated to work well in constrained areas, including wave reflections off of boundaries, and in unconstrained areas, such as an ocean surface. Interactions with floating objects are easily integrated by including wave forces on the objects and wave generation due to object motion. Theoretical foundations and implementation details are provided, and experiments demonstrate that we achieve plausible realism. Timing studies show that the method is scalable to allow simulation of wave interaction with several hundreds of objects at real-time rates.
This image is captured from our real-time pool simulation using wave particles. Waves are generated by mouse click and drag. Click on image to start/stop animation.
Here is another sample frame captured from our real-time simulation (simulation: 170 fps). The boat motion is induced by the fluid-object interaction forces acting on the rotating propeller, the boat body, and the joystick controlled rudder.
These are two more frames captured from our real-time open ocean simulation. The image on the left has a single boat and 125 boxes (total 6,178 faces simulated) and the simulation runs with 51 fps. The image on the right has 24 boats and 147 boxes (total 11,328 faces simulated) and the simulation runs with 38 fps.
This scene has over 1681 boats (295,856 faces), and the simulation runs with 4.8 fps. Similar to the previous examples, motion of the boats is induced by fluid-object interaction forces acting on the rotating propellers and rudders. Click on the image to enlarge.
This scene has over 9261 boxes (444,528 faces), and the simulation runs about 1 fps. The bottleneck in this scene is the rigid body simulation, not wave particle simulation or fluid-object interaction. Click on the image to enlarge.