Website powered by

Houdini - Procedural Cave Generator

I've been really focused on Houdini procedural generation lately. As a little project, I made a very simple rock generator, which then grew into a stalactite generator, which then grew into a cave generator. There's still more stuff I would like to add to this, but I have other things I want to build first.
Sorry for the viewport previs with the animation, but it would have taken way too long to render it out. 

simple cave setup with mask generators for the scatter elements and shading

simple cave setup with mask generators for the scatter elements and shading

mask modifier for extra deformation at stalactite bases.

mask modifier for extra deformation at stalactite bases.

simple stalactite digital asset scatter setup with randomization for each

simple stalactite digital asset scatter setup with randomization for each

scatter stalactite digital asset at point locations.  Each one has random values for variation (bottom and top are the same digital asset).

scatter stalactite digital asset at point locations. Each one has random values for variation (bottom and top are the same digital asset).

mask for cave wall deformation, excluding the stalactite points and ground.

mask for cave wall deformation, excluding the stalactite points and ground.

mask for wet ground where water would pool at low points. Used for tinting of cave floor, rubble scatter and stalactites on the ground

mask for wet ground where water would pool at low points. Used for tinting of cave floor, rubble scatter and stalactites on the ground

cave volume and floating dust (not actually rendered)

cave volume and floating dust (not actually rendered)

emissive lighting is generated from volume filling the glass shaded crystals with points, which have an emissive shader on them.  Density and scale of points illuminate more or less, which allows the bigger crystals to emit more light than small ones.

emissive lighting is generated from volume filling the glass shaded crystals with points, which have an emissive shader on them. Density and scale of points illuminate more or less, which allows the bigger crystals to emit more light than small ones.