Hi Thomas,
Thanks for the kind words! Drop me a line any time if you need an extra pair of hands on a project.
If I understand correctly what you’re trying to do, then bring all of your comps into one main comp. On one of the layers, set the position to [0,0] then type in the following:
seedRandom(this.index, true);
[random(thisComp.width), random(thisComp.height)] + value;
That will randomly distribute the layers, but you can adjust the position by changing the original position value. (it will get added to the randomly generated position). Be careful though. If you add layers or change the layer order, the positions will change. This is because the random number is based on the layer index. You could give each layer a Slider and manually set the value and use this to generate the random seed. Something like…
seedRandom(this.effect("manual random seed")("Slider"), true);
[random(thisComp.width), random(thisComp.height)] + value;
But that’s more work…nearly as much as setting them randomly!
If you’re working in 3D, the random z component would need to be arbitrary as a composition has no set depth. Ideally in 3D, you’d want to distibute the layers in a pyramid radiating out from the camera and this is a bit more complicated, but a box will usually do the trick, if the depth isn’t too major.
Once you’ve put the expression on one layer, copy the position attribute (select it and Ctrl-C / Cmd-C ). And paste it onto all the others. Select ’em all (just the layers will do – you don’t have to select the position property to paste) and Ctrl-V / Cmd-V.
You could also check out Lloyd Alvarez 3D layer distributor script… https://aescripts.com/3d-layer-distributor/
Loads of other good automation scripts over at aescripts too.
Best,
-Ben.
vfx.benrollason.com