1
$\begingroup$

I made an arm with rotating geometry nodes and I want it to push a thin cube.

Once you start the animation, the thin box falls on top of the plane. OK for that. After 50 frames, the arm starts rotating. Ok for that also. But the arm through the thin cube instead of pushing it

enter image description here

I defined a plane with the rigid body as passive and the thin cube as active. I defined also the arm with the rigid body as passive.

enter image description here

What am I doing wrong?

I use Blender 3.5. I saw that in old versions it could not be done. I hope it is possible to do now.

$\endgroup$
3
  • $\begingroup$ AFAIK you cannot use rigid body + geometry nodes on one object for this state of development. But....there is a git branch for it projects.blender.org/LukasTonne/blender/src/branch/… (if you want to experiment) and i know there was a python solution...i try to find... $\endgroup$
    – Chris
    May 19, 2023 at 11:22
  • $\begingroup$ IDK if this is the same with Geometry Nodes, but for animated objects to interact with Rigid Body you need to change the collision Source (on your screenshot) to ‘Final’. Have you tried that? $\endgroup$ May 19, 2023 at 11:31
  • $\begingroup$ I tried to change the collision source to 'Final' but it still doesn't work :( $\endgroup$ May 19, 2023 at 18:21

1 Answer 1

2
$\begingroup$

I've managed to replicate this fault and it does appear that the Rigid Body simulation captures the collision shape of each mesh at the start of the simulation and those are not updated (at least, it does when set to 'Final') during the rest of the animation.

You can prove this out by skipping to the first frame where the meshes intersect and invalidate the rigid body simulation by selecting any rigid body object (or all) and manipulating it in some way (eg, 'G' to grab, then accept its position without actually moving it - this will invalidate the simulation). Then play the simulation from that frame.

In my example, the intersecting meshes (the rigid body and the geometry node manuipulated one) instantly fly apart, showing that the simulation is actually able to pick up the geometry note result - but then the rest of the rigid body simulation carries on without further changing the collision bounds!

What all this means is that the Rigid Body simulation is capable of receiving the output from Geometry Nodes but it is never aware of any changes.

You should put together a bug report with an easily replicatable example (along with instructions similar to the above to trigger the actual collision to show it working under those circumstances) and hopefully the developers can apply a change to address this in a later release.

$\endgroup$
3
  • 1
    $\begingroup$ Thank you very much for trying it. I've been trying for a couple of days and couldn't get it to work. I'll do what you say and send a bug report. Let's see if we can make Blender better together. Thank you again. $\endgroup$ May 20, 2023 at 20:17
  • 1
    $\begingroup$ Bug reported ! projects.blender.org/blender/blender/issues/108144 $\endgroup$ May 22, 2023 at 11:28
  • $\begingroup$ Fantastic - thanks. $\endgroup$ May 22, 2023 at 14:18

You must log in to answer this question.

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