Final Render
This project was done as an independent study at school. The idea was to take input geometry (Cubes) of varying sizes and generate 3 Unique styles of miniature building from them. Everything is procedurally modeled/generated in Houdini without bringing in any premade meshes. Most of the meshes are procedurally unwrapped during generation while others (such as the ground) are not. The tool was turned into an HDA so all of the buildings final forms could be generated in Unreal 5.
All of the materials were built in Unreal. Every material is an instance of a master material with parameters for whether it should map the texture to UVs or world space. It also included simple parameters for tint, noise blending, and a color gradient in world space on the Z axis.
The miniature look was achieved through careful camera manipulation in Unreal to produce the tilt shift look. To do, this I set the minimum f-stop to 0 chose a 70mm lens, set the focal length very high and then turned the aperture down extremely low (around 0.06.)
The lights in the buildings are all hand placed and the general scene lighting is achieved with a standard UE5 world lighting set up.
The background assets are from quixel megascans (now fab) and the textures are from FreeStylizedTextures.com.
Tool Demo
Still Images
Tool Documentation
Network Breakdown
Input Geometry Sorting
This is the very top of the network where the basic sorting of cubes happens. The input geometry is broken up based on volume and then assigned into one of three groups. A switch in the parameters then controls which subnetwork is processed to create the final output.
Once the subnet to process is selected the geometry is split up further as it gets sent through a number of organized deeper subnetworks to achieve the desired look.
Top of Northwest African Housing Network
This is the top level of the Northwest African building subnet. It is a bit simpler than the Chinese building subnets. The roofs are created on the bottom left while the rest of the building generation happens closer to the top.
Top of South Chinese Housing Network
This is the top level of the Chinese building subnet, the cubes are manipulated in various ways inside clusters of smaller subnets pictured here. The main building generation is done on the left while the walls and secondary buildings are created on the right.
Top of Icelandic Sod Housing Network
This is the top level of the Icelandic building subnet. It is a bit simpler than the Chinese building subnets as much of the detail comes less from the complexity of the buildings and more from the grass roofs and porches/doors.
Basic Roof Shapes
This is the network for creating the basic roof peaks of the Chinese buildings. The real trick here is the "PolyExpand2D" node. This node creates a distance attribute which is then used to raise the middle points of the roof. The scale of this is adjusted with a multiplier which has been exposed in the controller.
Tile Creation
This network creates the tiles on all the Chinese roofs. Each roof plane is rotated flat to the X axis then extruded to create a shape which is put into an intersection Boolean with a square grid of tiles. once the tiles have been cut to shape the transform attribute is transferred to the tiles so they can be rotated back into the place where the original plane of the roof once was.