Jump to content

Vellum welding fractured solid (or extruded) objects


bentway23

Recommended Posts

I'm probably missing something basic, but I haven't been able to find the answer to this--

 

I want to tear a solid object (either a solid/watertight mesh or simply an extruded object with an output back) using vellum, with an object pushing out from inside and breaking the tear/fracture. I assume there would be a fracture (either RBD material, or voronoi, or boolean), and in the vellum setup, after the cloth and struts/pressure/tets/whatever, append a weld. The problem is that I can't get the weld to recognize the inside fractured edges as the parts that need to be attached. (I've also tried stitching points to a similar lack of avail.) Perhaps there's some sort of grouping I need to do? Any suggestions on how I can get a solid object with welded pieces so something can tear its way out?

 

Thanks for any help!

Link to comment
Share on other sites

Try using an edge fracture followed by a group, with include by edges enabled. Supply that group to your stitch points. Pay attention to the group types, set them all to points.

Edited by Atom
Link to comment
Share on other sites

A bit hard to suggest options without seeing how you're currently going about it - can you upload a simple example of your setup? 

Attached is a basic way; fracturing and defining the piece attribute on primitives seems to let the weld do its thing without much hassle - scale the breaking threshold by the breakthresholdscale attribute on your points and tweak all the settings as usual

Edit: My bad, I missed the "solids" aspect of the question;  you might want to try a grains setup for that, I believe there have been examples posted on here for that, or on the U-tubes.

 

Edited by ryew
Link to comment
Share on other sites

Thanks both for your suggestions--

Atom--I've tried the edge fracture thing, but the problem is that it doesn't fracture everything, just the outer shell of the object (pic attached). I tried doing this method, fracturing pre-extrusion and then extrusion, but it doesn't behave like one piece that's tearing, it behaves like a bunch of pillows smushed together--I haven't been able to get the points to recognize each other as good mates for gluing.

Ryew--I've done some searching and haven't found a way to use grains to drive a point deforming mesh, but perhaps if I fracture the mesh and use each piece as a separate grains cluster that will do the trick. I'll give it a think and a go.

 

Capture.JPG

Edited by bentway23
Link to comment
Share on other sites

In case this is of further interest to anyone--I took Ryew's suggestion and in a for loop converted all the individual pieces to vellum grains. I used two sets of glue constraints to do the softbody-ish elements--unbreakable glue constraints for the "islands" of grains that will do the deforming, and breakable constraints between the islands to handle what would be the welds in a 2D (well, not solid) vellum object.

The next hurtle is creating those seam glue constraints. For this quick example which only has three fractured pieces I just made three different glue constraints (plus the unbreakable glue), but that is clearly not scalable and thus not a final solution. To make that scalable I just need to create those constraints manually from primitives, but I haven't found a way to do "connect adjacent points" but connecting only points of two different groups, rather than the same. Soooo, the next step will hop over to another forum post.

This method would require some judicious camera placement because there will be some mesh penetration (although I'm testing this with a very low-res grain setup, so probably more grains would increase the fidelity), but does what I was looking to do. (Thanks, Ryew!)

grain_deform_02.hiplc

  • Like 1
Link to comment
Share on other sites

You're close, the answer is kind of embedded in your question. :)

You already have the pieces defined both via groups and via a @class attribute. Ideally the vellum constraint sop will be able to recognise the pieces via one of these methods, and only make constraints between the pieces, not within them.

Turns out this is a built in feature; set 'define pieces' to be 'from attribute', set the piece attribute to 'class', now it will only make constraints between different pieces.

The other bit that always cataches me out is that both the group type and target group type drop downs have to be in 'points' mode.

constraints_pieces.thumb.PNG.76b01befe152b3cec1d828e699f4996d.PNG

grain_deform_02_me.hiplc

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Exactly what I was looking for--thanks! (And thanks for the other million questions your website has answered along the way, as well . . . .)

Someone on a SideFX forum thread pointed out that you can use the cluster attrib on the glue search to only create constraints within groups. I didn't have to do that on my setup because my grains setup resolution was so low the constraints were never jumping the gaps between pieces.

I dove into the vellum constraints node to see where the prim creation happens to see if I could just steal that small part to do this same setup but not for dynamics, simply for connecting points of separate groups. It looks like the magic in the glue constraint creation hinges on a "createGlueConstraints" function which appears to be not accessible to layfolk and possesses no context help info.

Now if you'll excuse me, I have some floppy things to tear up.

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...