# How to slide a box with Geometry Nodes over rollers?

First picture a cube animated to be moving in the y direction. As it moves, it passes over conveyor rollers. Each roller then begins rotating because of the contact forces.

I am trying to animate this phenomenon using geometry nodes, mostly because the instances created are easy on memory usage. I stumbled on something that gives me hope, but it needs serious tweaking.

The rollers do rotate when the empty passes the vertices, which is awesome, but they rotate to an unspecified position - rather than begin rotating on their Z axis.

I have changed the object to a box for this demonstration, in the actual animation it will be an infinitely long piece of aluminum, so there will be no rollers 'behind' the object. So the solution doesn't have to have rollers stop rolling after the box has stopped touching them.

Any help is appreciated.

• can u provide blend file? Commented Oct 18, 2021 at 5:19
• Ok, it's attached. Hope it all packed well. Commented Oct 18, 2021 at 21:31
• There is an alternative way to solve this using simulations in this question - blender.stackexchange.com/questions/240910/… Commented Oct 19, 2021 at 2:17
• the link doesn't work. The file is not public Commented Oct 19, 2021 at 17:36
• It's public now Commented Nov 5, 2021 at 0:00

Please note: This solution is more of a Geometry Nodes trick.

If you want to solve it solidly, I would rather recommend Animation Nodes, Physics or other approaches.

If you really absolutely and inevitably want to use geometry nodes for this by hook or by crook under all conceivable circumstances, you can abuse the following setup:

Using a value for the feed per frame, calculate the arc length of the cylinder and let it rotate according to the current feed.

If you are really funny, you can also add an inertia after the box has passed a cylinder.

Something like this:

Here is the node group:

And here is the blend file:

(Blender 3.1+)

• Are you serious? This is epic. I am very impressed. Commented May 3, 2022 at 13:10