georgebersey
Nov. 13, 2024 12:18:27
Hi all. As the title says my constraints don't seem to be breaking, no matter what I change my distance threshold too? I'm using a SOP level RBD Bullet Solver, and a for-each connected primitive loop to fracture the separate floors and beams.
Thanks in advance!
Image Not Found
npetit
Nov. 20, 2024 03:56:36
If you have a hipfile it'll help identify what's going wrong. The way the sim is behaving looks very wrong - I suspect it might have something to do with you possibly having duplicate names in the RBD pieces and constraint anchor names since you are fracturing in a for loop.
Here's a simple example showing the distance threshold breaking the soft constraints.
georgebersey
Nov. 20, 2024 08:49:50
Hi, a .hip file was attatched, don't know where it went, here it is!
npetit
Nov. 21, 2024 02:27:38
I don't think that file is the same as the one you showed the problems with, I can't repro the issue in this file and the ball position is very different to the one in your video.
I did notice that you are fracturing the pieces in a for loop, which will result in duplicate names for different pieces - if you use a connectivity SOP to create the name attribute before the RBD Material Fracture SOP, enable the "Fracture per Piece" option, you'll get the same result without the need for a for loop.
You use 2 assemble SOPs to create the names with the same prefix then merge - this results in overlapping names.
In /obj/constraint_and_sim_test you unpack the packed fragments and pipe that through a connect adjacent pieces SOP to create the constraints (which have duplicate names). You then repack the unpacked geo with an assemble SOP set to create the names which creates new unique names - your constraints won't match up with the geo.
Here's a cleaned up version of your hip file with no overlapping names.
georgebersey
Nov. 21, 2024 14:16:24
Hi npetit,
Your solution worked! And I can finally move on from a massive halt.
Also, your tip with the Fracture per Piece check box I missed in the RBD material node, very useful!