Yes this is normal behaviour.
When you split a parts off of a mesh, then you get more vertices. Those new vertices have their own normals and the normals of the old vertices change a little.
Why? Because vertex normals are calculated by averaging the normal for all adjacent faces of a vertex.
You can see the change of the vertex normals in this image:
You use tangent space normal maps so you'll have a problem in your game engine, because tangent space normal maps change the normals of your mesh based on the existing normals. Maybe it still looks ok in your engine, the difference of the normals is not that big, then just leave it as it is.
If it doesn't look ok and you can see a sharp edge, then you have these options (that I know of):
- Rebake the normal map to the new split mesh (that's probably going to be complicated because projections are also based on mesh normals ...)
- Use the Normal Edit Modifier and create a vertex group and an object to point the normals to for every single vertex you need to adjust (hopefully your exporter accepts the info correctly, because applying the modifier doesn't work and you will not see any changes on the normals in edit mode)
- Use the Data Transfer Modifier to transfer the normals from your old, unsplit mesh to your new split mesh (check "Face Corner Data" and "Custom Normals" and hope that your exporter accepts the info correctly, because applying the modifier doesn't work and you will not see any changes on the normals in edit mode)
I know that Maya allows manual editing of individual vertex normals and 3ds max has smoothing groups which is a weird way to almost set vertex normals manually, but not quite (and it wouldn't work in your case).
Sorry to leave you with bad news. Good luck!