Bifrost Forum
Welcome to the Bifrost Forum. This is the place for artists using Bifrost to ask and answer questions, browse popular topics, and share knowledge about creating effects procedurally using Bifrost. You can also visit the Bifrost Community on AREA to download an array of ready-to-use graphs, read Bifrost news and updates, and find the latest tutorials.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Procedural house generator with Bifrost?

Message 1 of 7
1451 Views, 6 Replies

Procedural house generator with Bifrost?

Hi there! I’m new to Bifrost graph and programming whatsoever I mainly work as a generalist and modeler but that’s why I started learning the tool. 

I saw this video from a Houdini tool to create procedural houses with custom models and I was wondering if a tool like this could be developed with Bifrost Graph: 

I thought was posible thinking it could be just creating an invisible mesh that could be randomized and use vertex positions to instance walls, floors and roofs that could be switch depending on the look you’d need.


Though as I’m not a programmer nor have any experience with Bifrost graph I couldn’t figure out how to create that base mesh to start with haha, or how to get the correct orientation for each floor, roof or wall. I’m thinking would need to use the Point information from that invisible mesh but set up to query for specific angles or normals. 

Anyways, do you have any idea if this could be done inside Maya? If so how you’d approach this? Please be aware I might not get it right away as mi background is more artistic than technical but I’d really love to have a tool like that and also to learn Bifrost. Maybe I’m asking for much since it’s a topic more like for a tutorial but would be something I’d dig.


So, if you have any idea it would be awesome if you could share it! If you don’t have the time or for whatever reason don’t want to share, I’d be very grateful for any advice on where to start learning with this use in mind.


Labels (1)
Message 2 of 7
in reply to: juapes


This is definitely possible to make this kind of stuff, but with Bifrost's current state you'll have make almost everything from scratch, and It might take you a lot of time depending on the kind of procedural modeling tool that you want to make.

Since you've said that you don't have much experience with Bifrost, I recommend that you start by trying to make a simple polygon or a cube from scratch using construct_mesh... it should help you to get familiar with mesh properties. Then maybe you can try generate random walls using a source mesh's edges, and do more advanced stuff.  


Compound that can be useful: update_face_tangents, update_mesh_normals, get_mesh_structure, delete_faces, update_point_neighbors.... (some of them are available in the rebel-pack).

Maxime Jeanmougin - Technical Artist

Join the Bifrost Addicts community on Discord:
Message 3 of 7
in reply to: mjcg91

Instead of creating the mesh directly in Bifrost the only other approach I can think of would be to create a bunch of different assets for walls, railings, and so on, then to push those through as Bifrost instances. The tricky part would be to build the assets in a smart way that they can connect properly as the structure is being built procedurally. Maybe even add a simple rig to them so it's easier to deform them. That approach would be pretty cool since you can make some very intricate pieces.


Though the best way to start and get a full understanding of what's going on in that video is from the author himself. He released its Houdini asset over here. And from the YouTube comments he sounds very open to help if you send him a message.


By the way this reminds me of Tyson Ibele's old school building generator tool in 3dsMax. Maybe that can give you more insights too!

Message 4 of 7
in reply to: mjcg91

Thank you! I definitely was thinking to start of out of simple boxes and having inputs that would instance over that base box but for sure first I have to learn how to model those meshes within Bifrost.

Message 5 of 7
in reply to: juapes

Hey there! I've been learning a lot (for me at least) about procedural modeling with bifrost and managed to create a perimeter that can be randomized yeay baby steps.


I had a follow up question thay maybe someone in the forum knows a way to compute the base plane inside this perimeter? This setting is pretty basic: 4 "sequence array" of points one for each side. Each Sequence gets random log values to stay on maya unit size and then I used "for each" to add points in between these in the sequence to create the 90 degree angles at those randomized points. Then I used MJ extrude strand compound to create the "walls". 


I'm trying computing the base dimension grid first and then adding the random extra spaces but if someone knows a better way to create this calculation without constriaining it to the base dimensions of the square it would be greatly appreciated for an artist with 0 background on coding and doing it's best haha. I'm including the scene if someone wants to check it out.





Message 6 of 7
in reply to: juapes

Thanks for sharing! Thats really cool!

Message 7 of 7
in reply to: juapes

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators