Smoothing angle artifact - extra edge loop fix?

The situation: Exported FBX from C4D, turned “Calculate normals” on at 180 when importing to Unity. We have to do this since we’re using a mesh morph script. There is a strange smoothing angle artifact (shadowing) on an edge loop. When I go back and add an extra edge loop, the artifact goes away, but only when the edge loop is closest to the “cut edge”.

  1. Why does this happen?
  2. Why does adding an extra edge loop fix the problem?
  3. Is there a modeling/normal solution to this that doesn’t require the addition of verts?

Amendment: When using FBX 2012.2 export, and importing normals (instead of letting Unity calculate them), the artifact is still there, just more to the right side of the edge loop (and not quite as bad).

Any help, advice or answers would be greatly appreciated.

  1. Normals are stored in vertices and interpolated between them. As such, without a high-res normal map, you can’t get a hard lighting edge without two vertices in the same place, because you need two different normals in the same location.

  2. It doesn’t fix it. It just minimizes the area where the normals don’t match the surface very well.

  3. No. But a hard edge is easier to deal with than an edge loop.

I don’t know what your “mesh morph script” is, but for great results, you will need to have it recalculate edge normals, if hard edges are not constant.