Make device groups iterate

It would be insanely cool if you could let World Machine perform iterations over the devices in a group. You would be able to, for example, use a series of small distortions on a select area, really smearing out pixels over a large distance instead of moving them over that distance. Another application would be to have a Selection and a Blur after that. You could then precisely blur out very specific parts of your map.

So, how would it work? You will have a group of devices with, for simplicities sake, one wire in and one wire out. WM will then feed back the output of that group’s wire into the groups input wire for an x amount of times. It would be extremely helpful if you could control the group’s iteration value with a macro parameter or something.

Do others think this would be helpful for them as well?

1 Like

So, not in particular as a group, but as a Macro-like device, I’ve long wanted to have a “Loop / Feedback” device which is substantially what you propose above, except with the contents inside a macro instead of in a group. This in particular is much easier to implement in WM’s architecture.

The simplest implementation would be identical to a macro, except with a Loop Controller device where you set the number of iterations (whose inputs could be set by a macro parameter,). After each iteration, the outputs are fed back into the inputs and the inner world processed again.

I can picture more exotic implementations that might make more convenient a few common use cases (hiding certain feedback data, having pre/post loop segments of the network), but the above would be the simplest thing that would work.

2 Likes

Thought of it as well as a macro first. The only benefit of using groups instead is the absence of the “macro world hassle” where you need to move into and out of the macro world every time you want to change something. But if it is easier to implement, which I can understand, then I don’t see any reason not to create a macro-like device.

1 Like