3
$\begingroup$

I have been working on a model in Blender that is made up of several smaller sub-pieces. Having finished, I exported to Unity and not all of the sub pieces showed up. After having done some research I realized it was because of the normals facing the wrong direction. I then recalculated the normals for some of the surfaces that were not showing up, but this resulted in a potentially worse problem. I now have sub-pieces that have some vertices with outward facing normals and some with inward facing normals. As a result, flipping the normals for each sub-piece is useless, because either way not all of the surface is rendered when exported. So far the only solution I can think of is to manually flip the normals of each vertex across the whole model until they're all facing outward, but this would likely take me longer than it took to model the whole thing. I'm wondering if there is a way to force the normals all to face outward, rather than just flipping or recalculating them.

Okay, so I made up a little example of what I'm talking about:

Say this grid here is a sub piece of my model. There are no smaller selectable parts, unless I go into edit mode and start selecting individual faces or vertices. In my particular case, when I select the entire piece in edit mode and recalculate the normals, I end up with something like this:

enter image description here

The normals of some faces are facing inward and some outward. Thus, if I turn on backface culling I get this:

enter image description here

But as you can see, if I were to select the whole thing and flip the normals, I would get something just as problematic:

enter image description here

Thus it seems to me like the only thing I can do is go and select all the areas of each piece that have normals facing the wrong way and flip them. There are hundreds of pieces, so that's likely to take forever. What I'm wondering is whether there is a way I can tell Blender to make all the normals point the same direction (outward), because flipping and recalculating both don't work.

My Solution: After some more research and attempts to fix the problem, it seemed like the only method that would reliably work was to fix everything manually. So it took about 12 hours, but I just went around to every single part of the model, selected the faces that had normals facing the wrong way and flipped them. I guess the thing to do is just not get yourself into this situation to begin with.

$\endgroup$
  • $\begingroup$ You can select just a portion an recalculate, and tick the "inside" checkbox on the toolbar. Is that what you mean? $\endgroup$ – VRM May 27 '15 at 9:53
  • $\begingroup$ What happens if you Remove Doubles first? Usually if Recalulate Normals (make normals consistent) doesn't work it's because there's confusing geometry. or things like three faces connected to one edge.. $\endgroup$ – zeffii May 29 '15 at 10:27
  • $\begingroup$ You could just add solidify modifier and just leave the settings and apply that worked for me br $\endgroup$ – SchoolXSword Aug 14 '16 at 1:25
2
$\begingroup$

I think in this situation, when your (sub)surface is flat, you can in Edit Mode select one face with a wrong normal then "Select Similar" (Shift+G)->Normals and then every normal in that object will face in the same direction. This works only for flat (coplanar) objects but in your example it looks like one.

$\endgroup$
1
$\begingroup$

When you have normals facing in different directions you need to recalculate them.

In Edit Mode select everything and press CtrlN to make the normals consistent (also refered as recalculate normals outside).

enter image description here

Th opposite of that operation is ShiftCtrlN to recalcuate the normals inside

enter image description here

$\endgroup$
  • $\begingroup$ I tried doing so, but when I recalculate outside or inside, the result is a piece with a patchwork of inward and outward facing normals (Like in my pictures above). $\endgroup$ – user14642 May 28 '15 at 1:47
0
$\begingroup$

You should select in edit mode the complete mesh and then recalculate, not only the 'wrong faced' faces. Flipping vertices doesn't have much effect, flipping vertices does. When a face is flipped, then the corresponding vertices also flip :)

$\endgroup$
  • 1
    $\begingroup$ Would you be able to rephrase your answer? I think it is helpful, but needs further expansion. The second sentence is illogical (should the second "vertices" be "faces"?) $\endgroup$ – MechtEngineer Jun 21 '18 at 0:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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