In the Indian movie Bharat, named after the main character, the hero finds himself on a cargo ship that is fighting it's way through a heavy storm at night. We've been contacted by our client YRF Studios to do large scale ocean and storm FX for of the biggest hero shots in the movie. YRF was planning to take care of the asset and the compositing, while Stormborn Studios would provide FX beauty renders including a multitude of AOVs.
While we have done all kind of various FX in our careers, we never had the chance to do ocean and big water simulations before. Until now...

It would be a lie to say that the sequence we were facing wasn't intimidating. But at the same time and more important, we were excited!

Like usual, we started by collecting reference footage of ships fighting through the ocean. The more we found, the more addicted we've got to this intense play of men-made metal structures vs the forces of nature. It is absolutely mesmerizing! We wanted to make sure our FX captures the viewer and convey the danger and force of the ocean.

While exploring the references, we had a deep and thorough look into all the ocean-tools that Houdini comes with and tried to hit the type and  detail of waves our client desired by tweaking the ocean-spectrum and combining multiple ones with masks based on the underlying rough waves generated by previous spectrums in the node tree.
The waves being so large, and the ship being so heavy, we took our clients previz animation, and adjusted it to sell the physics more acurately and time the ships impact on the waves.

Since the ocean-tools are mainly thought to be used with Mantra, this is where we started. After some testing, we've seen much longer render times with higher image resolutions. Soon we decided to switch over to Redshift, and build our own workflow for the ocean itself. Since we weren't able to use the Mantra ocean procedural anymore, we had to work with higher mesh resolutions. We developed a way to control mesh density based on camera distance, and have the ocean detail baked into the mesh.

For the generic foam on the ocean, we developed a procedural way of using foam textures that we could place onto the ocean, and based on the distance to camera, the resolution of those textures would change. This setup rendered with Redshift gave us fairly high detail on the ocean, by using relatively little render resources.

When it came to the simulations, there was not much room for trickery. We had to go all in and simulate high resolution splashes for all aspects. From ship interaction splashes, to wave crests and weather effects, we split everything into separate simulations, per area and effect. This way we could retain a high resolution for each physical element. Once simulated, we rendered as many as possible together. Dealing with this many different effects renders required to carefully plan out how they can be stacked up in compositing. For the clients convenience, we prepared a compositing guide, so their compositors would know how to put all pieces of the puzzle together.

Check out our Breakdown Reel above




VFX Supervisor
VFX Supervisor
FX Technical Director

Goran Pavles
Manuel Tausch
Jesper Rahlff