Armature modifier resets mesh normals

as the title says, whenever i add a modifier (in my case the armature modifier), the mesh normals
reset to the ‘default’ smoothing.
I use the addon “transfer vertex normals” to average the normals between two objects that i split from one
(a character in parts). i dont want visible seams between the parts.
And i can’t re-edit the normals, after the modifier is assigned.
can i prevent this re-smoothing or is there another way to smooth out the seams?

How are you adding Armature modifier? Normally Armature modifier “appears” when you parent the rig to the mesh. Do you have a rig?

Indeed i have a rig. i manually add the armature modifier to the objects, because i need the parts to be unparented (and it didnt make a difference, except hierarchicaly)

Edit: example blend.

armaturenormal.blend (481 KB)

Anyone any idea?

So, no hope i guess…

Forget smoothing, what are you trying to do with armature there?

I have an animated character. i use him in Unity. i’ve written a character customization system and need the separated parts for that including the armature.

Here’s what i mean:

it would be really great if there was an answer, i may just have overlooked…

In Maya this is easy to accomplish, but Blender seems to keep recalculating the normals, so my first thought was that you’d have to export a rigged version and a non-rigged version and then copying the weights over to the non-rigged version in Unity, but then I thought why not just copy the normals from another mesh so I did a quick test by modifying the FBX exporter and it seems to work.

Do a search for ‘dbo’ in the file to see the few lines I’ve added. Also I’ve made it so it can work along side the original FBX exporter.

I’m sure someone is going to come along and say why didn’t you just click or tick some option that’s already in Blender but until then at least you got a starting point.

Good Luck!

Attachments (120 KB)

What a good idea. It’s a bit tedious to copy, rename and renormal all the parts (i have a lot :slight_smile: ), but it works.
Thank you very much!