Tempest in a Teacup

This is a two part tutorial;
- 1 is about the deformed liquid,
- 2 is about the bubbles.

Follow up:

Part 1 The deformed Liquid
To get started you need a glass or a container for the liquid. I used a Spline in a LatheNurb.
It is probably a good idea to keep the shape of the glass simple at this stage.
I "filled" the glass with an oversized cylinder, the cylinder is twice as high as the glass and a little wider than the widest part of the glass.
To animate this cylindre I used a Wind deformer (you have to rotate it to get the good result and adapt some params to get the size of the waves right)
To get the surface of the water to be like expected I used 5 subdivisions of the Cap.
Hit Play to see if the deformer gives the right waves, and fine tune it.

Now we want to comply the cylinder to the glass, I did that with a Boolean subtraction (A-B)
The object to subtract is the same as the glass (the LatheNurb) but I extended the spline as to cover all the parts of the cylinder that I want to cut.


This is basically it.
If you are using transparent materials be careful that the two transparent objects don't have the same boundaries (coplanar) because this will give grain errors while rendering. To avoid this I slightly modified the interior of the Lathe object to be offset from the interior of the glass.

Part 2 The Bubbles
For this part you will need MoGraph ( ! this does not work in Cinema4d R11 at the time of writing)

Lets make some bubbles. This involves a cloner and an Effector and a deformer.
Start by placing a Circle (spline) at the surface of the cylinder used to make the liquid (deactivate the wind deformer to be more accurate)
Make the circle approximately the size of the glass (this will not work for complex glasses)
Duplicate the deformer used for the liquid, and use it for the Circle. Normally the circle and the cylinder should have the exact same deformation.
Add a Mograph Cloner to the scene and set it to "object" mode, drag the Circle spline into the appropriate field. Make a small sphere as a child of the cloner object. This should give you even bubbles along the deformed circle.
To make the bubbles vary in size I added a Random Effector set to modify only the scale.


Here you are, you have bubbles. Cheers!

To make things float nicely on the surface go to Double Detection