Remeshing hard surface topology is a broad subject and skill set in its own right. It may require minor touch ups or even manually retopologizing certain areas by hand.
Generally speaking the best results are achieved by ZRemeshing first at a very high target polycount with “Keep Groups” which gives ZRemesher enough polygons to comfortably work out the form. Then use the ZRemesher “Half” option to reduce further until it can no longer maintain the form below a certain threshold.
The form of this geometry is very delicate and complicated. I doubt any option other than “Keep Groups” will be able to manage it. This means though that you need very careful and deliberate polygrouping. Many issues with “Keep Groups” Zremeshing are caused by inconsistent polygrouping.
In the image you posted, most of the polygrouping appears sound but you have areas like the following where it is not consistent. In the highlighted area of the image the topmost green polygroup transitions to an orange polygroup, and it’s not clear that the sides are a different polygroup from the top in that area. This will cause the form to break down in that area during a ZRemesh process:
If it looks like the form is breaking down in an area, many times if you Ctrl -Z back to the original topology you can find out that this is caused by tiny polygons near the borders that are a different polygroup than expected. Often this kind of geometry cant be seen unless you smooth the mesh with the smooth brush to relax it, or use Dynamic Subdivision to preview the subdivided form non-destructively.
Likewise you have soft rounded corners in most locations. If you want hard edged interior corners then the surfaces on either side of the corner transition need to be different polygroups.
To sum up, I recommend:
- Use Live Boolean to fuse the meshes, and then use Geometry> Crease > CreasePG to crease all polygroup borders at once. Then subdivide the mesh one time. This will do 2 things:
-
It will distribute more points along the surface of the mesh which gives ZRemesher more information to work with. In some areas you have only a single row of polygons defining a surface and ZRemesher can have trouble with this.
-
It will allow you to see which areas may not have adequate polygrouping to capture the form there. Any place where the form begins to soften when subdividing means no creasing was assigned there, which means the polygrouping is not sufficient.
-
Once the mesh returns the expected results when subdividing, use ZRemesher at max target polycount with “Keep Groups” active. Look for areas where the form is not maintained in the expected way, then Ctrl-Z and examine those areas closely while smoothed for inconsistent polygrouping or overly complicated topology that ZRemesher can’t parse. Use ZModeler to touch up the geometry or polygroups as needed.
-
Once you get good results with max target polycount, start making subsequent ZRemeshes set to “Half”, and keep reducing the polycount until ZRemesher can no longer maintain the form. It may be necessary to perform further spot touch-ups with Zmodeler as you go.
If you still can’t get good results doing this, as an alternative try Dynameshing the entire fused mesh first at max resolution. If polypaint is disabled, it should keep the polygroups. Then try Zremeshing that mesh from step # 2 above. Zremesher may have better luck.
If you can’t get good enough results no matter what you do, then the geometry is simply too thin and complicated for this process and will need to be manually retopologized.
Additional tips:
-
Re: Remesh by Union. This uses the Live Boolean process, but is a destructive option compared to the normal Live Boolean chain which will preserve your original meshes.
-
Don’t use more than one edge detection solution at once. So “Keep Groups” or “Keep Creases”, but not both at once. They may conflict.
-
Be sure to use “Keep Groups” and not “Freeze Groups”
-
Sometimes your results will be better with Group Smoothing (ZRemesher> Smooth Groups), sometimes you’ll get better results with this set to zero.
Good luck ! 