Detecting if pieces have been broken in a Vellum cloth tearing simulation.

   2008   2   1
User Avatar
Member
5 posts
Joined: 6月 2017
Online
Hey, short version:


A sphere is remeshed, broken into pieces with Edge Fracture.
Vellum cloth, pressure and weld constraints are added to it. A break threshold is given for the weld.
Geo and constraints streams are brought into a DOP network, nothing fancy.

The restlengthscale of the pressure constraints primitive group is increased with a few keyframes.

This causes the balloon to inflate and after a while it tears apart because of the welds being broken. At this point i would like to disable the pressure on the “broken” pieces. I cannot figure out a way to do this, there is the broken group that the weld creates but i can't seem to do much with it.

I hope i've been clear enough.

Thanks in advance!
User Avatar
Member
7 posts
Joined: 8月 2018
Offline
A bit yearish late on this one

But I've been in the same case those days, and i think i found some info to get that broken data out
So i have the test case of an inflating sphere with weld constraints that get broken through pressure.
Checking the group_broken on the points, it seems to stay empty even if there are some broken points.




I did unlock the vellumsolver and found where that group is set on the points. From there if I set an attribute @broken, which is not a group, and add it to the attributes to create channel, i can get that correct value broken with 1.0values in it




So from there to detect the frame of the break, it becomes easy i think, with a sopsolver, a blast keeping only points @broken=1, and an npoints() function checking if the blast gives 0 points or not would be a way of doing that probably !
Edited by folpatte - 2023年4月8日 20:20:15

Attachments:
broken_group_empty.png (531.4 KB)
broken_set_attrib.png (858.3 KB)

User Avatar
Member
2 posts
Joined: 2月 2021
Offline
@folpatte, thanks this was really useful. the only trouble i have is that i get broken attribute set only on one side of the broken weld, not on the other piece. any idea how i can get selected the points and broken elements on both sides of the weld? thanks!!

Attachments:
Screenshot 2024-02-04 191640.png (2.7 MB)

  • Quick Links