|
Just a brief observation here without having looked at any of your code..
but disabling collisions between two already interpenetrating bodies, is this really a well-tested scenario?
What I mean is, there might be tons of state variables and caches inside Bullet that could cause trouble.
I've looked at lots of code inside Bullet and while it is a great work in total, it IS undocumented to 95% and contains a LOT of special cases with a lot of hacks. As usual in complex code, cases that are not tested all the time can and will rot.
If I was in your shoes I would do this:
1) reduce all objects to a BARE MINIMUM, this includes removing all but one of the trays, and removing all sub-shapes in the compounds except one box (for example)
2) when you want to "glue" your objects together, don't do it that way - remove/delete the green blob, then recreate an identical blob in the same position and add it to the world with a constraint that disables the object collisions. Same that you do now but with a new object, and this case is known to work.
Regards
|