Strange normals issue when joining (crtl+j) meshes

When I join certain meshes (1 & 2) to mesh A, my normals get messed up.

I’ve joined other meshes like 3 to A and it causes no problems.

After joining I tried selecting the offending areas and doing a shift+n to recalculate but that changes nothing.

Checked to make sure my scale and rotation were applied on the meshes, but that didn’t change anything either. :frowning:

Autosmooth on or off and the angle tolerance for this mesh does nothing after the join which is weird.

Tried the scene in 2.93.5 and 3.0.1 and the same issue happens.

I can correct it with a cached version of the mesh pre join and using data transfer with
a vertex group of the offending area, but I’m wondering what I’m doing wrong since I’m new to blender.

EDIT- reset vectors on all the meshes, then tried the join again and it worked. I’d like to know what was maybe messed up in the first place though if anyone is willing to give me some pointers. Thank you! :bowing_man:

Here is the file: https://www.dropbox.com/s/ck8udxz1ysv7uda/Normals%20Issue%20Coffee%20Maker%20Join.zip?dl=0



Hi Gideon,

The meshes you have marked as 1 and 2 in the top image have custom split normals, this is what is messing things up. On these meshes, press ‘Clear Custom Split Normals data’:

then join the meshes.

You will probably want to redo the smoothing and it might help to add a weighted Normals modifier:

image

with the Keep Sharp selected.

hope that helps.

Cheers,
Dj.

Thanks for the sleuthing and help! :+1:

So is it that when you join the meshes, the point order changes and then the split normals are transferred to the wrong points?

It’s great that Blender gives you so many options for normals, bu it means I have a lot of learning to do! :bowing_man: