After much testing I’ve discovered a Blender armature causes normal errors. The object doesn’t have to be animated; just by adding an armature this happens. The bent normals are showing through my baked normal map.
Initially I thought this was a bake error but I’ve managed to track it down.
Below are images of simple objects exported and baked from Substance Painter. You can tell by looking which one has an armature applied.
Yes All of the objects in the screenshots were exported and imported using the same parameters. That’s the horrible truth.
you can test this yourself with a hard surface baked object (with only one smoothing group). Import the object into your scene and apply materials. It will look very good and correct.
Then make one that’s weighted to an armature, and import that with the exact same parameters. Apply the same material. It will look very bad.
This isn’t very noticeable with character models where there’s a lot of geometry. But it’s extremely noticeable if I wanted to animate a hard-surface object with optimized geometry.
I’m not sure what to do about this problem. I first encountered it trying to animate large moving parts on a scifi table. I was unable to get it to look correct.
You need to triangulate your model before exporting from blender. Also you have to apply edge split modifiers before exporting to the Substance Painter and disable Average Normal before baking
The key option here was to import normals and tangents.
Though I’m not sure why this works… It doesn’t make sense to me that an armature would make a difference here.
Anyhow, thank you! I’m new to UE4 (coming from Unity) and was worried this was a bug I wouldn’t get past. Very much appreciated!