I would like to duplicate an object along a path, and also have the ability to manipulate the orientation of each instance individually.
Like in the picture above, where each object's orientation is determined by some unit vector defined somewhere, and possibly each object is just an instance of a duplication.
What have I tried #1: mesh & dupliverts
Parenting the object to a mesh, and selecting "Duplication > Verts" on that mesh, results in all the objects having the same orientation:
I'm not sure what happens exactly when I enable "Rotation" under "Duplication":
I know it should be possible to make the "vertex normals" count, but I don't know how to do that, and how to control these normals.
What have I tried #2: curve & dupliframes
Parenting the object to a curve, enabling "Duplication > Frames" on the object ("Speed" un-checked), then changing the "Frame number" in the Curve setting to match the number of Bezier handles.
This would be a worse solution, as the duplication would happen at each 1/n-th of the curve length, not at each Bezier handle. However, it doesn't work as the duplicated object don't seem to orientate according to the Bezier handles:
What I'm looking for
A solution that uses duplication, modifiers, standard mesh editing tools, or even python¹ would be appreciated. Consistent results are crucial!
Using particle systems wouldn't be great, as it's complicated to have fine control over each single particle/hair.
Please no animation nodes, as I can't seem to fully comprehend the pipeline. It'd be fine only as long as the solution is guaranteed to be the same, and already evaluated, every time I open the file, and static at every frame.
If I can't obtain this, I'll have to just manually (or via script) duplicate and adjust the objects, which is nonoptimal as the file size and memory usage would increase.
¹ I'm thinking of something like my attempt #1, where the orientation is linked (how?) to the vertex normals and python assigns these normals, if there's no GUI way to accomplish this.
Edit: @Lemon's suggestion (particle system)
One way to introduce some control on the orientations is to create a mesh with N vertices, assign a particle system to this mesh with
Emission: Number = N, Emit from: Verts, "Random" un-checked, Velocity = 0, Physics = No, Rotation enabled.
One can then play with the "Rotation" settings.
However, having control over "Rotation", in a way not limited to "Phase" and "Random", is what I need. I can start from one of these settings, but then I need to be able to control and adjust some of the particles.
Updated with @Lemon's suggestion: