Walls, walls and more walls (geonodes wall making thingy)

Today I have mostly been trying to improve the ‘damage system’ and getting extremely pee’d off with the mesh boolean node. There are now two ways to remove blocks or change the shape of the wall; you can knock stones off (as shown earlier, but now you can either leave the capstones turned on (so they follow the new shape) or have them removed too (so more like decay) or you can ‘slice’ the wall using a boolean. Both use collections as ‘cutters’. Suffice to say that this ‘feature’ is extremely temperamental, glitchy, infuriating, frustrating, slow… did I say frustrating? I assume I’d have to call it ‘experimental’ if released as a product! :grin:

However, if willing to persevere I think you can get some nice-ish results. Although, again, in many cases I can’t see why anyone would bother using this when a material would probably be just as good (and, when I start cranking up the noise and making my node group a bit more drystone wall-like and potentially useful, the blummin’ thing gets even more bothersome and slow!)

Anyway, some example renders to share (I’ve rendered them so going to share them!)


‘Ornamental’ brick garden wall - maybe - using boolean… but here I imagine a material might do the job just as well.

‘Ornamental’ brick wall using original block removal. For your lazy builder who doesn’t want to cut any bricks. On both of these, you can see I’ve abandoned mortar for now.

Stoney serpentine wall using booleans (capstones hide some of the mess left by the boolean node)

As above but the other method - looks a bit more like general decay, though in this case not very random.

A more formal wall - using boolean to change height and add a slope - but again a decent stone material / texture might do the job here too. Adding any noise or variation here made it go nuts.

And finally something more rugged, using block removal and no capstones. Quite like this one.

Cheers
Laz

13 Likes

Sine wave walls, I like it. I am picturing someone obsessed with maths building walls around their property with the top shaped like math functions.

1 Like

I’ve been making more subtle tweaks that aren’t really noticeable (mainly to noise options; more of them, and can also now have more controls over certain aspects of the blocks). Leaves a lot of gaps, so you really do need to have a second wall behind to hide the mistakes. One day I’m sure I’ll work out how to move the blocks in relation to each other (like gravity).

Main reason for the upload is, as always, that I’ve enjoyed playing with all the settings to get something I like. I do quite like this and it works OK (I think).

Decided to pull back and have a wider view as it my original plan to make something that looked good as a complementary background asset - and so getting some distance probably helps :slight_smile:

EDIT:

Had an idea earlier and decided to test it out… make a building! I thought the node group might lend itself to a derelict stone barn, of which there are many near me. As a first experiment it isn’t too bad I suppose, but once again demonstrated how frustrating my ‘damage’ system is. Sometimes even when blocks are well within the ‘cutter’ mesh they just will not disappear. So, in this case, I had to convert it to a mesh and delete some blocks manually. But actually, that wasn’t too painful and if it gives me a starting point then worth having a go again in future. Could be one area where this might have some advantages over a material (maybe). There are some other quirks though about how the mesh deforms around the curve. Not an issue for straight lines but not as keen on going around bends. More fun to have in sorting it all out.

… and now just playing (hence not bumping :))

5 Likes

But the daff wall is in front of the stone wall… :thinking:

Yes…. I may have a little problem with my daffodil obsession! I never think there are quite enough :joy:

Rubble is back (had to start again and try something new on that ‘feature’), but needs a bit more work to make it controllable and have more ‘artistic control’.
Daff season is now over unfortunately, so now its time for severe overuse of bluebells instead :laughing:

Gone for a painterly style because… well why not?

The blocks in this one are using a material I created using images taken from a walk at the weekend. Quite fun - I’ll be on the lookout for other potential sources on my future wanders around the countryside.

I think this image is going to be the inspiration of my next bit of ‘proper art’… ruined barn, country track, probably a lake district backdrop, some sheep, daffs, bluebells (probably!)… the usual for me!

7 Likes

Have been having a break, including a lovely week away in the Lake District (just for a change… and getting lots of ideas!). Although running out of steam a bit on this little project of mine, I can’t help tinkering.

As well as some other subtle things, I have now started to work on ‘inserts’. If you look at many a dry stone wall you will often seen quite random large stones (or boulders in some cases) that break up the standard pattern. I’d already got something that did this purely on the horizontal stones - merging some to make them bigger - but I wanted something vertical too. This is a first attempt. The image is exaggerated for effect but you get the idea. This is not an elegant approach; requires the brute force of a mesh boolean node. This would have been impossible before the manifold option in 4.5 (or extremely slow). This new option is a game changer IMHO, so thanks to the devs and/or contributors!

Much to do to make this usable. More control over positioning of the inserts and size and so on, and will probably give an option of using a collection so can have different shapes. But I think it could add a little interest (though will always need some tweaking to look good as there will be little slivers left over here and there).

First go:

Quick Edit: Now keeps crashing! :grin: :roll_eyes:

7 Likes

