
Codeer Devlog: https://www.youtube.com/watch?v=SDTT3Tp42TI
Here's the slicing process step by step.
Each slice is created by taking a random point on a sphere that is size-matched to the current iteration of the rock. The plane is then placed tangent to the sphere at that point.
A depth of cut parameter controls how deep each cut is by translating the plane along the normal of the random point on the sphere.
Positive depth of cut creates more sphere-like rocks.
Negative depth of cut creates more cube-like rocks.
These rocks are then scattered onto a plane that is created between 2 curves defined in Unreal.
I've exposed many controls to allow for adjustments including:
- Number of Unique Rocks
- Total Number of Rocks
- Density/Scale based on height
This was about 20 minutes of recording. I sculpt a terrain, then adjust the input curves to mark the position of where the cliff will generate.
I then quickly adjusted the look using the exposed parameters.
One of the reasons I love Houdini is the ability to automate workflows or processes used in Game Development. This project was inspired by a single 10-second clip in a Game Devlog by Codeer (https://www.youtube.com/watch?v=SDTT3Tp42TI). He created rocks in Blender by slicing off the corners and edges until a stylized rock shape formed. I thought, wouldn't it be cool if I did that procedurally? So I did!
I ended up going a step further to create these rocks and merge them to create a fully procedural cliff. The top and bottom of the cliff are defined by two splines that are editable right inside Unreal. A surface is then generated between the two splines and the rocks are scattered onto that surface.
There is control over the rocks themselves as well as how they are placed onto the cliff. The rock can be controlled on the spectrum from sphere to cube and includes control over the number of facets (slicing iterations). The cliff has controls for the number of rocks to scatter, how densely they are packed, and the scale of the rocks. Density and Scale are controlled via animation curves that can be set in the editor, so they can be controlled in relation to the height of the cliff.
The material being applied is also fully procedural. The gradient is applied from the bottom to the top of the cliff regardless of its position or rotation in the world.
This whole setup is driven by a Houdini Digital Asset. Using Houdini Engine, this can be brought into most major DCC engines including Unity and Maya.