I have a 3D scan of a pyrite cube. I have been asked to clean this scan up by sharpening the squared-off edges and smoothing down the flat surfaces, while also keeping the chipped/damaged areas on the scan intact.
I started by masking and polygrouping off the areas on the scan that I wanted to preserve - those damaged sections, specifically.
I figured no matter how I ended up skinning this cat I’d need that.
My first impulse was to go for the HPolish/Planar brushes to start knocking down all that noise, which works , but I might be doing it wrong. It was able to tighten up the corners pretty well with the HPolish brushes, but I noticed that when I viewed those faces at an oblique angle I was leaving stroke marks in the surfaces that were meant to be flat.
The planar brushes worked to a degree, too, but started changing the dimensions of the faces, which wasn’t really my goal. I could get a flat surface out of it, but it’d be substantially lower than the original surface where I started, and potentially at a slight angle relative to the original face, I guess based on the surface normal of where I started from?
Since this wasn’t getting me where I needed, I thought I’d come at it from a different angle by re-making the underlying cube geometry and then just trying to project the chipped sections I wanted to keep onto it.
This didn’t seem to work very well, even at really high mesh densities (5-10m polys).
I tried going at it in the other direction, by hiding the polygroups for the ‘damage’ and then projecting the sharp corners from my re-made cube onto the scanned cube, and that also didn’t really work great. It did flatten out most of the faces, but the corner egdes were still garbage and the damaged areas I was trying to keep are either sunken into or standing out of the surface, along with a bunch of other weird noise.
I’m sure there must be a smart way to do this, either with the HPolish / Planar brushes that I wasn’t able to get to behave as I wanted or with reprojection, or boolean operations, or something . I’m at a bit of a loss here, though. What’s the right way to accomplish this?