Working on a building facade/skyscraper generator to learn procedural modelling & for my unreal game.

   2123   2   1
User Avatar
Member
5 posts
Joined: Feb. 2018
Offline
Hi All,

New indie subscriber! Used houdini years ago for a few studios but am now pretty much at square one.
Teaching myself vex and trying to make a building facade generator that can take a building footprint, and add levels etc.

The key idea is outlined here in the image.


As you can see, it is probably pretty simple to a seasoned houdini vet. I am currently stuck on step 4, trying to find a way to group those sections. at the moment, I am currently creating a point at the centre of each original face, also faceting the faces to make a bounding box to then select the points of the resampled and extruded building. hoping that with these I can group each side into a section to move onto step 5.

Any and all help or ideas on how to cleverly do any of these parts would be greaty appreciated.

Thanks!

Attachments:
buildingfacades.jpg (440.8 KB)

User Avatar
Staff
3455 posts
Joined: July 2005
Offline
very good plan IMO

for step #4 - you have each section already, just before the resample, you could use the convertLine SOP to get each segment, then a facet SOP set to Unique Points, now you have a line for each segment….

HTH
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
5 posts
Joined: Feb. 2018
Offline
Thanks arctor,

I ended up opting to go with a facet and edge cusp on angle to get my sections as it gives me correct outward facing normals from the get go, extruding after the convertLine SOP put some of the faces facing inward and I was left having to get rid of the bottom shape aswell.

As for now I am at a point where I am really banging my head on a wall. I am trying to sort these points on my pieces so that 0 is always the bottom left of the piece, this will be used as my copystamp point for the modular pieces.

I am certain that the normal of the primitive will come into play here, perhaps if I can use that to reorient the pieces to all face the same direction in a foreach, then use a sort by vector to make the bottom left the smallest would work - then returning the pieces to their original location. But I am at a loss of how to accomplish this?

Does anyone have any ideas on this or even better a more elegant solution?

Thanks

Attachments:
BuildingGenerator.hiplc (435.2 KB)
point sort issue.jpg (76.7 KB)

  • Quick Links