Houdini City Generator
Another project during the my masters was creating a Procedural City Generator as a Digital Asset in Houdini. The video above shows my go at the task. This was my first digital asset in Houdini, and is certainly not the most plausible city gen out there. But it was great fun as houdini is very robust, and thus very suitable for stuff like that.
The city is established using zones. Each zone is configured based on its distance from an abstract point denoting the absolute centre of the city. Zone 1 is the centre of the city (not necessarily the physical centre, as there is an option to move it about).
The basic idea is that a voronoi pattern is used to partition the initial ground plane, then each voronoi cell is populated in a different way based on a simple heuristic which checks for its proximity from the current ‘central point’.
There are 3 zones and each zone has its own properties, such as: heigh-rises (zone1), closed neighbourhoods (zone2), sheep and barns (zone3).
The program uses dummy geometry for quick computation but supports loading in actual models for each object, 5 types of buildings, 2 types of trees, barn, sheep, lamp post, stadium, mall.
In some of the zones, the voronoi cells are further subdivided into regular sections by intersecting each one with a uniform grid at an arbitrary rotation, parallel to the current cell. Then each of these sub-cells is used as a placeholder for a single object, this way overlapping geometry is avoided, in this types of cells. The other types which do not use this methodology, avoid intersections by having a bounding circle around each geometry and checking against overlapping with other bounding circles of other geometry in the same cell.
The terrain relief could also be manipulated using a underlying height-map.
The User Interface is intuitive and allows for flexible changes with very few high-level options such as population and area. The centre can also be edited by changing its size or even position.