Unreal Engine: Normal shading issue on metal surface

Hey guys, im setting up my materials for a model and everything looks fine until I add metalness. After I add metalness the normals begin skewing. Ive tried marking the edges sharp but then I get artifacts when baking. Does anyone know how to fix this?

Unreal Engine:

Blender viewport (texture and solid shading):

What happens if I mark sharp edges:

Hi @Yaboiidaequan , welcome back to the forums :slight_smile:. I have seen this problem manifest before. If you take a closer look, you can see that the problem is already present in your blender viewport.

I suspect that this is due to how blender in applying the smoothing groups. (In certain programs depending on how they render the mesh and PBR materials it might show up more or less).

Keep in mind that sometimes the information of the smoothing groups also transfers to bakes. Where you will see this show up the most is probably the AO, Normal, and sometimes the Curve/Cavity maps. By sharpening the edges without re-baking, you may see artificing show up or be more obvious.

The moment you add high metallic or low roughness this may show up more visually. What has worked for me is using support loops, however this increases your polycount. Essentially you would be adding a very small bevel along your sharp edges and setting the entire mesh to smooth (even if you set the mesh is fully smooth it will look like the edges that you supported have been hardened). But before doing that try and see if by setting the edges to sharp as you have and re-baking your maps, updating them in your texturing program and re-importing your textures to see if the artificing is not as visible (it may still be). I highly recommend that when you change the smoothing groups to re-bake as well.

Additionally you might have to play around with how your mesh is being triangulated on export from Blender or importing it into the engine. Even if you are importing as quads into the engine you will notice that your topo will be triangulated. Sometimes it may interpret a quad a certain way and give you “weird shading” issues. This is mainly caused because of the location of the verts on a quad.

I suspect that you will have to go thru your mesh and apply this method since I’m seeing evidence of it happening in your blender viewport render. (It is hard to pinpoint the problematic quads since I can’t see the topology of the mesh, and some will only show up at certain views)

To apply this method all you have to do is go around the mesh in your viewport at different angles and pay close attention to the silhouette. When you find a quad that is breaking it, you’ll have to go in and triangulate the quad in the direction you would like the silhouette to go in.

Silhouette breaks

Applying the triangulation

Fixed Silhouette

Top View (notice the change in reflections)

Wireframe Top view

I hope this helped, if you run into any problems or need further assistance, please let me know.

the object is already triangulated, i can try the edge loop method and see if that works.

Hi @Yaboiidaequan , thank you for providing a screen shot of your wire frame. Please let me know if the edge loop method works for you. Just to clarify the problem may not be if your mesh is triangulated or not, it’s how it triangulated the mesh. Aka depending on the placement of your verts in a quaded face (a polygonal face made up of 4 verts) and the way your asset authoring program (blender, maya, max, etc) or game engine triangulates the mesh it will affect how the silhouette/smoothing groups react in the engine thus affecting the visuals of it. So, it is very important to go around the model to make sure the triangulation applied to it did not change your silhouette. If it did you can just change the edge direction to correct it.