Copy link to clipboard
Copied
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:
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!
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
Copy link to clipboard
Copied
Hi,
I noticed your mesh is scaled down. Could you try to apply the transform before exporting?
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
Hi Geoffroy-- it's been several weeks but unfortunately I am still encountering this problem with various models and still am not sure why. Is there anyone at Adobe Support who can help me with this issue? Thanks!
Copy link to clipboard
Copied
Hello author.
Can I ask, did anyone from Adobe ever provide you with a solution to your original problem?
G.
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
Ah, right. Thanks for your response.
G.
Copy link to clipboard
Copied
It happens seemingly randomly and I always provide painter a mesh with normals, tangents, and bi-tangents. I know how to troubleshoot mesh issues, and it's not my mesh that's the problem.
Substance painter is the only program I have these issues with. That's not a coincidence.
Copy link to clipboard
Copied
I think there is a problem with FBX formate.If,you export it as OBJ it Works.Atleast in my cause.
Copy link to clipboard
Copied
I love you. You had the resolution. No one else did. Thank you so much. The last adobe employee clearly had no idea what he was talking about. You saved me from getting an F
Copy link to clipboard
Copied
Its not the complete solution though. It's an issue with zero sum faces, which can be fixed in side your 3d modelling program. in blender for example it's mesh/cleanup/degenerate dissolve
substance even tells you that in the warning messages in red, because it doesn't know how to deal with the zero sum junk, so recalculates the nornals, ignoring any custom normals you may have exported
Copy link to clipboard
Copied
to me the only sure fire way of fixing it is to export as an obj. Seems to reatain custom normals, without any error messages. i can sometimes fix FBX imports by running various clean ups in maya or blender, but does not always work. sometimes jsut having a triangle that is really small can mess it up
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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 !
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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!
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
@mike30386926o2gs Maya does indeed have a cleanup tool, but no amount of cleanup fixes the issue
Copy link to clipboard
Copied
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