Website powered by

Building Generator (WIP)

A WIP Building generator tool for my first block in Y2 BUAS, I used Anastasia Opara's Procedural lake house tutorial as a base reference to get into building generation. After the first video I started to understand the Houdini pipeline and how vex works and decided to develop my tool from there. The tool should be used to convert block-out geometry in unreal engine into buildings. The tool currently allows for asset instancing but will be further developed for blueprint placement, this will allow for procedural placement of moving geometry. (think flags, vents, vines)

Tool results in Houdini

Tool results in Houdini

User Block-out  (The input of the system) + Balcony selection box (a block to group primitives that become the balcony)

User Block-out (The input of the system) + Balcony selection box (a block to group primitives that become the balcony)

First pass of identifying body id's

First pass of identifying body id's

First window ID pass

First window ID pass

Identifying windows and giving the ability to have varying models be placed. (chramp is the input for distribution, 0 is first asset, 1 is last asset) this ramp distributes evenly. (point cloud, copy to point to place assets)

Identifying windows and giving the ability to have varying models be placed. (chramp is the input for distribution, 0 is first asset, 1 is last asset) this ramp distributes evenly. (point cloud, copy to point to place assets)

Balcony railing ID based on balcony selection box

Balcony railing ID based on balcony selection box

Base roof shapes from Body input + first pass of Roof Id's

Base roof shapes from Body input + first pass of Roof Id's

Identifying roof midline/edge and tile positions

Identifying roof midline/edge and tile positions

merged point cloud of all ID'd points and their variations (roofs/balconies/balcony railings/windows/doors and walls)

merged point cloud of all ID'd points and their variations (roofs/balconies/balcony railings/windows/doors and walls)

Importing assets, All assets go into a single merge. (gets copied through a name attribute)

Importing assets, All assets go into a single merge. (gets copied through a name attribute)

The result + controller

The result + controller

In engine prototype, It still has some issues but the base to develop from is there