Better ways to smooth an object selectively?

   1652   4   1
User Avatar
Member
73 posts
Joined: April 2020
Online
Hello Experts,

Lately I have been needing to smooth just particular areas of objects. I've included an example. I've tried two ways to do it here, but my results are not entirely satisfactory and I'm guessing there are better ways I just haven't thought of.

For this object, I'd like to smooth away the lengthwise ripples on its top while leaving the overall length and width of the object unchanged. One of the ways I thought might work is to select the sides of the object, grow them, and then use that as a mask in the vdbsmooth sop or to constrain points in the smooth sop. Another way might be to get the sides as curves somehow and use them as rails to create the part anew, but with a cross section that doesn't have ripples.

I've played with the settings of the smooth and vdbsmooth sops, and I'm not sure I've got the best choices. Things are smoother, but not as smooth as I'd like. When I try to do more aggressive smoothing the smoothed part breaks away from the constrained part.

I've also tried a few ways to get the sides as curves, but I seem to be failing with that. One try was to project the shape onto a grid using the ray sop and then try to get the outlines of those shapes, but I haven't succeeded. If I were to succeed I'd then thicken and extrude those curves and intersect them with the shape to do a better, more even job of isolating the edges of the shapes (which aren't flat the way the projection curves are).

My many questions:

1) Is there a better set of parameter choices in smooth or vdbsmooth to get smoother results while still constraining the edges?
2) Is there a way to prevent the smoothed part area from pulling away from the sides when smoothing more aggressively?
3) Is there a good way to get the sides as curves?
4) Is there an entirely different way to do what I'm trying to do?

Thank you so much for your help,
Mary

Attachments:
example needing smoothing.png (187.4 KB)
example problem vdbsmooth.hip (143.1 KB)
example problem input 1.stl (5.3 MB)

User Avatar
Member
94 posts
Joined: July 2019
Offline
In general I've used your method for side line extraction and smoothing (except vdbsmooth), plus some Sidefx labs tools like <Labs Edge Groups to Curve> to convert side line to curve and <Exoside Quadremesher>(Paid license) to get clean retopology.

Attachments:
example_smooth_v1.hiplc (225.1 KB)
example problem input 1.stl (5.3 MB)
Screenshot_37.png (3.3 MB)
Screenshot_38.png (3.3 MB)

User Avatar
Member
73 posts
Joined: April 2020
Online
Thank you so much, Faitel! I'll go over what you've sent -- it looks very interesting.

Thanks again!
Mary
User Avatar
Member
670 posts
Joined: Sept. 2013
Offline
Hello Mary,

the attribute blur node has a weight attribute for selective smoothing:

Regularize the mesh using remesh,
group the rim points based on normals (or curvature),
measure and blur the surface distance to the rim,
remap the distance into a weight attribute
to be used as a mask in the attribute blur node.

Attachments:
example problem vdbsmooth_KM.hipnc (211.2 KB)
selective_smoothing.jpg (48.0 KB)

https://procegen.konstantinmagnus.de/ [procegen.konstantinmagnus.de]
User Avatar
Member
73 posts
Joined: April 2020
Online
Thanks so much, Konstantin! That looks perfect! I had not thought of the attribute blur node. That makes such sense.

Thanks again!
Mary
  • Quick Links