I need to create an animation of a vacuum cleaner, which sucks objects (coins) into itself.

Here's the reference of vacuuming I need to create:

Enter image description here


  • 1
    $\begingroup$ Could you elaborate a bit more about the animation itself... it's not everyday that we use a vacuum cleaner to suck coins... $\endgroup$
    – lemon
    Feb 19 at 8:47
  • $\begingroup$ Could you do it in reverse? Have coins spat out of the vacuum cleaner, then play the video in reverse? $\endgroup$
    – F2Andy
    Feb 21 at 8:45

2 Answers 2


You could create a cylinder (Rigid Body > Type > Passive, Shape > Mesh), a Force Field inside the cylinder (Type > Force, Strength > -600 or whatever), the coins (Rigid Body > Type > Active), an invisible funnel that will help to move the coins towards the cylinders (Rigid Body > Type > Passive, Shape > Mesh), and of course the floor (Rigid Body > Type > Passive):

enter image description here

  • $\begingroup$ nice, but only feasible for a few rigid bodies. What happens, if the animation should last longer and suck in hundreds of cubes? i think then you could be soon in trouble ;) $\endgroup$
    – Chris
    Feb 19 at 10:36
  • 3
    $\begingroup$ @Chris perhaps nothing that couldn't be fixed with some invisible funnels, nudged judiciously :) Or.. maybe, shooting in reverse? ... hard to say, without knowing the shot/style. $\endgroup$
    – Robin Betts
    Feb 19 at 10:51
  • $\begingroup$ Sure, a storyboard would help ;) $\endgroup$
    – moonboots
    Feb 19 at 11:06
  • $\begingroup$ Thank you! Could you explain how to create the invisible funnel? It is just a shape or something else? $\endgroup$ Feb 19 at 13:48
  • $\begingroup$ I added a link for the reference. Please, have a look $\endgroup$ Feb 19 at 14:06

A more cartoonish approach could be like this:

enter image description here

Geometry node simulation.

enter image description here

It starts with points distributed inside a volume.

Store a random rotation on these points (it will be used later).

Calculate the distance between points and an empty. If this distance is less than a given value, mark the instances as "moving'.

The movement itself is to go to the empty given a float curve and to scale down the radius so that all these so many coins are able to fit inside of the vacuum tube.

Last, if the distance is short, delete the point.

After the simulation, instanciate the coins on the points with the random rotation calculated and stored at the begining.

(Blender 4.0)

  • 2
    $\begingroup$ Nice: looks like a story-board to steal bitcoin from an online bank! $\endgroup$
    – james_t
    Feb 19 at 16:02
  • $\begingroup$ Thank you!!! is it posible to add phisics to all of them? I want them to collide with each other, react to others movement $\endgroup$ Feb 19 at 17:52
  • $\begingroup$ Not easily at all with geometry nodes, for now. But for "full" simulation improving on what proposed moonboots should work. $\endgroup$
    – lemon
    Feb 19 at 17:54

You must log in to answer this question.

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