Growing Roots


This portfolio piece was a very fun project for me because I finally had a good reason to get into procedural modeling in Houdini. My goal this project was to create a tool in Houdini that could easily generate cylinders and leaves with a natural feel and quick iteration time. I created a shader that would make the generated meshes look like growing roots and leaves.

Houdini Generation

I really wanted to use Houdini for the mesh creation instead of Maya or any other 3D modeling software. It might take a while to set up the network but after everything is done the iteration time is almost non-existent. I was able to create three different types of the same effect because it was so easy to iterate.

1. I started by creating a simple mesh.

2. I transform the mesh into a fog volume.

3. I create a bunch of points from the fog.

4-5.  This was my solver that would create the curves from all the different points. I also place a cylinder mesh inside the points and tell the curves to avoid the cylinder. 

6. I sweep a cylinder on the curve and uv map it.

7. I place leaves to the curve and scale the leaves based on their position on the curve.

8. I give both the leaves and the cylinders random vertex colors.

After all this is done I can easily create more roots and leaves.

By changing the first mesh I can create many different sets of roots and it makes iteration a breeze. 

Root Shader

After importing the cylinders from Houdini I apply a shader that makes it look like it grows. I have a opacity mask that pans along the cylinder to fake growing. I use another mask that pinch the vertices at the top point of the opacity mask. After that I apply a root texture that slightly pans along the cylinder.

I use the random vertex colors to create variation in growth and speed.

Leaf Shader

The leaves grow by stepping a gradient mask. All leaves have the same UV space and use the same mask to grow.

The step is offset based on the leaves height, so they will start growing from the bottom of the roots.

I also offset the growth with random vertex color so the leaves dont grow in a linear pattern.

Final thoughts

Houdini is amazing. I was able to iterate extremely fast and create different version for the roots in minutes. Being able to iterate so quick was great because whenever I would get feedback I could always create a new version and try things out without having to commit much time.