Jump to content

Houdini Vellum Mesh Flickering / Jittery


Recommended Posts

Hi guys, 

Trying a relatively simple setup, pulling a cloth over a model of a rock, but I've been getting some weird jitters and flickering in my mesh.
I've tried a lot of methods to get rid of some of the jittering, but nothing is really working for these small jitters at the corners of the geometry. Wondering if I should just move on and tackle this in post, or if theres something else I can do to smooth out this jittering. 

Here is the flipbook animation and hipfile below



HIP: https://we.tl/t-7eDtXo629g

Link to comment
Share on other sites

So, for the jittering: you can think of vellum working by putting a whole bunch of springs connecting your points. You can see them (the constraints) by connecting a null to the second output of the cloth or solver SOP. Each of those has: 1) a stiffness (stretch stiffness) for how much they want to hold their original length (rest length), 2) a stiffness (bend stiffness) for how much they want to keep their original angle in relation to the points surrounding them, and a stiffness (compression stiffness) for how easily they can compress their length. There's other attributes but those are the most important.

With each step, the solver moves the points and then it goes back and tries to satisfy the requirements of all the constraints. It does this several times (iterations) getting closer and closer.

Jittering happens when you give the solver settings that it can't satisfy given the constraint requirements. For instance, lets say you crumple a piece of fabric but have a very high bend stiffness. You'll get areas that have to bend to avoid penetration, but the constraint setting won't allow it. So the solver freaks out and you get jittering between multiple bad solves.

So the main thing is that you had VERY high stiffness settings all around. 1x10^10 for stiffness, 1x10^6 for compression and a low bend stiffness. So as the cloth stretches over the rock, it can't stretch. I just turned the stiffness settings down (and turned compression stiffness off since you dont have anything compressing) and it worked fine.

Lastly, your settings were VERY inefficient. I think in trying to solve the jittering you may have tried tweaking a lot of other stuff, but it resulted in a very slow sim for how simple it is. Your mesh was crazy dense. I turned the remesh down to a target size of 0.1 or 0.05. You can raise it later if you really need more detail, but vellum is now pretty stable across high and low res meshes. Start low and dial things in then turn the resolution up. Your edge length scale in the cloth SOP was also REALLY small. Generally 0.25 - 0.5 is a good place to start (you had 0.01). And your solver settings were very high. Generally the more substeps, the fewer constraint iterations you need. So with 5 substeps (a decent place to start) you can usually get away with 25-50 constraint iterations for cloth. The more substeps, the smaller each movement, the fewer constraint iteration are needed to solve all the constraint requirements. And finally, you had velocity damping turned all the way up. Sometimes you'll hear that turning it up will help smooth sims, but generally that's not true and it results in behavior that isn't very natural. Use it sparingly.

You can always turn on the visualizer in the solver and see what's causing the jittering. Best of luck.

fabric_pulling_over_rock2.hiplc

  • Like 2
Link to comment
Share on other sites

4 minutes ago, madebygeoff said:

So, for the jittering: you can think of vellum working by putting a whole bunch of springs connecting your points. You can see them (the constraints) by connecting a null to the second output of the cloth or solver SOP. Each of those has: 1) a stiffness (stretch stiffness) for how much they want to hold their original length (rest length), 2) a stiffness (bend stiffness) for how much they want to keep their original angle in relation to the points surrounding them, and a stiffness (compression stiffness) for how easily they can compress their length. There's other attributes but those are the most important.

With each step, the solver moves the points and then it goes back and tries to satisfy the requirements of all the constraints. It does this several times (iterations) getting closer and closer.

Jittering happens when you give the solver settings that it can't satisfy given the constraint requirements. For instance, lets say you crumple a piece of fabric but have a very high bend stiffness. You'll get areas that have to bend to avoid penetration, but the constraint setting won't allow it. So the solver freaks out and you get jittering between multiple bad solves.

So the main thing is that you had VERY high stiffness settings all around. 1x10^10 for stiffness, 1x10^6 for compression and a low bend stiffness. So as the cloth stretches over the rock, it can't stretch. I just turned the stiffness settings down (and turned compression stiffness off since you dont have anything compressing) and it worked fine.

Lastly, your settings were VERY inefficient. I think in trying to solve the jittering you may have tried tweaking a lot of other stuff, but it resulted in a very slow sim for how simple it is. Your mesh was crazy dense. I turned the remesh down to a target size of 0.1 or 0.05. You can raise it later if you really need more detail, but vellum is now pretty stable across high and low res meshes. Start low and dial things in then turn the resolution up. Your edge length scale in the cloth SOP was also REALLY small. Generally 0.25 - 0.5 is a good place to start (you had 0.01). And your solver settings were very high. Generally the more substeps, the fewer constraint iterations you need. So with 5 substeps (a decent place to start) you can usually get away with 25-50 constraint iterations for cloth. The more substeps, the smaller each movement, the fewer constraint iteration are needed to solve all the constraint requirements. And finally, you had velocity damping turned all the way up. Sometimes you'll hear that turning it up will help smooth sims, but generally that's not true and it results in behavior that isn't very natural. Use it sparingly.

You can always turn on the visualizer in the solver and see what's causing the jittering. Best of luck.

fabric_pulling_over_rock2.hiplc

Wow thank you so much for the reply. Yes as you guessed I think I messed with my settings too much. I'm still learning Houdini and I really appreciate all your tips, especially on the optimization! I was wondering why such a simple sim was taking so long

 

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