Procedural Parameters

Final Renders

Reference

I wanted to make a procedural building based on part of Montane Mansion in Hong Kong. I traveled to Hong Kong in 2018 and this was a really amazing place to see in real life and it was a lot of fun to recreate digitally.

IMG_20181006_171147070.jpg
Hong Kong 1711 Part08-7.jpg
hk sky2.jpg
street view.jpg

User Guide

Parameters

Parameters.png

Parameter Descriptions

Number of Floors: Controls the number of floors above the ground floor.

 

Center Width: Controls the width (x-axis) of the center segment (not including the sides).                              It also controls the whole width of the building when the sides visibility is                              turned off.

 

Center Depth: Controls the depth (x-axis) of the center segment (not including the sides).                            It also controls the whole depth of the building when the sides visibility is                              turned off.

 

Wall Extrude Distance: Controls the distance that segments of the wall extrude from the                                         main body of the building.

 

Random Color: Controls the random seed of the color applied to the extruded segments of                         the wall.

 

Window Side: Controls the width of the windows and the clothes racks on the walls.

 

Window Trim: Controls the thickness of the trim on the windows.

 

Horizontal Bar Height: Controls the height of the horizontal bar in the windows.

 

Number of Window Bars: Controls the number of bars dividing each window.

 

Garage Door Width: Controls the width of the garage doors on the bottom floor of the                                       building.

 

Rooftop Density: Controls the density of the buildings on the roof.

 

Roof Seed: Controls the random placement of the buildings on the roof.

 

Rooftop Relax Radius: Controls how the buildings on the roof space themselves out.

 

Window Drying Racks: Lets the user turn on or off the visibility of the clothes drying racks                                       on the walls.

 

Random Seed: Controls the random placement of the clothes drying racks on the walls.

 

Sides: Allows the user to hide the right and left sides of the building, leaving only the                      center (allowing for more variety and usability).

 

Side Width: Controls the width of the sides.

 

Side Depth: Controls the depth of the sides.

 

Rooftop Density Side: Controls the rooftop building density on the sides of the building.

 

Rooftop Seed Side: Controls the random placement of buildings on the roof of the sides.

 

Rooftop Relax Radius Side: Controls how the buildings on the side of the roof space                                                     themselves out.

Breakdown

Side Toggle Setup

I used a switch node controlled by a toggle on the top level building parameters to hide geometry. I wanted my building to have a higher level of customization, allowing the user to use it in more places.

Screenshot (13).png
Screenshot (23).jpg
Screenshot (21).jpg

Random Placement

I used the For-each loop to control random placement of geometry in a few places. I attached a switch node to a copy node in the For Each loop, which allowed the switch node to change its input for each iteration. That determined which geometry would be placed on which point. I used this same concept for the small huts on the roof, clothing racks under windows, and the color of the building extrusions.

Screenshot (14).png