Collision Geo changes Bullet Solver behaviour

   1365   5   2
User Avatar
Member
8 posts
Joined: 2月 2020
Offline
I have a rather simple bullet solver SOP setup. A shattered box falls to the ground. As soon as all the constraints of a piece break, said piece starts to shrink.
That all works fine. However, as soon as is introduce a collision geo (a simple box in this case) into the simulation the pieces start to shrink right away while being still "attached" to the constraints.





Quite baffling to me, but probably just some stupid oversight on my part. I would appreciate someone with more experience taking a look at the problem.

I'm using Houdini 18.5.759 for that one.

Cheers!


Image Not Found

Attachments:
shrink_after breaking.hiplc (1019.5 KB)
Bildschirmfoto 2023-04-04 um 13.31.02.png (607.6 KB)
Bildschirmfoto 2023-04-04 um 13.31.15.png (507.5 KB)

User Avatar
Member
2551 posts
Joined: 6月 2008
Offline
Delete your RBD Solver and drop down a new one.
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
8 posts
Joined: 2月 2020
Offline
Unfortunately, that did nothing for me. I got the setup working in Houdini 19 but in 18 I'm still struggling.
I think it has something to do with how I read the Dop Data from the ConstraintGeometry. As soon as there is a Collision Object there might somehow be conflicting data.

Is there a more explicit way to pipe in DOP Data than using $OBJID?
$OBJID/ConstraintGeometry

Attachments:
dop_data.png (35.0 KB)

User Avatar
Member
2551 posts
Joined: 6月 2008
Offline
Weird, works for me...



Try upgrading to the latest build H19.5.569.

Attachments:
rbd_shrink_fix.gif (569.5 KB)

Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
スタッフ
365 posts
Joined: 2月 2008
Offline
If I remember correctly we changed the order in which the collision and rbd objects are created between 18.5 and 19 or 19.5.
In your setup, $OBJID returns the incorrect index and cannot find the constraint geometry, and thus starts shrinking all of the pieces immediately.
Try replacing $OBJID with `dopobjscreatedby("../../rbd_object/")`
User Avatar
スタッフ
733 posts
Joined: 10月 2012
Offline
I don't recall if this was added in 19.0 or in 19.5, but the correct approach would be to use the "Use This Object's Data" toggle and just set the data name to "ConstraintGeometry", which will use the ConstraintGeometry subdata of each object the solver is applied to

The $OBJID appraoch doesn't work because this isn't evaluated separately for each object
  • Quick Links