Encounters with water

Recently at AMP, we were handed a near impossible task of fluid simulation for a product shot of a sprite TVC. First we were completely clueless about the workflow, but knew such a process existed. We threw caution to the wind, rolled up our sleeves and started working. The scene was pretty simple, a bottle of sprite surrounded by ice cubes and lemon/lime wedges were to submerge in a water tank, bubbles all over. End frame was to reveal the logo..pretty simple. 5 seconds in total.without the water bit its a breeze but the water…my goodness πŸ™‚

Realflow was the most obvious choice for this as it is the Industry standard, plus its simulation engine is pretty thorough. Unfortunately for us, it takes quite a while to master..and the deadline was approaching really fast – a zero margin of error situation.

After modelling the bottle in C4d,Β  getting the lime and ice cube assets from turbo squid, I imported the meshes to realflow.

There are two ways to do this, you can either export the individual elements from the scene as separate .objs or use the realflow .sd exporter to export proxies( optimized meshes) to realflow..

I used a refference image i took of the sprite bottle plus one that the client provided.drew a spline half of it (outline) then used a lathe to extrude the bottle shape.
I used a reference image i took of the sprite bottle plus one that the client provided.drew a spline half of it (outline) then used a lathe to extrude the bottle shape.

realflow wave

Once imported, there were two options, either use realwave with an object splash which creates splashes below the realwave surface or create a “water tank” and use a fill object.

Tip, when using a fill object emitter you need a gravity daemon first to settle the water and also to make the water react naturally with the falling bottle elements. Also you need to lock the timeline to simulate the whole settling water thing without messing up with the actual simulation. Once the water settles you can set the current state as the initial state, the switch is located at the node parameters on the right.

AfterΒ  trying both i settled for the realwave option, it was faster to simulate and had predictable results, the second one would ask for more resolution of the fluid. Unfortunately time wasn’t on my side, my colleague tried blender which is another awesome fluid simulator that is free πŸ™‚ who doesn’t like free awesome stuff? This made us change tactics and do a crash course at blender (and its confusing interface), with the help of blender guru‘s tutorials we had a simulation by Sunday, 6 days later after the brief.

But there was a problem, or rather a challenge, how were we to export the water simulation mesh into C4D to render? The .obj sequence was heavy and manipulating and rendering it in C4D proved next to impossible. We needed results fast, as the first draft was to be presented in a few hours. The internet and its assortment of forums gave us the solution. A handy script/scene file called fluid container – you can find it here, helped in importing the .obj sequence in realtime. From my understanding the way it works is that it loads a frame at a time minimizing the use of resources, making it easier to navigate, edit the scene better…

the blender scene. Many thanks to Tony who took his time to learn this crazy interface.
the blender scene. Many thanks to Tony who took his time to learn this crazy interface.

fluid container

This seemed to work, till we rendered the scene and found artifact like things slashing across the mesh, which did not look good.

So this route was slashed, another route using C4D thinking particles was taken. The tutorial can be found here. Basically the concept was to emit particles from the bottle..and fake the underwater feel using bubbles rising up. They are initially large in size as the bottle dips in and gradually become smaller when it’s settled. I rendered using C4Ds default renderer with GI on, also had passes for reflection, object mattes e.t.c to help with composting,
I did not know the power of thinking particles until i watched this tutorial… It actually worked πŸ™‚

this is the xpresso setup, the mind of thinking particles...it is thorugh this nodes that you are able to affect the behaviour of the particles.
this is the xpresso setup, the mind of thinking particles…it is through this nodes that you are able to affect the behaviour of the particles.

It was a great challenge. Many thanks to the AMP team, Njoki, Kuria, Tony, Pedro for their help on this project.

Unfortunately client turned it down :/ but that’s commercial projects for you. If you have any comments, suggestions, critics, questions feel free to comment below. have a creative week πŸ™‚