-
Hey team!! After the introduction of Manifold for Babylon.js, we are getting report of some GLTF not being "a manifold". How can we detect that and fix it? Here is one for instance: https://dl.dropbox.com/scl/fi/0z9plcnggrfmnjk9fh87h/S1.glb?rlkey=ifplgssotvoiuyge4cob29iuo The playground where you can see the error happening: Please note that it works with very similar (but obviously different meshes): |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Indeed, most glTFs, in fact most meshes in general are not manifold (solid / watertight). Detection is easy, fixing is hard (in general). Manifold provides the I also have a drag-and-drop page that uses our merge function on glTFs, so you can see what it can fix and what it gives up on: https://manifoldcad.org/make-manifold There are lots of manifold fixing programs around, especially for 3D printing, but they're all full of heuristics because it can be very hard to know what solid someone is hoping to represent with an open mesh. |
Beta Was this translation helpful? Give feedback.
-
Ok I see thanks a lot for the explanation (I was already using merge so this is on the DCC tools side now to get a better mesh) |
Beta Was this translation helpful? Give feedback.
Indeed, most glTFs, in fact most meshes in general are not manifold (solid / watertight). Detection is easy, fixing is hard (in general). Manifold provides the
Merge
function that will handle simple cases that at least "look" manifold. I even made a glTF extension to keep manifoldness from getting lost in the format - it has some background and explanation: https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_manifold/README.mdI also have a drag-and-drop page that uses our merge function on glTFs, so you can see what it can fix and what it gives up on: https://manifoldcad.org/make-manifold
There are lots of manifold fixing programs around, especially for 3D print…