Constraints from Surface Points on Packed Primitives? How Do I Keep My Pieces in Place?

   1681   1   0
User Avatar
Member
6 posts
Joined: March 2015
Offline
Hello!

I've recently been working on a scene where I need multiple bent sticks to fracture.

I fractured a stick with normal glue first, but that looked too much like a shatter, then I messed with Bullet Soft Constraints before I eventually got a pretty good looking result!



HOWEVER I then had no idea how to make multiple sticks from these multiple, interlinked networks. The automatically set up DOP network meant I had no idea how things were hooked up or what was going on.

After going through Steven Knipping's “Rigids I” course [www.cgcircuit.com] and creating fracture networks from scratch, I had a better idea of what was necessary. This time I assembled the primitives of the stick and copied them with a copytopoints, building the constraints after a wrangle to create the name attribute.

THE PROBLEM is that while I was previously connecting adjacent pieces from surface points, now I can only connect adjacent pieces from points. This makes sense because the primitives are packed, but it means that the constraints only connect to the one centroid point, which allows the pieces to be able to slide out of place as the simulation runs.



Previously they were being held it place nicely because each long shard was constrained in multiple places. Now just running the sim without outside force will cause them to eventually slide apart and become a jagged mess.

Is there a way to use surface points to build these constraints? Build them upstream and copy them for use later? Unpack and re-pack? I feel like I understand more of what's going on than I did, but I'm kind of lost here.

Thanks,
Edited by Urzaz - July 15, 2019 17:26:28

Attachments:
Wood_MultiBreak_Share.hiplc (491.5 KB)

—Dylan
User Avatar
Member
6 posts
Joined: March 2015
Offline
I think I figured it out! It makes sense now but it's pretty easy to hook stuff up slightly wrong and wind up in a situation that does NOT work.

Previously I was connecting the pieces after copying to points and naming the pieces with a wrangle node:


Now I built the constraints once from the starting geometry, before packing the pieces, which let me use Constraints from Surface Points and hold each piece from multiple points in a more rigid way.



Then I use the same copy to points to duplicate the constraints and also duplicate the wrangle node that names each primitive before feeding them into the DOP network.

Hope that helps someone!
—Dylan
  • Quick Links