Home Technical Talk

Boolean on messy topology

polycounter lvl 7
Offline / Send Message
FredCM polycounter lvl 7

Hello!

I am modeling an old coin and I got stuck on its rim part. The rim mesh of the tails side has a messy topology, and I'm not managing to perform a boolean operation to combine it with the rest of the coin.

This is my reference image:

Top view of the problematic rim mesh I mentioned:

This is how its topology is looking:

And this is how the complete coin is looking (with separate meshes):


3DS Max takes forever to calculate the boolean result and never finishes. ZBrush's Dynamesh is also taking too long to combine the meshes, but it can only handle half of the coin (ZBrush cuts the coin in half, literally), which is useless. I also tried ZBrush's live booleans, but the resulting mesh looks terrible.

That problematic mesh was generated in 3DS Max out of vectors from Adobe Illustrator, and then, I made a couple of boolean operations to reshape it the way I wanted, until I get the shape I showed above. I'm satisfied with this shape, and I just want to combine all the meshes together into a single one.

I also tried the 3DS Max's Retopology modifier to clean up the topology, but it never finishes calculating. ZRemesher doesn't work either: it generates strange-looking meshes.

So, does anyone know of a way to perform a successful boolean operation on that rim mesh, or how I could clean that up? I can do boolean operations with all the other meshes, except for that one. I don't mind doing that in different software if needed.

