Array modifier linear scale I'm trying to make a repetitive shape, with an array modifier and an empty object as a driver, but I can't scale it linearly.

When I scale my modifier driver, I got a curve as you can seen bellow.



And I want a linear scale like the image bellow (made manually without the modifier).


I would like to keep the modifier way to make it because I can also make animated rotation via the modifier, like this :



Is there a way to do this kind of scale with the array modifier ? is there any other options ?

Thank you in advance for your help :)

[Edit]
I just forgot one thing to mention about what I want to do, I want also to offset the different layers like the image bellow. But Again, if I offset via the Array modifier driver, i get a strange curve.


Here is what I want to get (if possible) :
You can do this quite easily using two Simple Deform modifiers.


Add an Array modifier to your mesh.  





Add a Simple Deform modifier, set to Taper.
Use Deform Factor to control it.





Add another Simple Deform modifier set to Twist.
Use Deform Angle to control it.