Author Topic: Is there a way to output an atlas of noise samples/slices?  (Read 1519 times)

Is there a way to create an arbitrary number of output slices of noise and tile them into a texture atlas?

For example, say I wanted to output an atlas of 10x10 tiles, I would want 100 tiles arranged as a texture atlas, with the disorder set for each noise at n * (1/100).

Here is an example I have set up manually with four slices:





The tiles start from the top left. The disorder is set to: 0.0, 0.33333, 0.66666, 1.0

This is easy if a little fiddly to set up with a small number of tiles, but if I want 10x10 (100 tiles) this is going to be madness to set up.

I was wondering if FX Maps might be possible for such a thing?

Thanks for any help!

Having just discovered that .sbs files are actually just XML structures, I think I can hack together some JavaScript/Python for outputting what I need, but it’s going to be pretty hacky.

Two things I would like to see in Substance Designer which it doesn’t have, as far as I know, either of which would have provided an actual solution to this problem:

1. Set parameters in the FX Map that affect nodes preceding it. For simplicity sake, perhaps you would need to mark a parameter on a node as ‘FX Map accessible’ so that it appears as an alterable parameter. So in my case, I could have a noise node with Disorder marked as accessible, leading into the FX Map. Then inside the FX Map I can set each iteration to have a different Disorder value. In this case: (1 / NumberOfIterations) * IterationNumber

2. Some sort of scripting for the creation of nodes. I use Houdini a lot, and you can use Python to create, connect, and set parameters on nodes. With this, it would be easy to run a for loop that would creat an arbitrary number of noise, transform, and blend nodes set up the way I did manually with that setup above.

For now, I will just have to hack it together!

Be sure to check out the substance automation toolkit if you haven't already. I haven't personally played around with it yet, but I saw a video a while back where they did something in the direction of what you're trying. https://www.youtube.com/watch?v=NJ_7tFA20xI

That said, if you do still manage to modify the fx map to randomize the input node per iteration, that'd be an absolutely amazing feature that I, along with probably a lot of people, would be very interested in.