Replies

  • Kanni3d
    Offline / Send Message
    Kanni3d ngon master

    Dynamesh it in Zbrush? What's your end goal for this once its booleaned? You'd have to smooth it out anyway so i'd just dynamesh + polish in zbrush.

  • Benjammin
    Offline / Send Message
    Benjammin greentooth

    Booleans are always messy :)

    What's the purpose of this? If its for a high poly mesh, you don't necessarily need to boolean/merge it all together, especially if the geo is intersecting.

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @Kanni3d and @Benjammin thank you for your replies! The idea is to end up with a high poly mesh, which will be 3D printed later on. I'm trying to make that coin look as much similar as possible to the reference, which means it has to be a single mesh object.

    Unfortunately, Dynamesh can not handle that rim mesh. When it finishes the process, ZBrush actually cuts the coin in a half. It's like it couldn't process the entire mesh and stops in the middle.

    I think the problem lies in the topology of that rim mesh, which is a total mess. But cleaning this up manually will probably take way too long.

  • Benjammin
    Offline / Send Message
    Benjammin greentooth

    Dynamesh can be tricksy, but its probably worth your time to troubleshoot why its messing up.

    Alternatively you could capture both sides of the coin as height maps and use them to displace clean geometry. You'd probably have to do a little sculpting around the edges, but it would be clean.

  • kyaroru
    Offline / Send Message
    kyaroru polycounter lvl 2

    If Dynamesh is dying/giving weird result on this it feels like this has a lot of weird hidden polygons/holes/unwelded verts, as can be seen by these triangles in your source mesh - the volume itself isn't bad enough to be problematic for dynamesh. Might be worth to extract just the planar area, fix holes and extrude it again from scratch.

  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8

    Since you have model, render height map and just use Displace modifier to get the combined shape and apply Retopology modifier.

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    There is a number of ways this can be solved, from remeshing the whole thing (which itself can be done in many ways depending on the software), to re-generating a cleaner countour from a silhouette render of it in a vector application. And so on.

    Based on the vocabulary you are using and some of the assumptions you are making I can only guess that you are quite new to both 3d modeling and 3d printing. For instance I don't think that any gcode slicer would have any issue with an object made of multiple parts. Also, some of the geometry shown in your screenshots is really trivial to clean up - like that teal ring which has many unnecessary edges that could be cleaned up by simply selecting the top faces, deleting the rest, and solidfying it again cleanly

    From there the diagnosis you are making and some of the solutions you are thinking about ... might end up just being a waste of time and effort.

    IMHO you're better off uplading your model here to let people look at it and present you with solutions that will work well in the context of your actual goal (ie getting this design ready for printing)

    You also have to keep in mind that you will have to so some post processing anyways, involving sanding/filing. Meaning that some of the damage could be done that way too.

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    Thanks! That's a good alternative. I think I'd just have to make sure the shape of the tails matches with the heads, as the coin is not symmetrical. If I don't manage to fix the mesh, I'll go for that.

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @kyaroru Sounds good, I'll try that. Thank you!

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @gandhics yes, that's a good alternative indeed. If I can't fix the geometry within a reasonable amount of time, I'll try that. Thank you!

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @pior Thank you for your reply! The reason I want a single mesh object is due to aesthetics rather than functionality actually. I want the model to look as similar as possible to the reference, and for that, I'll have to dynamesh/bool all together, smooth the hard edges and do some sculpting afterwards.

    I'll try keeping only the top and the bottom faces (as they don't share the same silhouette) and extrude them, deleting the rest of the mesh, as you suggested. The ring was actually the result of a boolean operation between the extrusion of those faces (top and bottom) anyways. Maya was the only software capable of completing that boolean operation. But your suggestion might work :)

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    "The reason I want a single mesh object is due to aesthetics rather than functionality actually. I want the model to look as similar as possible to the reference, and for that, I'll have to dynamesh/bool all together, smooth the hard edges and do some sculpting afterwards."

    Aaaaand that's the thing you should have mentionned in your very first post :) Because you neither need booleans, nor do you need these parts to be a single continuous mesh - a volumetric remesh would resurface the whole thing according to the volume, not to the surface meshing.

    Left : two interpenetrating objects (coin base and greentooth) ; middle : same geo, just "merged" in terms of model data (but not booleaned, and not merged in terms of surface either) ; and right, the result of remeshing that object.

    So yeah you can either remesh all your parts together, or, prepare a clean image for displacement either applied to the the UVs, or stamped as an alpha. About 3 different ways total.

    My suggestion would be to focus your attention on the various remeshing solutions you have available, as your assumption that you need a continuous surface as an input is unfounded.

    https://xyproblem.info/

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @pior "My suggestion would be to focus your attention on the various remeshing solutions you have available, as your assumption that you need a continuous surface as an input is unfounded."

    Do you suggest any specific remeshing solution? In ZBrush, I tried both ZRemesher and Dynamesh, and in 3DS Max I tried using the Retopology modifier and also "Quadify selection". But none of these solutions worked for me, so let me know if you have any software, plugins, etc, to suggest!

    By the way, I didn't quite understand how the third model you showed was remeshed. Can you share which tool you used for achieving that result? Also, it looks like that model is indeed a single continuous mesh, exactly what I want my final model to be. But if there's a way of making the model look exactly like a single mesh object, while being composed of several separate parts, let me know too!

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    "But if there's a way of making the model look exactly like a single mesh object"

    Well indeed there is a way, as that's precisely what happened here :) As said, a remesh based on volume will do it. Blender has a few variants using the Remesh modifier, but there's an even more powerful one available directly from Sculpt mode. And Zbrush has Dynamesh, which does work on this type of interpenetrating geo (just tried it on this test coin and it worked just as well). Zremesher is not made for that at all, as it deals with resurfacing topology, not volumes. Meshlab probably has a few filters for volume remesh too.

    In Blender : attaching all parts into one object, entering sculpt mode, setting the remesh density (shift R), remeshing (ctrl R).

    Or using the controls on the top right of the viewport in Sculpt mode :


  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8

    This is what I got with your ref image. If you have a cleaner vector. Displace and Retopo should do it.

    Also you can use free tyFlow beta to convert to volume and back to mesh and retopo.

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @pior dude, you recorded a tut video for me, that was amazing! Thank you a lot! That was the result I got:

    I had to experiment with different density values, and 0.03 was the best I could get. Values below that threshold were making Blender crash.


    The gaps are looking weird though. I think that's probably due to the remesh density value. But I'm not managing to get lower values, as mentioned above.

    Even though I still didn't get 100% of what I wanted, I believe that after I clean the geometry up, Blender will do a better job and delivery what I have in mind. It already performed better than Dynamesh in my case, so I'm hopeful :)

    And if that doesn't work, the displacement solution might work.

  • FredCM
    Offline / Send Message
    FredCM polycounter lvl 7

    @gandhics Nice result! Yes, I do have all the shapes as vectors, which will make things easier. I'll just have to align both sides f the coin, as that coin is not symmetrical. But yes, I think that would work. I'm still insisting on cleaning the geometry I already have. But if I realized it's not worth the time, I think the displacement solution will do the job :)

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    Heya - these gaps are not caused by the density value but by the source mesh probably having holes there - or perhaps face normals alternating in and out. Assigning a Solidify modifier with a small value (and applying it) to these parts might do the trick. But there is definitely an issue with the mesh you are feeding into the remesh, and ideally it should be fixed first and foremost.

Sign In or Register to comment.