Layer 1: Rough ketches, floor plan and silhouette (blocks).
Layer 2: Structural elements (walls, pillars, domes etc.) defined by layer 1 bounding geometry.
Layer 3: High-poly model instancing based on layer 2 structural elements.
Phase 2: Explore procedural workflow in Houdini.
Case study: Procedural city generation, with Houdini and Python. 3rd party art assets instanced on point clouds that was procedurallly laid out according to street map and zonal assignment.
Based on tutorial by FX TD Timothy Stam. With my own modification and improvements including: vegetation instancing on point clouds, more realistic building clustering, and building height variation on top of height map.
Artist hand-painted height map, used to infer skyline of high-rise building clusters.
Point cloud. Each point represents a house, a tree, or in case of stacked points, a section of a high-rise building. Heights of individual high-rise buildings are derived from the height map, but randomized within a range on per building bases. This is because the height map create "height plateaus", but realistically, two nearby buildings can vary a lot in heights.
Bounding geometries. They are created based on the high-poly models that will be instanced on the point clouds. Bounding boxes are used in simulating building clusters within each city block. The arrangement of buildings and trees are based on rigid body simulations where forces and collision padding contribute to the desired positioning and density.