4
$\begingroup$

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.

enter image description here

enter image description here

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.

enter image description here

Any help is appreciated.

https://drive.google.com/file/d/1ql4uhv56mDo9Zoi90qtU5dlxss1dwinw/view?usp=sharing

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

1 Answer 1

4
$\begingroup$

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:

enter image description here

Here is the node group:

enter image description here

And here is the blend file:


(Blender 3.1+)

$\endgroup$
1
  • $\begingroup$ Are you serious? This is epic. I am very impressed. $\endgroup$
    – JB Riley
    May 3, 2022 at 13:10

You must log in to answer this question.

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