This has had another very significant overhaul since the last update. I’ve rebuilt how the blocks are made (again). I’ve also built my own recursive subdivision setup - from tutorials. I wanted to learn how it worked so that I had more understanding and control. The way I’ve done it is very different to the original and I think will allow me to make more changes for the better - especially as I now know what is going on (to an extent anyway!).

Another big change is that there is yet more scope to distort the blocks to allow more variation (can be subtle but the image above uses the new approach and the blocks are more irregular).

As you can see from my other recent thread, I’ve also been trying to get it to work on a proper project. I’ve found a lot of issues with it, so back to improving things soon. Unfortunately, work is going to be taking me away for a bit soon so far less time to play.

5 Likes

A new embryonic approach to getting even more variations… (this shifts some vertices around on Z axis, last tweak shifted them around on the X axis)… this would be useful for a more random approach. I’m going to try and make this so you can use it selectively. One problem is that it breaks the recursive subdivision and can only be used if all blocks start off the same size. But might give some interesting (if not necessarily realistic) results.

Edit:

So, turns out I can’t work out how to make this effect ‘selective’, as it needs a lot of split edges to work and, if they aren’t all split, then it breaks everything. So would just have to be an ‘either/or’ - at least until I can work out an alternative approach. Always learning.

In the meantime, have another render :slight_smile: (If I spent more time sorting out the nodes and less time rendering random settings for fun, I might get somewhere!). This uses a bit of ‘Z’ and a bit of ‘X’ distortion, and some quite small course heights to get what I hope approximates to a stylistic lake district slate wall… although having not used a reference, it may look nothing like one.

5 Likes

After an extended break from this, making snow globes and the like, I have returned to my magnum opus!! :wink: As with all great works it is likely only to be appreciated by the masses after my death!

While I was away from the project it seems I completely forgot what most of the nodes were doing… but I was determined to make some much needed improvements. So we are now on about the third or fourth complete rebuild of how the walls are actually built.

Without GIFs or video - neither of which I really know what I’m doing with - its hard to show what has changed but one weakness of how I did it before was that you could set how many courses/rows of bricks you wanted and either how tall each block should be or set min and max random heights. The problem with this was that there was no way to set the height of the wall and have random block heights; with every seed change, the height of the wall changed. This doesn’t matter if you’re happy to mess around constantly to get the look you want, but what if you know that you want some randomness and the wall to be 1.4m tall? Couldn’t be done. So - although its hard to tell from any images - you can set the height of the wall and the randomness will be constrained within the overall height. So far I’m not convinced it looks as good, but does offer more control.

The other change - which is only partially implemented - relates to getting some automatic removal of blocks. Previously, the wall was deformed at the end of the process to fit the curve it was based on. All well and good - but what if the curve undulated (hills and stuff)? The wall would automatically follow the curve, which wouldn’t necessarily give realistic results (courses will normally be level). To resolve that meant having a flat curve and using ‘cutters’ to remove blocks (If you look this: (Another) Lake District Landscape I had to have a lot of cutters to allow the wall to follow the hill downwards without looking completely unrealistic). It was a pain to set up and very temperamental. As such, I’ve decided there should be an element of automation. As can be seen below, you can now have the curve undulating and it will cut out the blocks so that you get a (relatively) consistent height in relation to the bumps, while remaining level. A third option allows you to just keep the base consistent with the curve but have a flat top (this is probably unnecessary but is an option nonetheless). The ‘normal’ cutters still work, I think, so still provide some scope for variation. I intend to add some more options to automatically shape the wall based on separate curves, options to slice the blocks rather than remove them and some other bits and bobs.

What I mean is shown below - but hard to discern any change from some earlier images… but I promise there are changes!!**


‘Follow the curve’ (which in this case is the same as the ground) but keep courses/rows level and wall height consistent relative to the curve.

‘Follow the curve’ but keep the top flat. Might reduce faces but could just have a very tall wall on a flat curve in this example.

‘Follow the curve / deform exactly’… This is an extreme example that wouldn’t be realistic, but might be useful in some circumstances (more gentle gradients, weird and wacky walls).

As above, next step will hopefully allow even more control and variations.

Cheers
Laz

2 Likes

blender_27_July_6w7iyNgYUk(1)(1)

Not sure how the GIF will turn out, but just trying to show some of the additional functionality. Now you can set the height of the wall, or fit it between two curves, which gives you a lot more control over the shape of the wall. It can get a bit slow depending on the detail of the wall and number of sub-divisions etc.

4 Likes

I’ve been into geo nodes a bit recently as well, you might want to check out the “Is Viewport” boolean node. This should let you set up the nodes to run in a lower subdivision level or lower certain heavy parameters while working in the Viewport and make things more usable while editing the base shape

3 Likes

More updates in my little “keeping myself off the streets” project.

One thing I’ve never liked is the fact the ends of the walls were always just one wide block. In most stone walls it wouldn’t be like this… so I’ve cobbled together something which I hope looks a bit more realistic (ie the wall would be a mix of ‘through stones’ and smaller stones). At the moment it can only be two blocks max (again, many stone walls would be more than that but it gives a better impression - I think - which is all I was after really anyway) and it breaks a lot - so more refinement needed. Also need to have options to turn the effect on and off and allow selection of more or less rows to split.


