How to export in FBX correctly without losing mesh vertex normals?

Hello, Blender Artists community!
I made this object in other CAD tool software. I wish to paint it using Painter.

I wish to use Blender for UV mapping.
If I just import the FBX, in Blender, the vertex normals are correct.

But exporting to FBX, somehow, I lose the quality of the vertex normals. I’m using the Default FBX settings.

The vertex normals in Blender are correct.
I loos quality when exporting.

How to export vertex normals FBX correctly?
Do I need to change the geometry setup in the Export FBX options?

image

Any idea? THX

You are not exporting with default settings, you are exporting with Smoothing set to Edge, to keep proper normals you need to export with Normals Only instead (wich is the default value…).

Hi, @mont29 I’m exporting using the default and I try all other combination.

image

I check 3 times.
I’m not the only one having this problem.
I place a bug report here but was close (i presume without actually checking the problem using the files).
I provided 2 FBX for better debugging. One FBX without mesh problems and a second one FBX out from Blender. So that is simple to make the difference between the two and look to the problem (for developers). My lucubration is that they presume and they close it without actually looking to the problem. :wink:

Hope that they actually look to it and make a real test!

https://developer.blender.org/T66537

1 Like

@AlanMatt I exported with both ‘normals only’ and ‘edge’ smoothing, both gives identical and good results when you import the fbx to Blender.

Your issue must be related to ‘double vertices’. And those applications that you referred might be removing double vertices when they import. Notice how I get artifacts when I removed double vertices inside Blender:

So, it looks to me that this mesh doesn’t have a clean topology. They just ‘tricked’ it with edge splitting and not considered that it can be exported to other applications.

Hi filibis, Thx for giving this a chance!

There are many ways to make hard surface modelling, not one good practice.
Doble vertices sometimes are useful to control the surface radius at the end of the edge.
Vertex normals can also be computed for polygonal approximations to surfaces such as NURBS, or specified explicitly for artistic purposes.

The mesh doesn’t have a “clean topology” for esthetic reasons by design, by workflow and I do not want to enter into the discussion if it is a good practice or not in this thread. But in short the clean topology or my way to make “dirty hack by design” to conserve and control the continuity of a hard surface model in the case with constant radius along all the surface is not in discussion here. Is not the artist falt, is the artist quick and dirty intention and users need that Blender preserves the user intention! The application I refer was Unreal, Unity, Substance Painter, Rhinoceros 3D, Alias Wavefront and all import the FBX and exporting with no vertex normal issues with or without recalculating vertex normal.

The problem is as you show up that Blender is changing the mesh custom vertex normals.
I think that Blender is recalculating normals or removing double vertices when exporting.

  1. You import FBX to Blender and is OK.
  2. You export from Blender as an FBX and is removing doubles and broken the vertex normals exactly in the same way as if you remove doubles.
  3. If you import that FBX must have no doubles and be different from the first FBX.

It does not do this bug when exporting in OBJ for example. Blender is not capable to handle well ‘double vertices’, deleting faces or recalculating normals in the exported mesh that was perfectly fine by design when was imported.

Blender must not change the visual shape (the direction of the vertex normals) when exporting.

That must be reported as a bug, not close it as they have done with https://developer.blender.org/T66537

As shown in your screenshot removing doubles or just recalculating normals is the problem here.
There is no option on the FBX exporter to not allow Blender to recalculate normals (or remove doubles)?

NEW BUG submission: https://developer.blender.org/maniphest/task/edit/66925/

1 Like

You are absolutely correct same problem face by me using blender 2.8