Controllers:

I'll run through each option on the Controller layer:

Main

Time Offset (Seconds): The time offset in seconds of the rotation, scale and position properties of the animation layer. Keep in mind that seconds are quite long, so it's normally best to keep this between 0.02 and 0.5. Reverse it to reverse the offset!

The bottom layer will always 'stick' to the keyframes. If it's a minus time (eg. -0.1), the front layers will be offset after the keyframes, and if it's a plus time (eg. 0.1), the front layers will be offset before the keyframes.

Circle Size: The size of the circles in the animation, separated from the 'size' of the controller. This won't be offset by the Time Offset.

Size Offset: This offsets the size of the layers. If it's set to 0 all the layers will be the same size. It's not controlled by the 'size' keyframe of the Controller layer.

Circle (Checkbox): When this is on the layers will all be circles! Polygon sides and Polygon roundness will have no effect when this is checked.

Polygon Sides: The number of sides that the polygons will have. 3 is a triangle! No idea what 20 is called though. If you animate between these, the polygon will 'grow' new sides instead of snapping between them.

Polygon Roundness: The roundness of the Polygon. Play with + numbers to create blobby looks, and - numbers to create some crazy stuff.

Rotation Offset: This offsets the rotation of the layers - similar to the size offset, it's separate from the 'rotation' keyframe of the Controller layer.

Appearance

Fill: Turn circle fills on/off.

Stroke: Turns circle strokes on/off.

Stroke Thickness: Controls the thickness of the stroke on the circles.

Fade on Scale: When ticked, each circle will take on the same opacity as the scale in the Animation layer - so the lower their scale, the lower their opacity!

Colors

Fill Color Layer: Here you choose the layer you want to control the Fill of your Circles. It will read the layer right to left, with the right colour being the top layer! When you load the script, you should set this first before you begin.

Fill Color Sample Offset: This will offset the y axis sample of the layer you have chosen to use for your fill. By default colours will be taken from directly across the center of the layer you've chosen!

Distribute Position: This will distribute your layers across the screen to better show you where the fill is being taken from. Remember to uncheck it again when you're done to go back to your keyed frames.

Stroke Color Layer: Here you choose the layer you want to control the Stroke of your Circles. It will read the layer right to left, with the right colour being the top layer! When you load the script, you should set this first before you begin.

Stroke Color Sample Offset: This will offset the y axis sample of the layer you have chosen to use for your stroke. By default colours will be taken from directly across the center of the layer you've chosen!

Cut Effects

Edge Cut

Follow Main Rotation (Checkbox): When this is checked, the effect will follow the main rotation of the layer. When it's unchecked, it'll lock the rotation to what you've set it to!

Cut Amount: 'Cuts' the circle with a single cut from an edge point inwards. If only the strokes are turned on, it will look the same as a slice!

Cut Angle: Changes the point on the circle that the cut starts.

Cut Rotation Offset: Offsets the rotation of the cuts on each circle individually.

Cut Time Offset: This lets you offset time of the effect. It works the same as the main 'Time Offset (seconds)' Control!

Slice

Follow Main Rotation (Checkbox): When this is checked, the effect will follow the main rotation of the layer. When it's unchecked, it'll lock the rotation to what you've set it to!

Slice amount: Makes your circles into slices of tasty-a-pizza. 'Slices' them radially from the center (unless you've changed the center point)

Slice Angle: Changes the angle of the slice on all of the circles.

Slice Rotation Offset: Offsets the slice angle of each circle individually.

Slice Position Offset: Changes the center point of the slicing for lots of variety - eg. if you put it above the circles it will look more like a wipe than a slice!

Slice Offset (Time): Time offsets the slicing of the circles, if it's been animated. Offsets separately from the first time offset, so you can mix it up!

Wave Cut

Follow Main Rotation (Checkbox): When this is checked, the effect will follow the main rotation of the layer. When it's unchecked, it'll lock the rotation to what you've set it to!

Wave Cut Amount: This controls the amount that the Wave will cut the object.

Wave Width: The width of each 'wave'

Wave Height: the height, or strength of the wave

Wave Rotation Offset: Offset the rotation of the waves on each layer!

Wave Position Offset: Offsets the position of the wave - for example, if you move it up you can make the circle look as if it's a liquid, and moving it sideways will move the waves across!

Scanlines

Follow Main Rotation (Checkbox): When this is checked, the effect will follow the main rotation of the layer. When it's unchecked, it'll lock the rotation to what you've set it to!

Scanlines Amount: The amount, or thickness of the scanlines.

Scanlines Width: The width of each scanline. Set it higher to make them wider!

Scanlines Rotation Offset: Offsets the rotation of the scanlines on each layer!

Notes:

If the script doesn't work, let me know why (circles@othercubed.com, or the comments below) and I'll try and help with my very limited coding knowledge.

I've made this in my spare time as a fun and (hopefully) useful tool, so I can't promise any full support for it. I also can't accept any liability should something go wrong while you use it, or if anything breaks.

I'm happy for you to use it wherever and however you want, but if you do it'd be great to credit and link back to my site! I love seeing what you guys are up to, and a link back here helps me hugely.

Many thanks to Zack Lovatt (http://zacklovatt.com/) for his guidance with some of the scripting, and putting up with me pestering him.

Have fun, let me see what you manage to do with it, and let me know any changes or future versions you'd like to see!