I would like to reduce the value looping rotation of the leaves on this foliage design further towards the base of the design. I could do this manually by setting two keyframes and setting the rotation of each leaf from a negative value to a postive value. Then I can add the expression

loopout ("pingpong")

to achieve the motion in a short loop that can be time remapped.

However it is tedious to do this for multiple leaves.

I am aware of the index expression and how it can increase a value like rotation depending on the value of the layers index number in the stack on the timeline. Can the index expression also be used to target individual keyframes.

It would be nice to be able to increase the value of the rotation from -2 to 2 degrees at the base of the plant up to say -16 to 16 degrees right at the tip using an expression like index combined with something else to automate the process of setting up the rotations?

Thank youPlant

1 Answer 1


This kind of thing might do it?

enter image description here


Null control at the top has a slider for movement and a slider for scale factor (how much you want each index position to be affected).

The rotation of each "leaf" is controlled by an expression.

thisComp.layer("Null 1").effect("Slider Control")("Slider") * (thisComp.layer("Null 1").effect("scalefactor")("Slider")*(1/index))

Which takes the value of slider 1, multiplies it by the inverse of the scale factor.

Then a "loop out" property on slider one and three keyframes does the animation (number of keyframes is counted from zero):

loopOut(type = "cycle", numKeyframes = 2)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.