Setting Up Underwater Laminaria in Houdini

Ivan Larinin told us about the way he worked on creating the Underwater Laminaria animation in Houdini.

In case you missed it

You may find these articles interesting


Hey! My name is Ivan I am an FXTD. My main focus is FX, however, I also enjoy doing other things such as rigging, programming, and a bit of art.

In this article, I would love to talk about how to set up underwater dynamics inside of Houdini using vellum and advise how to use Arnold render and Davinci Resolve in your work.

Laminaria Effect

Initially, I was really inspired by Tarkovsky’s Solaris movie. In the first scene, we see a river with laminaria in it. It’s a very powerful scene, which could represent a mirror movement of life, its constant inconstancy, its expansion of the Xenophanes chthonic earth life into the water of Thales. Then, after some tests I decided to give it a new turn and combine the plants with the greek gods and see what it looks like...but let’s dive into Houdini.

First of all, let’s find some references, it’s the most important thing in the recreation of any effect.

Next, we need to “grow” laminaria procedurally.

Step by step in pictures:

1 of 5

There are two key things you need to pay attention to while doing an underwater effect. Firstly, Gravity force should be removed. Secondly, you should use the “pop wind” force node to add curly motion.

We need 2 sets of UVs to work within our shader. The first UV set is for colorizing along the line with a ramp parameter. The second one is for the randomization of every leaf.

Generate a new UV attribute with a different position of every leaf. It will help us in a shader later.


A surface shader is pretty straightforward. Arnold has an uber material node called “standard_surface”. We simply have to connect the “Cd” attribute to the color input and to add noise variation along with the leaves.

Additional Plants

Afterward, I just went in and kept on adding more plants using the same logic, while also connecting the model and the plants together visually. Here I scattered generic lines with some noise and colors on them to create a “ground\base” grass layer.

Then, the final touch is to add some Megascans plants. The logic is pretty much the same, except we need to add a Glue Vellum Constraint node.

Lighting / Rendering

I experimented with some lighting variations but ended up using a simple environment light for it with an HDRI map. If you want to use ACES workflow, you need to set up Houdini and Arnold for it. The best way to do that is to look into this documentation.

Scene Fine-Tuning

I use Davinci Resolve, tuned to work with ACES. There is a great tutorial explaining how to set up an ACES profile in Davinci. But on the basic level, you need to make sure you have these settings in your project if you work with EXR files.

I firstly increased the saturation of the scene a little. Because of its stylized underwater look, I also put Glow and Light Rays nodes on top, along with zoom blur which immediately gave me an effect of having underwater distortion. I didn't want it to be completely faded behind a layer of water. I just wanted a feeling of wavy motion.

Feel free to contact me via LinkedIn or Instagram, I will be happy to chat with you about anything!

Thank you!

Ivan Larinin, FX Technical Director

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more