Jump to content

How can I completely remove wrinkles from a vellum sim?


Recommended Posts

Hello,

I am working on a project (can't share the file. I'm sorry) where I am squeezing some spherical objects against a wall.
I am using vellum pressure constraints to simulate it and I am trying to keep the stretching when the squeezing gets too hard, but prevent any wrinkles.
Imagine a bubble that just can't pop, being squeezed extensively against a surface. That's what I'm going for. Lot's of stretching bu no wrinkles.

So far, the stretching is working fine as expected but I am getting wrinkles no matter what.

I tried setting the stretch and bend stiffness to 100e+10, both damping ratios to 0.8, I tried 10 substeps and 3000 constraint iterations on the vellum solver, I even tried using vellum struts and vellum shape match but literally nothing has worked. No matter what I do, I can't get rid of the wrinkles.

What would be your approach to get this effect?

Thank you a lot.

Link to comment
Share on other sites

To help control the wrinkles, you could try running the simulation on a lower-resolution version of your geometry. This often reduces unwanted artifacts like wrinkling. Once you get the desired stretching effect, use a pointdeform to transfer the low-res motion to a higher-resolution mesh. Adding a subdivide as a final step can help smooth out any remaining details and give you that clean, stretched look without wrinkles.

Let me know if that helps!

Link to comment
Share on other sites

You can also try to reduce the vellum cloth restlength constraint during the sim as the surface becomes compressed to reduce wrinkles.



In a wrangle you could do something like

f@restlength = min(f@restlength, primitiveintrinsic(0, 'measuredperimeter', @primnum);

which will keep the lower value between the existing constraint and the current edge length of the constraint.

Link to comment
Share on other sites

On 11/13/2024 at 4:20 AM, Drughi said:

To help control the wrinkles, you could try running the simulation on a lower-resolution version of your geometry. This often reduces unwanted artifacts like wrinkling. Once you get the desired stretching effect, use a pointdeform to transfer the low-res motion to a higher-resolution mesh. Adding a subdivide as a final step can help smooth out any remaining details and give you that clean, stretched look without wrinkles.

Let me know if that helps!

That's what I ended up doing and it worked like a charm. Thank you!

Link to comment
Share on other sites

On 11/16/2024 at 1:38 PM, jkunz07 said:

You can also try to reduce the vellum cloth restlength constraint during the sim as the surface becomes compressed to reduce wrinkles.



In a wrangle you could do something like

f@restlength = min(f@restlength, primitiveintrinsic(0, 'measuredperimeter', @primnum);

which will keep the lower value between the existing constraint and the current edge length of the constraint.

This is very cool.

Thank you. I will definitely try it!

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...