Procedural Abandoned House with Geometry Nodes

Hum, it looks cool , what’s the issue exacly, is it the small gaps or the fact that both aren’t joined at the middle ?
It looks basically like my results at first glance ! Hum, maybe, have you tried to provide an axis on the scale node ? try 1,0,0 or 0,1,0 …

All that said, that may not be the ideal project to get started with geometry nodes, but I don’t know of far did you get with it, or if you have already some experience with prodedural modeling or scripting…
Before starting this project I’ve done a lot of small exercise to get good basis , that was easier to build more complicated things eventually.
It’s not that complex but as it’s a lot of simple things put together it can be a bit overwhelming.

Good luck !

Thanks for the reply.I will see how far can go with this project and if i cant continue i will try other things.The problem is that they are separate and also that they are not like one roof but 2

1 Like

try the axis thing, and also probably the scale should be set to face instead of edge


I still get this

Okay i found it the problem was the individual in extrude

hahaha ! well done I didn’t figure out by looking at the node tree, I probably should rest :slight_smile:
Good luck !

1 Like

Sorry that i bother you again but do you know why boolean doesnt fill the holes

yes, you need to close the basemesh, because boolean works better with closed mesh.
The extrude node doesn’t work exacly like in edit mode, the basemesh don’t have a floor. you just need to join the shape before the extrusion, and use a flip face node to invert the normals. I think you don’t need a merge by distance node, but just in case, if it doesn’t work try to add it before the boolean.

A little Project? It is massive, amazing and an insperation to us all!

2 Likes

This is really awesome !!! I saw that it’s not possible to get the tool to play with it, and I fully understand that.

But are you willing to share some of the 3d models of the generetad houses ?

Thanks

1 Like

Hello and welcome to blenderartists !
To be honest,I haven’t tried to export the model or to apply the modifier, I guess some work is needed to make a clean export to something like sketchfab or even to make an .obj out of it.
It’s also quite heavy in polycount.
So, it probably won’t append, but I’ll keep people informed if I release some tutorials or more material based on that project !

Hello,

The house is progressing. I have generated a first version " annexes " with door entirely generated with nodes. Some parts will remain hand-modelled and distributed afterwards, like windows, door, tiles. It’s not very well designed yet.

I also managed to fix the UV problem: when generated with Curves, the final object, like the boards, has no UV and the texture is applied very badly. For those who need more info, check out Bradley’s tutorial: https://www.youtube.com/watch?v=_zXbPRYpi5I

I’ve started to destroy the house: while I understand how to make the holes, I can’t figure out how to make an impact effect, so that the area around the hole gets " dug ". Could you help ?

2 Likes

Hey ! congrats on your progress ! it’s taking good shape !
For the impact effect, well, it takes a bit of time to study references and find the right values.
One thing that worked quite well was to move everything down according to the distance from the impact : the nearer the hole, the bigger the translation. It works better with big holes, on small ones it make a bit unnatural, so the effect is also dependent on the size of the hole.
In that case every hole get the same size to avoid adding another level of complexity.
In essence it’s quite simple, you use the proximity to drive the offset of one position node.

It’s basically what’s described here :

You’ll probably need to add a bit of variation / randomness, one way for that is to add some noise to the distance that make the hole. But once again it’s all about finding the sweet spot to avoid too many objects going into each other or similar issues. Also it works a bit better if you have non linear effects : The translation in Z is more accentuated toward the center of the hole, and really subtle at the borders.

Hope that’s help a bit to get started !
Good luck and I’m looking forward what you’ll come up with !

Hey, I’m learning a lot here and I’m loving this.

I am trying to create some buildings from a basic flat “blueprint” which is just a couple a vertices all with z = 0
So far I have turned the mesh into a curve, resampled it with length to get the desired spacing of the modular parts and rotated them along the curve tangent. But I am havong trouble with the corner pieces, as they are not rotated as they should, because the curve tangent at those points is about 45 degrees.

Anyone have an idea on how I could get the rotations right?

PS: I also thought about using faces, as I could just use the normals of those for the rotation, but I haven’t figured out how to create only one point per face and also in the center of it.

Hello @Riki_Klein and welcome to blenderartists !
It’s really cool if you’re learning from all that and experimenting your own things !

So if it’s just the issue, you can look for the mesh to point node and use the “Face” mode, it will do just that.

For the curves tangent, my wild guess is that the tangent vector get’s averaged to the points, that’s why it fails at corners, because one point is connected to 2 edges and get an average of two different tangents. So it seems a bit more involved to solve that issue !

Ok, that is very easy now ^^

I struggle to find the nodes sometimes, also a bit confusing that the name of node changes if you change the type (for example on the “Boolean Math”).
I wish they would show the path/breadcrumbs when you are using the search for a node…

I am now trying to place roofs where the faces are pointing up, I tried checking the Normal Vector with an “Equal” and then plugging the result into th selection for the walls, but I can only get either walls an all faces or none at all :confused:

1 Like

Hey cool ! It’s looking nice !

I’m curious about how you did it , you use a fixed size for the panels and extrude the mesh 3 times, then convert the faces to points ?

Yes, I see what do you mean, I think the names makes sense if you collapse the nodes,
I tend to do that a lot, and keep “open” only the nodes where there is a parameter that could be useful to tweak, that gives me these kinds of tree :

I do that once the nodes are working and I don’t need to get back to them anymore, but it’s a matter of personal preferences.

And yes, if I understand you correctly, when you search for “Not” you can’t find it, only “Boolean Math” will do, but if you use drag link search it work and I tend to use that a lot now.
Probably at some point devs will unify everything, because groups don’t appear in drag link search but in the search menu they do… some corners needs to be smoothed out …

I’m not sure to completely get what you’re doing, but I’m sure there is a way, sometime it can take a long time to figure out how to solve a simple problem like that, I get stuck really a lot especially at first but most of the time I always find some way, sometime a bit convoluted , but it works in the end. GN are really powerful for that !

Good luck and if you’re really stuck post a screen capture or even better a .blend with a simple case and I’ll try to have a look at it , or maybe someone else will have fun looking at it !

Try using a dot product vector math node:

Input position into the first socket, and a custom vector ([0,0,-1] in this case) in the second socket.

The dot product worked, thanks :slight_smile:

I’m slowly getting there, now I have to fix the problem with the rotations I would somehow have to get the normal of the face next to them :thinking:

2 Likes

Hello,

Step by step… Some texture tests. (To forget a few seconds ALL the little bugs that still need to be fixed :no_mouth:)

I don’t know how you deal with it, but I dispatch the “Destroy node” one each part separatly; that way I can add a little variation in the hole, while keeping the position of the points in common.

I end up with mesh like this:

Did you also use a “merge by proximity” to fix it ?

Also, for the planks. They are all generated with a curve. Is it possible to add randomness in their position or to remove it? I understand how to do it with an on point instance, but not at all with a curve to mesh…

I have certainly the possibility to use a “hole generation” directly on it .

Thanks a lot for the tips !

4 Likes