Procedural Pergola Blender Asset

Project Description

The project was done during a course of two days in late March 2026. The idea came from the conceptual challenge SaleSqueeze had in their 3D Programmer job application form. The question was as follows:

"A procedural 3D pergola: four posts, beams, flat roof... width, projection and height are adjustable. What part of this feels easy to you and where would you get stuck?"

I really liked the concept and after trying to answer the question I opened up Blender and tried myself at solving the problem. Originally I intended to only spend a few hours on the project but I ended up working until really late that night (mainly because I had problems with the open source Nvidia driver for Ubuntu and everything crashed mid work erasing my temp files too).

Another problem I encountered was the slow performance when scattering the grass assets. The solution was baking the grass geometry and baking the points plus using the camera culler asset for Blender I also developed some time ago. After that everything went pretty fast.

You can find the final .blend file here (Blender 5.1.0):
Pergola.blend

End product assesment

Even tho I am happy with how the final renders look I'm really not satisfied with how I implemented the gizmos. It was my first time making use of Blender's new geometry nodes gizmos feature and I think I ended up creating too many and the viewport looks cluttered because of it. Additionally I wish I had more time to create proper UVs for all the geometry.

Renders

Image 1
Image 2
Image 3
Image 4

Tools Used

- Houdini: Generated procedural layout and exported as .hda for Unreal.
- Blender: Modeled modular building pieces in high- and low-poly.
- Substance Painter: Procedurally textured each component and baked HP to LP.
- Unreal Engine: Imported the .hda asset, enabling flexible geometry quality control.