Summary
This is a procedural cactus. The cactus body and spines are created using layered geometry, surface normals, and randomized variations, with customizable parameters such as height, curvature, spine density, and overall shape. The tool enables artists to quickly generate diverse cactus models while maintaining full creative control.
Process
To start the cactus, I used a Line and Circle setup to define the cactus base form. Then applied a VEX script to control point scale through a custom ramp to shape the vertical curvature. The scaled circles were then instanced along the line to form the main body.
Then I built a smooth cactus surface, and through a Group Expression, divided the mesh into inner and outer parts based on the column index, allowing procedural control over different surface layers for later adjustments and variation.
After that, I generated evenly spaced points across the cactus surface to serve as spine positions. The spacing and direction were adjusted along guiding curves, and each point was projected back onto the surface, and randomized normals were added to introduce natural variation in spine orientation.
I created individual cactus spines by instancing short line segments onto the generated spine points. Each spine followed the surface normal for direction and had random scale variation, then it was converted into geometry with a smooth taper from base to tip.
Finally, the cactus body and generated spines were merged into a single geometry, ensuring the spines integrated smoothly with the surface for the final shape.

Cactus base body

Separate Inner and Outer

Spine Generation Logic

Spine geometry

Final Merge



