In Maya LT 2018, I separated the chest/head portion of this character. I didn't notice until testing in Unity, but as you can see the vertex normals appear to have changed. The result is that you get a faint but noticeable seam at the border, and it is more pronounced under sharper lighting.
The normal map texture still displays correctly. I know it is possible to manually adjust vertex normals. But could I avoid this altogether by locking normals before separation? Or is there a tool for quickly reorienting the vertex normals? Why does this even happen in the first place?
Thanks for any help.
Replies
https://www.highend3d.com/maya/script/detachseparate-mel-for-maya
Thanks. I'll give that script a go as well. Always good to have another tool in the bucket.
So, I followed @sprunghunt 's advice, duplicated the mesh, deleted the unneeded parts, and the vert normals remain unchanged. Great. The problem was that, when copying the weight painting over, there is some minor inconsistencies. And so I ended up with some tearing at the seams, which was basically impossible to completely ameliorate, and with a naked human body, even a tiny tear is a no-go.
It seems like it will be easier to fix the vertex normals after extraction rather than fuss with careful weight painting for a year. I know that in the full Maya version you have an editor where you can select vertices and assign exact number values with the weight painting, but in Maya LT I don't have the option. So, first I'll run the script provided to see if vert normal alteration can be avoided altogether, otherwise I'll just find out how to adjust the vert normals. No big deal. I'll update with final solution after I get back in town in a few weeks.
So, I am going to look into two new methods. First, I am going to see if there is a way I can copy and paste vertex normals in Maya LT, or at least a way to quickly align the problem vertices with the good ones in a way that doesn't require clicking each one individually.
If that doesn't work, I'm going to check and see if there is a more precise way to copy skin weights. I think there is a tool called copy vertex weights, and I think that might be another option, assuming it does what it sounds like it does.
It's kind of a lot to explain, but I'll try to do so simply so somebody else might avoid the same mistake:
I rigged a human model, then after the fact remembered that i need to separate the head for modularity purposes. So I duplicated the entire mesh, removed the not-needed faces, then binded the resulting head mesh, and copied skin weights from the original mesh to the new "floating" head. Hopefully that makes sense without pictures.
The problem is right in that workflow however. When I bound the floating head mesh to the skeleton, it cannot pick up all of the same influences. So even though I copied the skin weights, they aren't precisely the same. So the final solution is that i duplicate the entire original mesh twice, bind it, copy the weights from the original over to the two copies, and THEN, lastly, I remove the uneeded faces. This keeps all the influences precisely the same, and now there is no tearing at the seams. Simple enough, but if you dont get the order right, you'll end up digging trhough complex stuff like vertex normals to solve a simple order of operations issue.
Well, that's that. Another headache. At least I learned a bit about vertex normals and what can be done with them.