Haven’t posted in this thread for a long time. Tiles are always fun, and here is a way to randomize tiles using texture lookup where the texture is randomly positioned, scaled, rotated, and mirrored for each tile. To generate the texture coordinate, you need a tile generator that outputs per tile texture space (bricks’n’tricks and synaglow’s tiles does this) or use builtin bricks texture where you feed random black&white output into a noise generator which is then added to texture coords. In this example I’m using my own which has some other tricks, but irrelevant - I’m only showing the randomizing node group and what you can achieve when using it on one or more big textures (I used some free ones I found on poligon). Textures need to be seamless, and they can be mixed and mangled any way you see fit. The idea is to use a big texture as a lookup and basically have no tile look the same - at least at first glance. If you have to look hard to find repeats, then mission accomplished as far as I’m concerned
So here is the node group that mangles the coordinates:
The Util.Math.vSign is just a math greater than, multiplied with 2, minus 1, operating on all three channels resulting in either -1 or +1 (used to mirror the scaling operation).
And here are two huge tests that shows how well it holds together when used:
The textures I’m using are very big and seamless (required). If I had a memory budget I’d probably use simplify texture size to see how much I could scale down the texture(s).