Animating array elements based on their position on a curve

Hey there!

I’ve got a very long (~1000 elements) array of objects. The object with the array modifier is animated to translate in X-direction and follows a curve with the curve modifier. So all of its 1000 clones are following the curve as well.

Now I want all objects change their color when they’re passing a particular point of the curve. To be precise: Not all array objects should change their colour simultanously, but when each of them passes a point on the curve.

Is that possible? If so: how may I achieve this behaviour?

Many thanks in advance!

Have you thought about the possibility to use particles instead of an array modifier? I think that might work. You can animate the material based on the age of each individual particle.

I’m not quite sure if I understand the problem correct, but it sounds like if you can use a driver for that driving the colour depending on the location…

just a thought…

As long as you make real instances instead of using an array modifier that would be great. I’d probably go with that option myself, but it might be slow (with that many objects).

Thanks for the replys!

As long as you make real instances instead of using an array modifier that would be great. I’d probably go with that option myself, but it might be slow (with that many objects).

Yes, indeed it’s very slow… and somewhat clumsy to work with.

Have you thought about the possibility to use particles instead of an array modifier? I think that might work. You can animate the material based on the age of each individual particle.

That would be nice! But I remember the beginnings of blender 2.5 where it wasn’t possible to animate particles based on their life time when duplicated objects are used. Is that possible now?