[Gn] Procedural Roof Generator

by Frenkel Design in Modifier Setups


You can bring the roofs to your own Blender scene by appending the "start objects". Select the styles that you like to import.

When using EEVEE, you should definitely enable Ambient Occlusion. It highlights the generated creases and crevices beautifully. These are my settings:


  • Create a simple input mesh. Always make sure that the normals face outwards.
  • Use the shear operation (CTRL+SHIFT+ALT+S) to create corners.
  • By beveling vertices (CTRL+B -> Vertex Mode) you can create a "Jerkinhead roof".
  • If you need to extrude edges outwards, use custom transform orientations. This will make sure that the newly created faces are 


Bevel Vertices:

Seamless edge extrusion with custom orientation:
Select the adjacent face of the edge and store its orientation in the orientation menu. Then select the edge and press E->X or E->Y to extrude with the right angle. The roof tiles should connect seamlessy:

  • Make sure that the geometry is the most reduced version of itself. It should not include loose edges or vertices.
  • Make sure that faces that are quads or n-gons with more than 4 corners are planar.
  • Make sure that the normals of the geometry are facing outwards. In the Viewport-Overlay settings, which are accessible on the top edge of the viewport, you can activate "face orientation" to check the normals. By selecting wrong normals and pressing Alt+N -> Flip you can correct them.
  • The input mesh has to be angled. The generator looks for high- and lowpoints in your mesh to transform tiles accordingly. Having a perfectly flat input geometry is like dividing through zero. It will confuse the generator.
  • Edit your roof shape in the Edit Mode. If you transformed it in the object mode, make sure that you apply all transformations by going to Object->Apply->All Transformations. 


Import the contents that you need into your own scene by going to File->Append and choose the ROOF_GENERATOR_ASSETS file. Go to "Objects" and import the "start objects" that you need.


Every start object can further be individualized by parameters in the modifier:


With the modifier active on your mesh you can always switch to edit mode to change your input mesh, tab out and see the generated result. To increase performance of the general scene you can also apply the modifier. This will result in a static mesh that can be worked on with traditional mesh editing techniques.

Profiles define the general style of the roof. I made the creation process of profiles pretty straight forward. But you should at least have a basic understanding of Geometry Nodes before you start going into this. Instead of changing parameters on the individual object level, we now make changes to the modifier itself. Changes here will affect every object in the scene that has the modifier applied. This is why it is recommended to hide all of the roofs except for one that functions as a visual reference in order to increase the speed of updating between changes.

  1. Duplicate one of the Roof Style Node Groups by clicking on the "Make Single User" Button and give your profile its own name:

  2. Open the geometry node editor. You can hover over a panel and press Shift+F3 to do so. If you are stacking multiple modifiers make sure that the geomety node modifier is selected and active. If you still can't see anything, press "HOME" to recenter your view in the node editor.


You should see a node setup now with lots of sliders on subgroups. Tweak the input parameters of those green nodes to create a new profile.


Be careful here! You can import your own custom tile object here. Before you do so, have a look at the "RG_TILES" collection in the default blender file of the generator. It contains the included tile objects and can serve as a reference on how to model them, since there are some specifics: The imported tile object needs to be faced Z-Up. Make sure to apply all transformations. Moreover the tile MUST NOT have any thickness. The Roof generator will extrude the tiles on its own. Unwrap the tile to create UVs. Those will be taken and worked with by the generator.

Sales 300+
Customer Ratings 8
Average Rating
Dev Fund Contributor
Published 12 months ago
Blender Version 4.0
License Royalty Free
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message