My goal at the moment is to create a 2D field of a particular object, with each instance rotated a 45° more than the last. An ASCII art illustration of what I want to get, from a top-down view:
| / - \ | / - \ | . . . / - \ | / - \ | / . . . - \ | / - \ | / - . . . \ | / - \ | / - | . . . . . .
Well, something like that. I'd have to fiddle with the 2D aspect, but it's first dimension I can't seem to get a hold of, just getting what looks like the object spinning as it moves forward. I can't seem to accomplish this in a way that doesn't involve ultimately duplicating each instance by hand.
Here's what I've tried:
I first reach for the array modifier, naturally, but as you can see it doesn't work; the translation of each object is done to the "local axes"(?) of the previous repetition, meaning it'll spin the array in a circle instead of what I want.
So while searching I learned about dupliframes and tried using that. It takes care of the 45° rotation that stumps the array modifier, but then I'd like to use an array modifier to repeat the group of four I have. That modifier doesn't work:
Not too surprising, considering I am animating an array-modified object now, so I guess I'll just "apply" the dupliframes (make them individual objects) and try to link an array modifier between them. But it creates the same issue as above.
At this point I'd have to apply rotations to get it to work, but in doing so I need to un-share the underlying mesh, and then that ends up not being a solution, since it's no better than manual copy-pasting.
Ideally, there'd be a better array modifier that worked on objects rather than meshes, and that would just let me say "Rotate: (0, 0, -45°) Translate: (0, 2, 0), on global axes" for a total of four objects and have it handle the apparently super tricky task I want to accomplish (then further modifiers would be able to simply repeat the group of four, of course).
However, since as far as I know this ideal modifier doesn't exist, what's the closest approximation to it? Or am I stuck needing to manually duplicate everything?
(Honestly, if I could just tell the array modifier to be based on the global/world axes instead of local ones, this would already be solved.)