Difficulty attaching buttons to cached vellum cloth sim

   3221   7   3
User Avatar
Member
45 posts
Joined: 4月 2016
Offline
Hello expert vellum users,

I could use some help.

I pre-cached a cloth sim using vellum I/O node. Now using Vellum Attach Constraint, trying to attach button geom to the pre-cached cloth sim and run a secondary sim to just adhere the buttons to the cloth (in the 3rd input) as if it were just deforming collision geometry. I want the buttons to remain as rigid as possible (ARAP)

Here is a simple example to share as I can't figure out how to keep these buttons from shearing even in this example.

Tried:
- velocity blending of 0.1-1.0 on the attach constraint.
- ReferenceFrame node
- shifting sim by 1 frame (seemed to help a bit. not sure why)
- turning off and on collisions on the solver.

NOTE: I have managed to get the actual sim to work using the stitch constraint but I want to know what I'm doing wrong here or if there is a bug expressing itself.

Any help will do. If you have any suggestions how to pin button geom to vellum cloth sims like a rivet so the button remains looking like a rigid, I would be very appreciative.
Edited by geordiemartinez - 2020年9月20日 02:49:52

Attachments:
example_cloth_buttons_v001.abc (7.5 MB)
simplified_attach_button_setup_v001.hiplc (1.0 MB)
sheary_buttons.jpg (141.3 KB)

User Avatar
Member
7803 posts
Joined: 9月 2011
Offline
If the cloth sim is already cached, is there a reason to not just use a rivet type constraint to rigidly attach them? I wouldn't try to push a button through a cloth sim and try to maintain its rigidity.
User Avatar
Member
45 posts
Joined: 4月 2016
Offline
I would like to use the rivet constraint. I'm puzzling out how to do that in a for loop at the moment.
Any example links? would be appreciated.
User Avatar
Member
555 posts
Joined: 2月 2017
Offline
besides the rivet suggestion, your setup is far too complicated for my liking…sure, I don't know what else you have in mind further down the pipeline…but for a simple test setup to iron out kinks…here's my simplified setup: (this setup would allow the buttons to push away other cloth objects in the same sim, while a rivet is an attachment after the fact)
Edited by vusta - 2020年9月20日 17:35:55

Attachments:
buttons.gif (132.8 KB)
vu_simplified_attach_button_setup.hiplc (1.2 MB)

User Avatar
Member
45 posts
Joined: 4月 2016
Offline
Thanks vusta!

I already have a stitch version working, but yours is a bit better. I have my bend stiffness way too high. Yours behaves better.

I am think I may just use a point deform method with just one prim per button and see what that looks like.
User Avatar
Member
45 posts
Joined: 4月 2016
Offline
The point deform method is a decent cheat. I will go with that.

I blew away all but a single triangle near each button and tweaked the settings and it looks great.

I think I'll make this an OTL that finds the nearest prim at rest and puts it in a group then blast the rest for button deformation during point deform time.

At least until I find a rivet method. But if that is just doing the same thing mathematically I think this will work.
Edited by geordiemartinez - 2020年9月20日 20:10:29

Attachments:
single_tri_per_button.jpg (64.9 KB)
single_tri_results.jpg (229.0 KB)
single_triangle.gif (11.7 MB)

User Avatar
Member
555 posts
Joined: 2月 2017
Offline
or whatabout instead of a simple triangle, have some sort of ‘proxy’ geo, low res as you can go…but enough as a collider…in case you want it to collide against something ?
Edited by vusta - 2020年9月20日 21:06:03
User Avatar
Member
45 posts
Joined: 4月 2016
Offline
I see what you're saying.

There are basically two ways to do this:
  • Sim with the button geometry (or a proxy) using the Stitch Vellum Constraint
  • Post sim using the PointDeform node to transform the button geom with a single triangle-per-button.

if you don't want to simulate with the buttons for some reason (I've had a few get stuck in parts of other meshes) you can use the PointDeform single triangle approach.

I like the weight of the buttons on the cloth. But I will probably turn off collisions using collisionignore and collisiongroups so they don't get tangled up.
  • Quick Links