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.
- You import FBX to Blender and is OK.
- 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.
- 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/