Some pieces stay in the air when destroying a building

   2071   5   1
User Avatar
Member
5 posts
Joined: 11月 2017
Offline
I'm trying to destroy this building by deleting glue constraints according to proximity to the animated “tendrils”. For the most part it seems to work as expected except that some pieces stay up in the air.

I've tried disabling sleep from the rigid body solver by using 0 as sleeping time with no noticeable difference. I've also tried increasing the glue constraint iterations from 1 to 50 or even 500 which slightly improves the situation and produces less floating pieces but doesn't fix the problem.

Attachments:
test.[1-100].mp4 (5.1 MB)

User Avatar
Member
310 posts
Joined: 7月 2012
Offline
Probably need a hip file to check this one out. Try disabling your glue system to see if it falls naturally without it. It looks like it could be an active value thing.
User Avatar
Member
5 posts
Joined: 11月 2017
Offline
Thank you for the reply, Midasssilver. Without the glue it does crumble completely on its own. I used a visualizer node to visualize @active attribute and it looks good. It think it has something to do with how Bullet seemingly only “activates” pieces that have been hit and ignores others to speed up the sim.

I've attached my project here. I apologise for the mess

Attachments:
arch destruction.zip (14.8 MB)

User Avatar
Member
310 posts
Joined: 7月 2012
Offline
Okay, so I checked out your sim and have an answer to your problem. The reason some glue constraints aren't being deleted is because the attribute transfer you are using to transfer your “del” attribute has too small of a radius. If you increase the radius dramatically, then all the glue constraints get removed. This, however, isn't a solution to your problem. With the current way that you are creating curves that spread the attribute, the radius they cover with the attribute transfer simply isn't far enough to encompass all the constraints. I would suggest checking out propograted growth, as having your attribute grow over time to spread throughout the entire constraint network, is probably the most organic way to achieve what you are looking for.

Also, I see you are doing most of your constraint deletion work in DOPs. While this does work, it can also be hard to visualize, because you can't see exactly what is happening inside the sop solver. I prefer to do most of my constraint stuff in sops, so I can see how the constraints get deleted, before the sim even begins. That would tell you exactly where your delete attribute is spreading to.
User Avatar
Member
5 posts
Joined: 11月 2017
Offline
The propagated growth idea sounds promising.I was trying to make the building fall be simulated as much as possible as opposed to controlling everything with constraints, but I guess your proposal gives better art direction too.
If I do the constraint deletion in SOPs, will the simulation still be able to break them or will it always bring in new constraints from SOPs overriding whatever happens in DOPs?
User Avatar
Member
310 posts
Joined: 7月 2012
Offline
Yea, you just delete the constraints in SOPs (ex. with color), and they get removed from the sim. Test it with a simple scene. You can probably remove your entire sop solver setup inside the dop as well.
  • Quick Links