r/blenderhelp 17h ago

Unsolved How to create an array of moving objects along a curve/path?

Hello everyone,
my goal is to create multiple animations of different electrical components. These red balls are supposed to represent electrons. My method of using an array modifier, deforming the array with a curve, and parenting the array to an empty to create movement along the curve has been the closest ive gotten to my desired result, however, whenever theres a bend/corner in the curve, it deforms the individual balls and makes it look strange. I have attempted to use Geometry nodes, but that also hasnt gotten me much further.

I really, really do not want to manually add and animate every single ball, considering i also have to make about 6 or so animations like this. Google has not given me anything useful. Does anyone have any pointers, or a Geo-node setup that does something similar? Thanks in advance.

2 Upvotes

10 comments sorted by

u/AutoModerator 17h ago

Welcome to r/blenderhelp, 123YooY321! Please make sure you followed the rules below, so we can help you efficiently (This message is just a reminder, your submission has NOT been deleted):

  • Post full screenshots of your Blender window (more information available for helpers), not cropped, no phone photos (In Blender click Window > Save Screenshot, use Snipping Tool in Windows or Command+Shift+4 on mac).
  • Give background info: Showing the problem is good, but we need to know what you did to get there. Additional information, follow-up questions and screenshots/videos can be added in comments. Keep in mind that nobody knows your project except for yourself.
  • Don't forget to change the flair to "Solved" by including "!Solved" in a comment when your question was answered.

Thank you for your submission and happy blendering!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/C_DRX Experienced Helper 16h ago

Geometry Nodes it is. Use a mesh as the path, you don't even need a curve.

3

u/C_DRX Experienced Helper 16h ago

This setup gives you total control (through keyframing) over the speed and the amount of dots (or any other shape; I used an IcoSphere but feel free to replace it)

1

u/123YooY321 16h ago

This works perfectly, thank you!!! I do have two question, how to reverse the flow of objects? Turning the speed value negative has strange effects.

1

u/C_DRX Experienced Helper 15h ago

Add a Reverse Curve node after the Mesh to Curve node. You can plug it in the Group Input to expose the parameter if you need to keyframe it.

2

u/Qualabel Experienced Helper 17h ago

Typically, the effect of movement is created by having, say, three sets of dots and turning each set on and off sequentially.

1

u/123YooY321 16h ago

I think i understand what you mean, but im afraid that it wont work in my specific case, because i have to slow the animation down at certain points too.

2

u/Saint_modo 16h ago

Why not use "Instancing"?

Instead of making an array of your shape, make an array of a single vertex. Then, simply parent the shape you want to the vertex array object, go into the "Object" menu (orange square), and in the Instancing panel, select the "Vertices" option.

Now your object will use the vertices positions of your array as references and won't be affected by the bending or morphing of the Curve modifier.

2

u/123YooY321 16h ago

This works well! Im going to try the geometry node option, but this does the job!

1

u/Saint_modo 16h ago

Yeah, Geometry Nodes is more future proof. I should really start learning it myself, I only know the old ways.