# Simulate objects falling into water

On the blender website there is this image:

What would I need to do to recreate this, cubes and spheres falling instead of fruit would be fine. I believe this uses the cycles render I have never used this before.

• – gandalf3 Dec 4 '13 at 21:12
• Because you have a good answer, I won't close this, but generally this reads like a tutorial request to me. Not sure if anyone else agrees. – A Wild RolandiXor Dec 5 '13 at 14:12

This can be done with Fluid Simulation.

From the wiki:

In general, you follow these steps:

1. set the simulation domain (the portion of the scene where the fluid will flow),
2. set the fluid source(s), and specify its material, viscosity, and initial velocity,
3. eventually, set other objects to control the volume of the fluid (inlets and outlets),
4. eventually, set other objects related to the fluid, like:
• obstacles,
• particles floating on the fluid,
• fluid control, to shape part of the fluid in the desired form,
5. eventually, animate the fluid properties,
6. Bake the simulation (eventually, revise as necessary and bake repeatedly).

A quick way to setup the domain is with Space> Search > Quick Fluid

If you want to make something exactly like that image, check this tutorial on Blender Guru.

Otherwise you could:

1. Create the domain object (You could select an object and use Space> Quick Fluid, but here is how to do it manually):

1. Add a cube (ShiftA> Mesh > Cube)

2. Add a Fluid modifier in Physics and set the Type to Domain:

2. Add a second cube for the fluid:

3. Add a fluid modifier in Physics and set the Type to Fluid:

4. Create the falling objects:

5. Create the motion. You could either animate the motion or use rigid body physics, in the above case it's probably easiest to animate them.

6. Add a Fluid modifier to one of the objects and set the type to Obstacle.

7. Select all the objects which will be falling in (selecting the one with the fluid modifier last so it is the active object) and press CtrlL> Modifiers. This will copy all the modifiers on the active object to the selected objects, including the fluid modifier.

8. Configure the fluid settings of the domain object as desired (see below)

9. Select the domain object and bake the fluid simulation in Physics > Fluid > Domain.

# Domain Settings:

The settings in the domain object are as follows:

## Fluid panel:

• Simulation Threads: The number of threads to use for multithreading the baking process. (0 automatically picks, you can probably leave it the way it is)

• Resolution: You can bake two different resolutions, this is useful for having a low resolution place-holder in the viewport.

• Final: The resolution to bake the Final quality results at.

• Preview: The resolution to bake the Preview quality results at.

• Render Display: The bake quality to use in the render. The options are:

• Final: Use the Final bake resolution in the render

• Preview: Use the Preview bake resolution in the render

• Geometry: Use the original geometry of the domain object in the render

• Viewport display: The bake quality to use in the 3D view. The options are the same as Render Display

• Time: Note that baking always starts on frame 1, these settings control the behavior of the fluid (e.g. for slow motion effects)

• Start: The number of seconds into the simulation to start caching data.

• End: The simulation time of the scene End frame in seconds.

• Generate Speed Vectors: Record vector information in the cache (useful for motion blur)

• Reverse Frames: Reverse the fluid frames

• Speed: Rate of motion of the fluid. (0 = static, 1 = normal)

• Offset: Number of frames to offset reading of the cache. This is the only setting which you can still change after baking.

• Bake Path: Location on the system to read and write fluid cache files.

## Fluid World panel:

• Gravity: Force of gravitational pull on each axis. If Gravity is enabled in Scene > Gravity, this setting will not be editable from the physics panel. Instead change the values in Properties editor > Scene > Gravity.

• Viscosity:

• Base: The viscosity of the fluid

• Exponent: The exponent that is used to make entering small values in the Base value easier. The end Base value is equal to base*10^(exponent*-1).

• Real World Size: Size of the longest axis of the domain in real world meters. This setting does not affect the size of the domain in the scene, but rather the way the fluid behaves. (e.g. If you wanted to simulate fluid in a glass and your domain is slightly larger than the glass, you would set this to roughly the size of a glass in the real world)

• Optimization:

• Grid levels: Number of lower resolution grid levels to use in the simulation. -1 is automatic.

• Compressibility: Amount to allow standing fluid to be compressed

## Fluid Boundary panel:

• Slip type: Collsision settings for the domain boundary. These settings are the same as on Obstacle objects. The options are:

• No Slip: Fluid sticks to the obstacle surface

• Free Slip: Fluid runs freely on the obstacle surface.

• Partial Slip: Mix of No Slip and Free Slip. (0 = No Slip, 1 = Free Slip)

• Surface:

• Smoothing: Amount to smooth surface. (0 = none, 1 = normal, >1 = more than normal). Note that you can also non-destructively smooth the fluid after the back with a Smooth modifier.

• Subdivisions Number of subdivisions on the mesh

• Remove air bubbles: Remove the gap between the fluid and obstacles. Note that this can result in a dissolving the surface in other places.

## Fluid Particles panel:

• Tracer: The number of tracer particles to be created in the fluid when the simulation starts.

• Generate: The number of fluid particles to generate. Note that you must have Subdivisions set to at least 2 for this to affect the result.

# Some things to note:

• Modifiers must be applied in order to affect the fluid simulation

Other notes from the wiki:

Unique domain
Because of the possibility of spanning and linking between scenes, there can only be one domain in an entire .blend file.

Selecting a Baked Domain
After a domain has been baked, it changes to the fluid mesh. To re-select the domain so that you can bake it again after you have made changes, go to any frame and select (RMB Template-RMB.png) the fluid mesh. Then you can click the BAKE button again to recompute the fluid flows inside that domain.

Baking always starts at Frame #1:
The fluid simulator disregards the Sta setting in the Anim panel, it will always bake from frame 1. If you wish the simulation to start later than frame 1, you must key the fluid objects in your domain to be inactive until the frame you desire to start the simulation. See below for more information.

Baking always ends at the End Frame set in the Anim panel:
If your frame-rate is 25 frames per second, and ending time is 4.0 seconds, then you should (if your start time is 0) set your animation to end at frame 4.0 × 25 = 100.

Freeing the previous baked solutions
Deleting the content of the “Bake” directory is a destructive way to achieve this. Be careful if more than one simulation uses the same bake directory (be sure they use different filenames, or they will overwrite one another)!

Reusing Bakes
Manually entering (or searching for) a previously saved (baked) computational directory and filename mask will switch the fluid flow and mesh deformation to use that which existed during the old bake. Thus, you can re-use baked flows by simply pointing to them in this field.

Baking processing time
Baking takes a lot of compute power (hence time). Depending on the scene, it might be preferable to bake overnight.

If the mesh has modifiers, the rendering settings are used for exporting the mesh to the fluid solver. Depending on the setting, calculation times and memory use might exponentially increase. For example, when using a moving mesh with Subsurf as an obstacle, it might help to decrease simulation time by switching it off, or to a low subdivision level. When the setup/rig is correct, you can always increase settings to yield a more realistic result.

• When the things fell they don't float! Water does not affect the object!? – Developer Dec 10 '13 at 11:35
• @Developer Unfortunately no. See this post. – gandalf3 Dec 10 '13 at 20:10