Automatic house division

Objective: to automatically create logical house layouts.

There are already many examples of implementations that can create houses in a procedural way. It often concerns houses where only the outer walls and the roof are generated. Within level design of games or buildings in the background, in many cases it is not necessary that the interior is also built. When a player has to enter and explore the houses in a game, there must of course also be interior walls and doors that connect the different rooms. The goal of this use case was to create a tool with which different building layouts can be generated in a quick and easy way.

The intention was that the formats could be used to train an AI navigation algorithm, for example. An AI algorithm needs a lot of training data. It can be impossible to set this up on the basis of only manually built houses. With a procedural tool, hundreds of different houses can easily be generated for automatic training.

A script was created in Blender that allows the quick generation of random houses. The houses are in most cases realistic in construction. However, they are still limited in shape, as all rooms can only be rectangular.

The script can be expanded to automatically place a variety of pre-made doors and windows on the created openings, as well as to assign textures to the walls in order to achieve a more realistic representation. The script is almost completely independent from Blender, which makes it potentially portable to other 3D software.

Of course, a house has more than just walls, doors and windows. In the next use case we will take a closer look at the possible methods to decorate the inside of the rooms in a logical and automatic way.

This article belongs to the following project:

Procedural 3D

Creating a 3D model using a procedural workflow starts with a simple shape just like classic 3D. Manipulations are then...