Skip to main content
Participant
November 1, 2021
Answered

"Mesh Normals Invalid" when importing mesh

  • November 1, 2021
  • 7 replies
  • 63870 views

Hello! I'm experienced with Maya and other 3d programs but am fairly new to using Substance. I'm encountering an issue I can't seem to find any documentation on: when I import certain meshes into Painter, it tells me:

"Mesh normals are invalid (some values are null) and will be recomputed"

...and then re-calculates the normals itself. My mesh has a lot of custom hard / smoothed edges, and when I bring it into Substance it basically softens all the edges, leaving it looking pretty gross. The mesh looks correct in both Maya and Unity, as well as in Blender. 

 

Here are some things I've tried, unsuccessfully, to fix this: 

  • unlocking the normals in Maya, averaging them, setting them to face, etc. and then re-doing all my custom hard edges and re-exporting to Substance
  • exporting as an obj and then re-importing into a fresh Maya scene, and then re-exporting to Substance
  • the classic "cube trick" (combine the mesh with a cube, delete the cube faces) 
  • resetting fbx export settings and ensuring that normal data is exported properly
  • doing a mesh > cleanup to make sure there isn't any nonmanifold geometry
  • deleting my maya prefs


Often, after doing one of these troubleshoots, I then get additional error messages in Substance saying that my tangents / bi-normals are invalid, as well.  

 

The only thing I have tried to fix this successfully was a tip I saw when googling the issue: importing my fbx into Blender and then just re-exporting it from Blender. I have no idea why this works but it seems to magically allow Painter to read the normals properly. It's unfortunately not a permanent fix; if I import the new re-exported fbx in Maya to edit it, and then re-export it from Maya and import it into Painter, it gets messed up all over again. 

 

Does anyone have any idea what might be going on here, or how to fix this issue? It's happened with two different meshes for me now and is driving me a bit nuts. There are no real similarities between them other than initially being built in the same maya scene. 

I've attached one of the problematic meshes to this post here. Thank you! 

Correct answer GeoffroySC

Hello author.

 

Can I ask, did anyone from Adobe ever provide you with a solution to your original problem?

 

G.


Hi, 

This issue is a modeling one. If you fail to provide Painter with normals, tangents and bi-tangeants ; Painter will recalculate them. This isn't a bug. 

When exporting from any modeling software check the different parameters, you should be able to export those data with the .fbx format.

Kind Regards,

Geoffroy SC 

 

 

7 replies

Participant
July 25, 2025

Hey what worked for me was Mesh > Cleanup > Cleanup Matching polygons, then select 

edges with zero length, etc etc, + invalid components, after that I managed to import the fbx

Participating Frequently
June 6, 2024

I have found that substance does not like 'non zero sum faces' or other degenerate triangles etc, so before export from Blender for example, run the mesh/cleanup/Degenerate Dissolve

I am sure max and maya must have similar clean up tools
After this operation my shading look fine in substance and no error messages

Participant
June 7, 2024

@mike30386926o2gs Maya does indeed have a cleanup tool, but no amount of cleanup fixes the issue

Participating Frequently
June 9, 2024

which actual  message do you get? On mine I had custom normals which made the mesh look nice re shading, but then substance just chucked those out and made its own shading, because it could not process the tiny tris etc.

As a test export it to blender, run the mesh/cleanup/Degenerate Dissolve, see if that fixes it

Participant
March 14, 2024

Hello everyone!

I had the same problem and managed to solve it. I'll comment on it from my experience with the issue, and I can say that the problem isn't caused by substance or by the modeling or exporting of geometry from the program. It's unknowingly as modelers there are aspects that I still don't know that damage or corrupt the geometry. It may be due to importing the mesh from one program to another or various causes, but the mesh internally gets corrupted no matter how much you treat it in other programs.

In my specific case, I tried all the alternatives in this thread and they didn't work for me, so I manually debugged my mesh. I exported and imported from Maya to Maya, from Maya to Blender, baked in Marmoset, imported into Unity and Unreal, and it looked correct in all except Substance. So I started to separate my mesh into parts and see which one made Painter show the message, and I found a section of my mesh composed of only 5 faces of the entire model. Those faces corrupted the rest of the model and other models that were joined when exporting the FBX.

So what I did was to rebuild from scratch the part affected by those faces, but not just those faces, but to create the complete segment that contained those faces and transfer the UV to not lose it. That prevented my meshes from corrupting and displaying correctly in Painter to proceed with the texturing process.

It's a bit painful process but that's what helped me after trying all the alternatives, hoping it helps you.

Best regards!

Participant
August 12, 2023

I solved this exact same issue by cleaning up invisible stray (zero-length) polygons and vertices. In Cinema 4D, just right click on the viewport and use Optimize function, and it's all good. 

 

While It's indeed a modelling issue, it's still frustrating how intolerant Substance Painter is to meshes with even microscopic issues. The same mesh works in UE5, Houdini, even the Windows built-in 3D viewer.

Participating Frequently
June 6, 2024

Indeed, this is the solution - susbtance gets a bit stuck with stray tiny faces or any other degenerate tris or verts, so
running the clean up in blender with degernerate dissolve, fixes these issues

I am sure max and maya have similar tools

Gharrington
Participant
October 10, 2022

I learned a trick to fix this if you're in Maya. If you select your mesh that's having an issue, select all of the faces and "duplicate face". Delete the original mesh and the new mesh will still have UV's. It might need to have it's shader reassigned. It's the only fix that's seemed to work for me on many occasions.

Participant
October 6, 2022

I've had this issue come up a couple of times before. In my case, it's often been that I have a vert right on top of another vert with unallocated UV space. For this, I usually just do a merge vertices operation in Maya making sure that the UVs are preserved. This has resolved the issue for me quite reliably.

Participant
May 2, 2023

Life saver ! I had boolean operations on several meshes that weren't looking good on substance because of the mesh normal error. I thought I had cleaned them all and had a good topoology, Unreal read them well, but not substance. 

Thanks to you and your merge operation, I was able to continue working properly !

GeoffroySC
Community Manager
Community Manager
November 3, 2021

Hi,

I noticed your mesh is scaled down. Could you try to apply the transform before exporting? 

 

Participant
November 3, 2021

Hi! Thanks so much for your reply-- What sort of scale are you seeing on your end? On my end the mesh is not scaled down, just offset a bit from the scene origin.