Procedural Building Generator
Getting started
The setup is really simple. Once you have downloaded the .blend file, you can easily add it to your Asset Library (in Blender, go to Edit>Preferences>File Paths>Asset Libraries and add the directory you extracted the file to). Now you’ll be able to access the styles and templates from any Blender project.
Once you have done that, the steps to import it to a project are as follows:
- Open the asset browser (it is an Editor Type, like the Viewport, Outliner, and the Shader Editor)
- Drag a Building Style into the scene. It is important to do this first.
- Drag a Building Template into the scene.
That’s it! You can now start editing the template, or copy the modifiers to another object.
Modeling
Since the generator works on meshes, you use Blender’s standard modeling tools to create the buildings. The generator works in real-time, so you can always see how your building looks. You can even edit while in Rendered view mode!
Make sure to only scale the building in edit mode, or you may get unwanted results.
Useful tools
The generator will attempt to adapt to any roof and wall shape, but since it is purely Geometry nodes-based there will be sporadic glitches. Usually, these can be resolved by simply moving some vertices by a small amount. Also, keep in mind that the generator cannot adapt to any mesh.
If you want more fine control over the size and shape of wall assets, turn off “Smart Wall Instancing” in the geometry node group settings. Be warned that this will likely result in more messy buildings.
Exporting
Applying the modifier (Convert building to mesh)
The addon Building to mesh (made specifically for this generator) should be used to convert your generated buildings to meshes.
First, install the addon by going into Edit>Preferences>Add-ons>Install… and selecting the .py file.
Then, simply select the modifier with the generator node group, go to the sidebar (press N), select Procedural Building Generator, and press “Convert Building To Mesh”.
The converter addon is currently broken. I am trying to find a solution for the script but for now, use the following workflow:
Enable “Realize all instances” in the geometry node group settings.
Convert the object to mesh.
Go to “Object data properties” (green triangle symbol) in the Properties section, select UVMap and click the little drop-down arrow, choose “UV Map” mode and press ok.
UV data issues
If you apply the modifier without using the addon, the UV maps will be broken for use outside of Blender.
Textures
To export the textures, you can go to File>External Data>Unpack Resources and click Write files to current directory or Use files in current directory. You will get a folder with all the textures used in your project.
3D printing
I have no experience with 3D printing, so take this with a grain of salt. If you try this, please let me know how it worked for you!
After you have converted your building to a mesh, the mesh should be ready to be exported as an STL file. You may want to try re-meshing it first, though. Use either the remeshing tool in the sculpting workspace or the Remesh modifier.
The assets in the building styles were not designed with 3D printing in mind, so you may have to edit them yourself. Alternatively, you could try using the Solidify modifier to give volume to flat faces such as leaves.
Creating new styles
Adding a new building style is designed to be as easy as possible.
Steps
You need to create a couple of asset types that the generator should use for instancing.
These types are specified in a template in the .blend file, along with the dimensions each type should have and what direction they should face.
Here is a screenshot of the setup:
All assets in a style should be put in a single Collection, which you can then use in the building generator.
For the generator to know the types of the assets, the objects need to be placed in the correct square, just like the assets already in the project.
This makes the setup easier since you can easily overview the assets and don’t need to handle 13 separate collections for each building style. I also recommend marking the collection as an Asset for use with Blender’s Asset Library.
Optional extra steps
If you set up new materials for your building style, you can use the color attributes “Paint color”, “Secondary color”, and “Door color” in your material. This enables you to use the color settings in the geometry node group.
Common problems
If you still cannot solve your problem, join my support Discord server and ask there.
Discover more products like this
blender procedural proceduralgeneration city generator 3d building spring24 loveblender bcon22 bfcm22 generation