Thursday, December 29, 2011

Fluid Simulation

This entry will walk through all the steps of setting up a realistic fluid simulation in Blender.  The steps are pretty basic, but there are a number of settings that need to be specified, and there is a lot of baking/rendering time.

To start off I have a very homely bowl which will 'receive' the fluid that will be input into the scene.  

The first step to the fluid simulation is to define a Domain.  The typical domain is a simple mesh cube shown below.

On the physics tab of the Cube, Enable Fluid, and set the Type to Domain.

Set the Resolution to be at least 150.

For the end time, you want it to match up with your timeline (25fps) in terms of seconds, or else your animation will be time shifted (sped up or slow motion).

Set the Subdivisions and Particle size for smaller particles when the water sprays.

Next, we need an object that will input the water into the scene.  For this we'll use a mesh sphere.

On the mesh sphere's physics tab, Enable Fluid and set the Type to Inflow.

The Inflow Velocity is used to designate direction of flow from the object.  In this example, the fluid should flow to the side (x-axis) and fall into the bowl.

Next select the bowl.

In the bowl's physics tab, Enable Fluid and set the Type to Obstacle.

Set the Volume Initialization to Both.

Finally, back on the Domain object (the cube), in its physics tab, click Bake, and wait a few hours for it to finish.  Bake times are determined by time of animation and the size of the domain box.

Once the bake is complete, the animation can be played [Alt+a] and the fluid can be seen animated.

At any given frame, the mesh can be rendered.  In this case I used the Cycles renderer.  I also smoothed the water mesh to make it look cleaner.  The actual render looks much better than the mesh in the viewport.

No comments:

Post a Comment