Jump to content
magneto

Is there a way to avoid pinching in Sweep/Skin SOP?

Recommended Posts

Hi,

 

A pic would describe it better:

 

DzmURRA.png

 

I would rather have something that looks like OCD B-Splines rather than Linear blend:

 

MQBtJFj.png

 

Is there a way to do this in Houdini? I searched the forums and spent a lot of time but couldn't find a solution.

 

 

Thanks :)

Share this post


Link to post
Share on other sites

You can try to create VDB, smooth points and project them to VDB.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks rayman. Do you mean creating an SDF from VDB? I tried the Smooth SOP but it smoothed everything out.

 

Also the actual curve is a little more complex that might project to the incorrect section of the VDB.

Share this post


Link to post
Share on other sites

What about using measure to find the curvature and smooth using that attribute? Then project.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks rayman. Do you mean creating an SDF from VDB? I tried the Smooth SOP but it smoothed everything out.

 

Also the actual curve is a little more complex that might project to the incorrect section of the VDB.

Yes, I mean SDF. Also as Kim mentioned, it is better to isolate problematic areas before smoothing -this will help alot. (:

  • Like 1

Share this post


Link to post
Share on other sites
Thanks both. I tried measuing the curvature using the Measure SOP but the results is this:

 

YBSF2iZ.png

 

The min/max fields clip the values so I found the max value first and then used that.

 

Is this what you guys meant?

Share this post


Link to post
Share on other sites

Delta mush deformer? I've not used this but it looks interesting and could maybe help?? (e.g. 

)
  • Like 2

Share this post


Link to post
Share on other sites

Thanks guys.

 

@Kim: What values do you use in the measure SOP for the curvature? A really high max value so the value is not clamped?

 

When I use the default 1000, I get color values in 7-10k using your pow code. Do you normalize them using the max curvature? I don't see that in your network though.

Share this post


Link to post
Share on other sites

Hi Ryan,

 

No, they are not normalized, I just made a simple example to demonstrate how you could use the curvature measurement so you can find the pinching on the surface.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Kim. Another issue is when you group those points, the Smooth SOP only accepts primitives, and if you only want to smooth the curves without the skin, you can't. Because converting those points into primitives groups the whole curves. The pinched corners basically look like this:

 

NHEGA07.png

Share this post


Link to post
Share on other sites

You could smooth the whole object and use the curvature attribute to control a blend between the smoothed and the original. 

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Kim, that's pretty smart :) The only other issue I have found is I need to smooth a lot either using a high number of iterations or a value like 2 for Cutoff Frequency, which shrinks the object greatly. If I blend only the pinched points, they will shrink significantly.

 

Do you think PolyWire might be an alternative to this since it seems to create a better surface. Though with large radii, it also exhibits similar issues.

Share this post


Link to post
Share on other sites

Have you tried a cutoff of 2.5 or above? Then you won't need as much iterations to get good smoothing.

 

Another thing you could try is to smooth the normals on the spine curve like that you'll get an averaged orientation of the circles int the corners. But you'd have to compensate for the thickness though but probably less then when you are smoothing the object.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Kim, higher values than 2.5 seem to work better. Still a lot to compensate afterwards.

 

By normals do you mean smoothing the normals of the original curve that's swept? I just tried it but Sweep seems to discard it, Copy SOP got affected by it. It didn't make a difference in the pinched areas though.

 

Thanks again.

Share this post


Link to post
Share on other sites

Yes like you smoothing the normals of the original curve. I've added an example with compensation as well.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×