Normals on skinned meshes.

Hello everyone.

I’m having serious trouble with the normals on skinned meshes while changing the position and scale of bones.

If I rotate a bone, then the normals on the mesh are updated correctly.

If I translate (move) a bone, then the normals don’t seem to be updated at all.

If I scale a bone, then the normals are updated incorrectly, they actually seem to move the opposite way to how they should in most cases. I think what it’s doing it scaling the normal in the same space as the mesh and then re-normalizing it. This is not the correct way to do it.

Re-calculating correct normals on the fly should be easy for moving or scaling bones. Blender has no trouble doing it extremely fast.

I function RecalculateNormals() does not help, and then it messes up the UV seams.

Are there any known work-arounds for this problem ? Is it something that might be fixed in a update ? Am I just missing a setting somewhere ?

Thanks to anyone who might be able to help me.

I have a really weird work around for this now, which might help others if they find that this is a problem for them.

If you have a skinned cloth physics componant attached yo your skinned mesh, then the normals will be updated correctely on the fly. This is even if the skinned cloth componant is not active! If you untick it then it STILL seems to work.

Madness.

This no longer seems to work (9 1/2 years later, what a surprise), the Cloth component has to be enabled to update normals. And I cannot figure out how to have it enabled but not actually affect mesh vertices, which turns my characters to goo.

Running into the same issue, I wish there was a solution to recalculate the skinned mesh normals properly…

Would be nice if we could see how exactly the cloth component is recalculating the normals and create our own script without the cloth aspect.

1 Like

I’m having the same issue in 2021… Adding a cloth component fixes it but I’m not sure if it’s possible to turn off all the cloth functionality

1 Like

I’d still love to see a solution for this, such a glaring issue…

Any update on this issue?

Anyone figure this out?