Vellum, substep and SOP solvers

   200   4   1
User Avatar
Member
246 posts
Joined: Dec. 2015
Offline
Hi everyone I shared this in ODforce but I figure it may be good here too,

I am sharing this simplified version of a project of mine cause I have an issue that is really baffling me.

It's a hair simulation, just one hair which I am manipulating its pscale through SOP solvers to create some worm like movement,

It works completely fine as long as I keep it in 1 substep, but if I increase the number of substeps it goes ballistic!

I have other solvers that really polish the movement of the worm they all work fine, as long as I don't increase the number of substeps to more than one. Is like the SOP solver multiplies its effect per substep.

I have no idea what could be causing this, worse I don't understand the why and that really bugs me.

Edit: I believe its the internal collision being multiplied but no so such how to address this yet.
Edit 2 for a bit more clarity.

Any help would be really appreciated.

Best,

Nicolas.
Edited by Nicolas Heluani - March 6, 2019 18:06:04

Attachments:
VellumSubstep.hiplc (421.5 KB)

some crazy stuff, work and fun….
https://vimeo.com/nicolashe [vimeo.com]
User Avatar
Member
200 posts
Joined: July 2012
Online
I looked at your scene file, and it was kinda confusing to see what you were trying to do. It looks like you have 8 as your vellum solver substep value. I noticed a difference in the motion we got from a value of 8, as well as a value of 2 and a value of 1. Notice that with a value of 1, the worm only moves a short distance, where at a value of 3 it translates the entire distance. I'm honestly not sure which effect you prefer, so I can't really test other settings to know what I need to match, but I will make some suggestions.

First, is there a reason you are doing everything inside dops? The new vellum constraint and solver nodes can be used at sop level, and might help you reduce the complexity of your sim. With your setup, you have both substeps on the solver, and substeps on the dop itself you can experiment with, to see where the problem truly emerges.

You also might want to experiment with using different values for your constraint iterations. I noticed a difference in the movement generated as I played with those values (just increase them). If you'd like more help, set up a scene where the behavior is correct, and then show where adding more substeps breaks things, because right now I don't really know what to match.

Hope that helps a bit.
User Avatar
Member
246 posts
Joined: Dec. 2015
Offline
@Midasssilver:
Sorry for not being more clear.
The hipfile is a simplified version of a more larger setup. I clarified in the original post that the behavior is as it should be as long as I keep it with one substep. The reason why I need to do everything inside dops is for the larger setup.
I think the problem is because the collision between particles creates a force that pushes my worm, this is actually desired. But when increasing the substeps for precision it seems the force gets multiplied rather than spread across each substep. That's my thesis so far.

Like I said:
Is like the SOP solver multiplies its effect per substep.
Basically I know there is a huge difference of behaviour of the SOP solver according to the number of substep. My question was why? The SOP solver is basically gradually increasing the pscale shouldn't the force also be spread across substeps?
some crazy stuff, work and fun….
https://vimeo.com/nicolashe [vimeo.com]
User Avatar
Member
200 posts
Joined: July 2012
Online
Tried to resolve your situation and didn't have much luck, so I don't think I can be of much help, but I do think you are correct about the way dops is calculating the push force you have going on. As you increase the number of substeps, the push force increases exponentially. Hopefully some houdini guru can shed some more light on the math at play.
User Avatar
Member
246 posts
Joined: Dec. 2015
Offline
Midasssilver
Tried to resolve your situation and didn't have much luck, so I don't think I can be of much help, but I do think you are correct about the way dops is calculating the push force you have going on. As you increase the number of substeps, the push force increases exponentially. Hopefully some houdini guru can shed some more light on the math at play.
No worries man,
I am sharing the file because indeed I find it an interesting issue. I am not so sure if this is a bug or by design. I will leave this post a bit longer maybe until after 17.5 but if this is not “fixed” or properly explained I think I will contact SideFX, as scalable SOP solvers are quite important in any system I will guess.
some crazy stuff, work and fun….
https://vimeo.com/nicolashe [vimeo.com]
  • Quick Links