I'm starting a new series of blog posts related to exploring Substance Designer in more depth. For a long time I've wanted to learn more about the power of FX Maps. This node gives you so much control, and opens things up for a whole new realm of possibilities in SD. In order to take full advantage of it however, you need to basically learn how to do some programming. After transitioning from Photoshop to Substance Designer for most of the texture authoring needs for 3D rendering, it felt more comfortable to go deeper into the ways of programming FX Maps to achieve things you otherwise couldn't. I'm not a very technical person, so I apologize for the relatively
From this first image you can see, that you can have as many inputs as you want feeding into an FX Map (i'm unaware of any limitation). What this means is that, in this case, I created a stone tile generator, which itself can have infinite variations. I created 20 variations, and then input all 20 into an FX Map, to be assembled into random patterns.
Once you right click on your FX Map, and enter the FX Map Editor, the way FX Maps work is that the more Quadrant nodes you connect in your FX Map Graph, the more the FX Map will divide the 0-1 space. The icon on the node represents how it exponentially divides the texture space the more quadrants you add.
Each quadrant has variables. Here for instance, I have edited the variable for input images. Remember I made 20 variations of my stone tiles. Well here I can tell the FX Map to see all 20 of those stone tile inputs, and randomly arrange them in the texture space.
You can set parameters to function randomly within a range of constraints, to ensure you're getting the desired result every time you change the Random Seed of your Substance Graph, to produce a new variation.
The results are very promising. Now I can get a lot more variation and control out of the distribution of tiles for a pattern like this.