ZBrushCentral

Help preserving particular details from a 3D scan

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?

Hi @jsein !

I have a couple ideas of the top of my head. I would first just remind you of the Clip Curve brush which flattens along a line. If you disable perspective mode and take care, you should be able to easily flatten the detail on the flat sides all at once. For sides with uneven raised forms, again if you take care with the rectangular masking marquee you may be able to mask just that raised section of detail so you can flatten the rest of the side.



ZRemeshing a low poly version of the form and then projecting the detail should have worked ok. Remember that you can mask areas of the target mesh to protect it from projection. I’m not certain what’s going on in your screenshot, but it looks like maybe you need to increase the .dist slider value in the projection menu.

One note here–in order to keep the edges crisp when subdividing it the edges will need to be creased. I’m not certain if the edges of your form are sharp enough to be picked up by the “Detect Edges” option. You may need to use polygroups and the “Keep Polygroups” option to get ZRemesher to draw edges where you need them to be creased.



Finally, I’m not certain what your topological needs are, but if decimated geometry is acceptable you could try partially decimating the mesh as separate subtools at different levels of decimation. Since you have polygroups for the “damage” areas, you could try splitting them into a separate subtool. Then you could decimate the main cubical portion at a very high level of decimation which should reduce the sides to mostly flat planes.

The trick here is to use the “Freeze Borders” option in Decimation Master to keep the points on the open mesh section unchanged. Then you can merge the two subtools back together with “Merge Down” and the “Weld” option enabled. If the points on the edges of both subtools have remain unchanged they should fuse back together cleanly.

Good luck!