Custom Python node - Simple dynamic motion for motion graphic animation

Hi! Im currently playing around with an idea i’ve for a custom node I had for a waile. Its purpos is to generate simple dynamic motion for motion graphic animation.

What it does is basicly that it works like a jiggle deformer but for transform nodes instead of shape nodes, You have the same tranfromation inputs as usual e.g. Translate, Rotate & Scale. The aditional inputs are something like Jiggle, Stiffness & Damping.

I got it to work for one object. One custom JiggleAnim node that I’ve animated on Translate, Rotate & Scale. The output (3 vectors) is connected to for example a cubes transform node. And is generation kind of nice looking animation on the cube.

Nothing werid so far. But what I like to do is to be able to use one JiggleAnim node and output a array of translate, rotate and scale attributes each one offset n frames in time controlled by a offset attribute.

jiggleAnim1.out[0].translate
jiggleAnim1.out[0].rotate
jiggleAnim1.out[0].scale
jiggleAnim1.out[1].translate
jiggleAnim1.out[1].rotate
jiggleAnim1.out[1].scale
jiggleAnim1.out[2].translate
jiggleAnim1.out[2].rotate
jiggleAnim1.out[2].scale
And so forth, for n times, where n also is an attribute.

This way you could for example animate some squishy letters poping up one after another with just this one node.

So the question is, whats the best way to generate a output like this, an n time long array that holds three arrays.

Do anyone have any pointers on something like this? My first though is to create a for loop in the initialize clause in the node and have that run n times. Or is it a better way?

Is there any nodes in Maya that outputs its result like this?

Any suggestion?

Thanks!

/John