May have to make it so you can have the same thing on the top stones too… for another day. Its never ending! :roll_eyes: . For every thing I “improve” I also break something else - so constantly having to tinker. But, as aforementioned, it keeps me off the streets!

9 Likes

So - been having quite a lot of trouble with Blender 5.0 but have made a little update so you can have the ends split, the top split, top and ends split or neither (as well as controlling the proportion of blocks affected and some random seeds). Still only two blocks. Just adds some more variation and visual interest (if not necessarily realism).

I’m sure to the geonodes wizards this looks all very simple and ‘meh’ but to a ignoramus like me, this is quite the challenge! :grin: Hope it still looks somewhat ‘stone wall-y’ (a possible product name!?).

Have decided lots of things now need revisiting, so have done away with the existing coping/cap stones, inserts, cutters and will be trying to make them all work a bit better now I’m learning more and more. Still all incredibly hacky and messy though!

Cheers
Laz

7 Likes

So I should entitle this “update” '1 step forward 4 back’. Just as I was getting quite happy and thinking about starting to mess with some other things I wanted to try, I decided I better test some different scenarios and… BANG!! (image below).


To say I was gutted would be an understatement (a: it would be effort to fix and b: it confirmed I still have very little clue). Basically, everything just broke as soon as I drew any curve not along the x-axis (doh). This had never happened until I did the ‘split end’ thing and, in setting that up, I’d been a complete moron and forgotten a lesson learned early on. So has taken ages and a lot more hacky messes to basically get back to what I had.

At least have got it back to what I basically started with (will probably break again as soon as I try anything different). Nothing new, other than it sort of works and only uploading as I’m quite relieved and because its good to show failures :slight_smile:

Now back to what I wanted to do a fortnight ago!

NO BUMP EDIT:

Nothing really new (is there ever… just rehashing, refactoring and fixing things) but I’ve been spending some time trying to learn some things so that I can ‘roll my own’ node groups for various things, thus reducing dependency on other people’s assets but also to make things more controllable and better for me (mainly by getting a better understanding of the mechanics). Also fixed / tried to fix a few irksome issues.

Anyhoo, have another render of a wall, heavily post processed using photoshop and g’mic because, well, why not? I think it looks reasonably convincing (superficially, I mean I don’t know if a wall like this would stay standing but at least it looks quite random and ‘rustic’).

Just treating this post as a bit of a sketchpad now… just playing. Have some moss.

ANOTHER NO BUMP EDIT:

Have been working on getting the rubble to work a bit better (a lot better). Only marginal success so far. But here is a render with some rubble (not quite enough to justify a new post!!). Need to work out a better way to get the fallen stones to sit under the ‘hole’ better and pile up (using raycasting and it sort of works but could be a lot better - something weird happening that needs more investigation). Stupid real life work getting in the way of my fun at the moment.

YET ANOTYHER NO BUMP EDIT:

Got the rubble working a bit better. It wasn’t placing the stones in the right place and you can now have a lot more control over distribution and making little piles of stone. Can and will improve this ‘feature’.

6 Likes

Seems you need some sort of versioning, so you can roll back much more easily when things go catastrophically wrong. Breaking things can be quite fun and educational when you don’t have to worry about losing what you had before.

4 Likes

These look amazing! Do you mind sharing some clues to how it works? I’m only just getting started with geonodes myself.

I’m working on visuals for a cottage renovation in west Ireland and the land is criss crossed with walls just like these.

Hi.
Away from my main PC this week due to work so can’t give a detailed breakdown or screenshots. My set up is more complicated than this but I’d start by googling tutorials on arraying random sized objects on a curve and recursive subdivision (there are some links to tutorials for this early in this thread). You might also want to look at stacking objects using Accumulate Fields node. Not necessarily easy to combine these things to something that looks right if not experienced in geonodes but you can have some fun trying different things.
Once I’m back at my PC I might be able to give some more considered advice but these are good starting points.
Hope that helps.
Lax

Adding an ivy option was something I wanted to do from the start and I’ve managed to make a reasonably good start. Some examples below. As always, need to make some improvements about control, placement and realism but a decent proof of concept (the red is just there to show the effect more clearly). These are also using some leaves from botaniq for now.

These also show the slightly improved rubble and ‘cutting’ options.




Onwards and upwards :slight_smile:

Edit:

Added some more controls. Can have the ivy growing from the top or from any random points on the wall (there are also controls to allow you to control which side of the wall the ivy grows on but these aren’t shown here). Currently the ‘top’ setting is a bit too even and needs some more randomness.

Have also added more control over density and can render with or without vines (some of the vine density controls are a bit odd at the mo and would need some clarifying).

Think there is more to do to get some more variety and fine control.


10 Likes

The last one looks like Boston ivy.
Great work. Keep it up! :+1:

1 Like