I am using Blender to animate drone light shows.

  • Each drone is represented by an icosphere with an emission material.
  • A drone light show is basically a series of images and the drones navigate from image to image.

My workflow is to represent each image with empties. Then, the drones will move to all the empties in image 1 (I use dynamic parent for this, great plug in!), after a few seconds, the parenting to the empties on image 1 will stop, the drones will navigate to the empties in image 2, and parent again, etc until the end of the flight.

Right now, I am animating the movements between scenes by hand. So, after the end of an image, I look for the empty that is closest to the icosphere and navigate to it.

Of course, using hundreds of icospheres, there are bound to be collisions during these movements and I must correct all the movements by hand, moving icospheres and adding keyframes. This is all very time consuming.

What I am trying to achieve is the following (assuming we use 100 drones for this example).

  • 1 select 100 empties as target positions.
  • 2 Use some sort of plugin, or script, or animation nodes node tree that would calculate a path between where the icospheres are now, and where the empties are and would move all the icospheres to their new positions while maintaining a minimum distance between icospheres and not exceeding a maximum speed during the movement.

I have tried the "limit distance" constraint, but it does not work for our application. When two icospheres get too close, the limit distance constraint introduces jerky movements and very rapid speeds that cannot be replicated by a real drone. Also, the limit distance constraint introduces a lot of problems when rotating a complete scene or trying to do small adjustments to it.

  • 1
    $\begingroup$ Have you tried particles? $\endgroup$
    – vklidu
    Sep 23, 2021 at 19:08

1 Answer 1


This is not complete answer, since I have an issue with distancing, but could be time saver for you to track "images".

I was thinking about Physics type Keyed to transit from one image to another.

enter image description here

... and use Force Field Setting > Type1 > Charge with Self Effect enabled. So particles should keep distance when Falloff is set right (Plane 2x2m, bigger face 1x1, smaller 0,5x0,5 ... Max Falloff is set 0,75 so particles on smaller are pushed away from each other.)

enter image description here

Anyway ... when animated use this script to make particles real and animated (or export as Alembic file and import back) ... adjust collisions manually if still needed.

... but even it is working for Physics type Newtonian, I don't see effect for Keyed.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .