1.67 (and older), iPad: Imported GLTF, OBJ files have wrong normals on export to OBJ

Hi there, how to reproduce:

  1. Import any supported file type (GLTF, OBJ, STL) - tested with files created in Blender and OnShape.
  2. Imported model looks correct in Nomad Sculpt 1.66 and/or 1.67.
  3. Perform UV auto-unwrap to generate UV coordinates.
  4. Export to OBJ with “Export normals” turned on and open the exported file in Blender or Procreate.

Expected result:
The model is opened (imported) correctly in Blender/Procreate and it’s possible to paint on it (in Procreate).
Actual result:
The model is imported, but the normals are wrong - no hard edges are preserved and the shading in Blender/Procreate is off. It’s possible to paint on it in Procreate.

Possible workaround is to uncheck the “Export normals” option, but I quickly find out Procreate has troubles with calculating normals of “narrow” polygons resulting in artifacts in the model exported without normals.

If you need pictures, let me know.
Other than that Nomad Sculpt is awesome app!

Thank you for looking into this.
Jan

Could you provide one of these model, or maybe screenshot.

I’m not sure I understand the “no hard edges” part.
Typically Nomad cannot export sharp normal, it’s only smooth average normal.

Sure, screenshots of the same object in Nomad (imported from onShape in GLTF format) and in Procreate after exporting it from Nomad as OBJ.
The original GLTF file also included.

But if you are saying Nomad cannot export more than one normal per vertex, then it probably the behavior makes sense… Still, Nomad Sculpt is able to display the object correctly, so it must have capabilities related to hard edges (when there are more normals per vertex) Or the mesh is split to sections in Nomad, so some vertices are in more than one mesh section and there is one normal per vertex per mesh section?

Thank you for looking into this!



prodlouzene telo-m.gltf (161.4 KB)

It’s simply that smooth shaded is turned off by default (settings menu).

For a model like that it’s best to export without Normal from Nomad.
If you let Procreate compute the normals it seems to use a threshold to detect sharp edges.

OK, I’ll skip Nomad Sculpt for models like that in my workflow. I was using it (in this particular workflow) for generating UV maps for procreate. Advantage being all is done on iPad.
Problem with procreate calculating its own normals is that it apparently cannot handle small, but long/stretched polygons well. Probably float precision issue, but that’s for procreate’s team to handle…

Thank you for your time and replies!
Jan