Procedural Interior Floor Generator

Hello!
I’m wondering if you had any advice on how to approach the creation of procedural floors based on an input geometry representing the outside of a building.
By isolating the horizontal edges and turning them into curve I can fill them to create each floor. My problem arrives when creating the walls inside of each floors, to create the feeling of rooms.
An other way to ask the question is: How would you generate a floor plan based on a contour.

I tried multiple solution, remeshing the floors and using the edge path node to draw some kind of pattern. But it works on only one mesh island and I’m not sure how to apply this on the other ones.
Another method I had was just randomly creating instances wall then deleted what was outside but the result was not very good looking.

Anyone with an experience with these kind of creation?

Here is a screenshot of an example model with the floors I managed to get (The pink part is just the input mesh shown with a wireframe modifier)

The approach I want to try next is to create a grid, duplicate it on each floor and delete random edge before extruding them.
Thanks in advance :smiley:

2 Likes

So I got some result using the power of Booleans, I think it’s good enough for what I wanted to do in term of look but I really wanted to avoid using booleans if it was possible.
Creating a dynamic floor plan for each floor will definitively be better…
But I’m not sure how to generate the internal lines on each floor island.

1 Like

Hello @Renart84 , how is it going ?

I’ve looked into that with my house generator :

The method I used wasn’t super precise on the edges, but it might be good enough to generate the walls…
Basically you need highly subdivided grids for the floors, and you can use a voronoi pattern as a basis to generate the walls, here is a basic starting point using face group boundary node that is much better to separate the walls :


floors.blend (156.9 KB)

Hope that inspires you !

5 Likes

Thanks @sozap ! I knew I saw something like that before in your building thread! I couldn’t find it again somehow… Thank you so much for pointing to it and the explanation :smiley: I’ll try this asap.

1 Like


@sozap Merci encore! It’s working well! I like how you use the snapping function to create a more geometric pattern. I had a little bit of trouble with the raycasting to extrude to the upper floors but here is the result.

Here is the nodegraph. It’s probably not the most optimized…


It creates some artefact in some case but it’s fine by me.

2 Likes

Great ! That looks quite cool already ! Can’t wait to see how that will end up with all the bang and whistles !

Hahaha as long as it works ! It’s always possible to cleanup later once the performances starts to be an issue, until then it’s better to focus on parts that matters :slight_smile:

1 Like