I've started using displace and boolean modifiers to chop up this 4x4 grid to make somewhat random passageways, but I'm now realizing that these same shapes are going to be in every tile and am wondering if there is a way to procedurally generate shapes like these.
I've started by creating an 8-sided plane on the surface. Then I've added two displace modifiers. One X axis and the other Y axis. I use the built in noise texture to displace each vertex in the n-gon. I then use the subdivide modifier to smooth out the n-gon and make it look more like an amoeba like in my original texture. I then use the solidify modifier on the n-gon to give it thickness. Finally I use an array modifier to make stacked copies using an object offset scaled at 90% and vertically offset in order to get the shrinking layer affect.
As you can see, the problem is, each layer is an exact copy of the layer below, just a bit smaller. I'd love to get some variation in the shape and maybe even number of "blobs" on each layer. Just as long as an upper blob doesn't overhang a lower blob.
Can any of you clever Blender users think up a way to procedurally generate something like this so that I can generate new shapes by quickly modifying something? With the noise generator it randomly changes things each refresh. With other generated textures I had to move a reference object. Either way works for me because it is so much easier than hand-drawing new textures.
The shape layers should ideally be on a multiple of 0.2mm because that is the layer height I'm using to 3d print these models. Each shape layer can be a 1 or more print layers thick. Also, I'd like each square to have shapes that terminate at mostly the same height so that minis can easily rest on top. I want each shape to fit within each square in the grid and I don't want shapes to be cut off by the grid because that looks ugly and inorganic.
Maybe make a random hill shape and then somehow slice it into layers?
Is this something that is too difficult for the modifiers and should be done with a python script?
All the best, Brian