Take the 2-minute tour ×
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It's 100% free, no registration required.

I am not quite sure what non-manifold geometry is. I thought non-manifold geometry was just floating vertices and hole in a mesh. From my experience this is not always the case however. What is non-manifold geometry and what are the types of it and how do I avoid it? Is there a case where it is acceptable?

share|improve this question
    
This link explains all about non-manifolds and how to fix them. http://3dprintingninja.blogspot.com/2014/07/non-manifolds-your-worst-nightmare.‌​html –  The 3D Printing Ninja Dec 5 at 18:31

3 Answers 3

up vote 22 down vote accepted

Non-manifold geometry is essentially geometry which cannot exist in the real world (which is why it's important to have manifold meshes for 3D printing).


Non-manifold geometry can be problematic, because it complicates some tools & operations:

  • Rendering of refractive effects

  • Fluid simulations

  • Boolean operations

  • 3D printing

Among many other cases.


You might want non-manifold geometry in some kind abstract model (as non-manifold geometry cannot exist in the real world), or as an approximation of a very thin object (e.g. paper, leaves, etc.)

Common causes of non-manifold geometry:

  • Disconnected vertices and edges:

    enter image description here

  • Internal faces:

    enter image description here

  • Areas with no thickness:

    enter image description here

Fixing non-manifold geometry:

You can select all non-manifold geometry with CtrlShiftAltM.

Internal faces can be selected by pressing 3D view > Header > Select > Internal Faces in edit mode.

Loose geometry (elements without any other connecting elements) can be selected with 3D view > Header > Select > Loose geometry. Note that it only selects vertices, edges, and faces depending on the current selection mode.

Other useful tools for repairing non-manifold geometry:

  • ShiftG (Select Similar). This is often useful to select vertices with only one connecting edge, etc.

  • CtrlL (Select Linked). This is often useful in combination with Select loose and Select similar to select all geometry connected to the selected geometry.

  • W> Specials > Remove doubles Doubles, (multiple vertices in the same place) are usually non-manifold (not always).

Since a common cause of non-manifold geometry is lack of thickness, the solidify modifier can also be useful.

share|improve this answer
    
Just a note about You might want non-manifold geometry in some kind abstract model since it can't exist in the real world. “Thin walled” objects, such as leaves, flower petals, silk, etc. should almost always be modeled with no thickness (a single layer of faces), especially if they are partially transparent or translucent. –  PGmath Dec 5 at 20:41

How To Find Non Manifold Areas in a Mesh

While in Edit mode, you can select all non manifold areas with CTRLSHIFTALTM.

Overlapping Edges

One type of non manifold situation is when you have overlapping edges.

For example, I'd frequently have a mesh that'd look fine, like this:

enter image description here

But then when I checked for non manifolds, I would get an edge highlighted like this:

enter image description here

I discovered the reason this edge was highlighted was because there were overlapping edges.
The way to find the overlapping edges is to grab one of the middle vertices in the highlighted area (circled in green), drag it around and see if you discover a hidden edge, like the white one here:

enter image description here

Once you find that edge, delete it, then put the dragged vertex back into place. One trick I discovered about how to put the vertex back into place easily is when you are first dragging it out out of place, only drag it on one axis, rather than freely in 3, because then you only have to snap it back to that one axis, rather than 3.

share|improve this answer

When Non-Manifold Geometry is Useful or OK

Ok, I haven't found any uses for interior faces or overlapping edges, but I find open ended meshes and intersecting ("sunken") sub-meshes to be useful in some situations, provided you are:

  • NOT making an object that's supposed to be transparent, translucent, refractive, or have other internal light effects
  • NOT making an object that's expected to hold up in simulation by itself
  • NOT doing that 3d-printer stuff

This is probably mostly useful for lowpoly modelers, though I use it with solid subsurf stuff sometimes as well. Here is a device I've been working on for a modding project:

device model

It's made up of several mesh object. The front iPhone-colored-specular-map-showing one is protruding into the rear cargo unit so that no gaps are visible. If we hide the back one with the hatches, we can see:

device head interior

There isn't actually a inside-rear to this part. Also you can see that the sidelights also have open edges sticking into the head mesh, and that the grate-things are protruding into the head a little too despite being closed objects. In this case, users probably aren't going to be able to get close enough to the object that modelling any more detailed connections between things would be meaningful.

One more thing to note about open edges like this: you can actually loop select them. If you were to fill the hidden area with an N-gon or an efficient triangle spread, you wouldn't be able to loop select anymore, which I find kind of annoying.


Debatable Cases

When making environmental static meshes for games and such, some designers go for designs like this to save polygons:

minimal static mesh example

(In these examples, presume that the giant yellow UV map is some ugly/error texture that the users are hopefully never to see, and the other three colors are proper textures)

The problem with this design, is that each tiny error in meshing by the map designers can cause a huge immersion-breaking mess for the users:

mesh seaming error

From my experience wandering artificial environments, these errors, like software bugs, are not so much a 'if' as a 'how many, how bad, and where' situation.

It does cost some extra polygons, but I find I much prefer making a backing hull for this kind of mesh:

enter image description here

In this case, after extruding the top and bottom edges and creating the rear face, I created an N-gon in each side loop and then triangulated it for a minimal fill. I unwrapped the UVs on these faces and shrunk them to a tiny dark spot in the corner of the map. If I were making lightmaps, I'd try to minimize all these faces to a combined pixel or so as well.

The result when looking at the messed up seam:

less ugly seam

I find the pretense of solid mass here much less immersion breaking, even though the unintended faces are minimally texture. Even when you look dead on through the gap:

enter image description here

You can barely even see the 'bad texture' texture.

As a final note, some game engines -- or at least later versions of Unreal engine as of UDK a bit before UE4 was announced -- require solid, enclosed meshes to make their magical static-mesh-occlusion-optimization-magic work, which is important for managing framerate and so when putting maps together.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.