Finally back to doing some Houdini at home! woo!
I was going to do some cloth shading but got sidetracked and started playing around with some cloth tearing instead. I went back to H12.5 as 13 wasn't working for fracturing ... or I was missing something obvious!
The idea is to cusp edges perpendicular to edges that are stretched beyond the threshold:
For each point (currently A), each neighbor is tested to see if it is stretched beyond its rest length. In the diagram edge B is stretched. The neighbors are looped through again to find edges that are most perpendicular the edge B (which is C and one of D and E) . Those points are added to the "toCusp" Group. The group is promoted to and edge group and the edgeCusp break the edges.
There are a bunch of other tests as well:
Here is the video:
Houdini cloth tearing from Sam Hancock on Vimeo.
and here is the .hipnc
I was going to do some cloth shading but got sidetracked and started playing around with some cloth tearing instead. I went back to H12.5 as 13 wasn't working for fracturing ... or I was missing something obvious!
The idea is to cusp edges perpendicular to edges that are stretched beyond the threshold:
There are a bunch of other tests as well:
- If some neighbors have already been split, it will use a lower tear threshold so that tears tend to propagate. The average direction of the torn edges need to be perpendicular within a threshold to weaken the edge being considered (edge D and E in the image)
- Points have a counter on them so that an edge needs to be stretched for 3 iterations before it will break. This is so that a breaking edge will have time to release the stress on nearby points to try to avoid a lot of edges tears simultaneously. This restriction is bypassed when a point is weakened by nearby tears.
Here is the video:
Houdini cloth tearing from Sam Hancock on Vimeo.
and here is the .hipnc
Awesome
ReplyDelete