[Gn] Procedural Roof Generator
the gallery is outdated, images for the current version are coming soon. Check the video beneath for impressions
DISCLAIMER
- Roof Generator now requires Blender 4.0. The 3.6 version is still available, but won't be supported in the future. The node tree benefits a lot from 4.0s new implementations, making the old version inferior in every way.
- Keep the realtime edit mode option disabled.
The setup is too heavy to calculate an outcome while simultanously manipulating the input. The modifier needs a few seconds to recalculate the output geometry between modifications. Productivity can be increased by disabling different aspects of the roof or by disabling the "BOOLE OPERATIONS" under the performance section while working. The modifier can be applied after the creation to convert the roof to a static mesh. This step makes the roof accessible to traditional mesh manipulation workflows.
- Before you start you should definitely read the Documentation page. Possible problems can be solved by reading the Q&A.
- The modifier makes calculations per face. It is not very reliable, when confronted with round roof parts that consist of multiple faces
ABOUT
Roof Generator uses your rudimentary input mesh and converts it into a complex roof, consisting of fully modeled and textured ridge and tile parts, dormers, snow guards and solar panels. It is great for getting fast and dynamic results for an otherwise tedious task.
UPDATES
- A purchase will include all future updates.
LATER THIS YEAR
- A new UV-based tile distribution approach will allow you to create curved structures. This is currently not possible with the calculation happening for each individual face separately.
BLENDER 4.0 V1
- 4.0s Repeat Zones enable a better, more stable and performant approach to the creation process.
- The "DORMER?" Attribute can be applied in the Attribute Panel (Mesh Data). It will create dormers, when applied to a rectangular(!) face.
- Optional snow guards can be enabled.
- Solar panels can be generated by defining "Sun Angle" and "Angle Tolerance"
- The new metal panel roofs follow a slightly different node structure that doesn't require tile distribution.
- Added two more ridge types
- The backside of the roof can be generated. I refer to this as "Skeleton", because at first it involved more than just supports. The quality is probably not good enough for it to be a center element in a shot. But roofs that overlap the walls can get visible rafters and planks.
- Tile materials are more sophisticated and have a dirt and rain slider.
- On top of the adjustable parameters that are inside the modifier tab, you could always make changes to subgroups in the node tree directly. The subgroups are now more accessible, even without prior knowledge of geometry nodes. Changes here will change all roofs that have this modifier applied (profile creation), while changes in the modifier tab will only influence the active object. Make sure to create a new unique copy of the modifier first to not overwrite the default ones.
BLENDER 3.6 V3
- Added a better documentation here on blendermarket that explains roof creation and roof profile creation.
- Modifier automatically dissolves unused edges to clean up the input mesh. Make sure you still prepare your mesh accordingly (documentation) and keep it clean.
- A new SCALE_TILES slider allows you to dynamically make tiles smaller or bigger without changing the input mesh.
- Better modifier UI.
- Distinction between multicolored and unicolored materials.
- Extrusion of the adjacent wall is better for type 1.
- Better storing and deleting of attributes.
BLENDER 3.6 V2
- Adjusted some default parameters.
- Small changes
BLENDER 3.6 V1
- The ridge is now always facing in the right direction - downwards and outwards.
- Simplified the Nodetree and deleted unnecessary duplications of subgroups. This makes it easier to use custom tile shapes.
- Optional supports can now be added at the edges of the roof.
- Fill mode for adjacent wall
- Slider to offset tiles upwards/downwards
- Randomness options (Rotation, Position)
STYLES AND MATERIALS
Roof Generator comes with 7 different roof presets, not counting the Snow style, which is still in developement. But it doesn't stop there. The setup is customizable on 3 different levels, each fulfilling a different role:
-
MODIFIER:
Changes in the modifier tab work on an individual object level. All parameters here target aspects of the roof that are related to its specific input shape, scene circumstances or performance:
-
NODE EDITOR:
Changes in the node editor affect the style/profile on a global level and will influence all objects that have the modifier applied. Make sure to duplicate the master node group before you make changes here, to not overwrite existing styles. Here you can play with tile shapes, repetition logic, ridge options, etc:
This is how tiles shapes have to be prepared:
-
SHADER EDITOR:
Changes in the Shader Editor allow you to change the color composition of roof materials. You can also use your own materials for every aspect of the roof. Just make sure you use the custom "UV" attribute, instead of the Texture Coordinate node or Box Mapping.
DORMERS
You can create dormers on rectangular(!) faces. Selet both, the "DORMER?" attribute in the mesh data panel and the relevant faces in edit mode. Then go to Mesh -> Set Attribute and click on the checkbox.
SOLAR PANELS
Create Solar Panels based on Sun Angle and Angle Tolerance and exclude faces from generating solar panels with attributes.
BEVEL
Use a bevel modifier after the roof generation to get better quality edges. Make sure to harden the edges:
COMBINE WITH MY DRAINAGE SYSTEM
My procedural drainage gutter system is another product that works really well in combination with the roof generator. You can find it here.
Discover more products like this
procedural Roofing geometrynode roof Geometry nodes Generator ArchViz