One persistent issue in Rust is the
ugly seams that have existed on the player models for quite a while. One of the last things left on the new player model was fixing them, so I took some time this week to address them.
The first issue is simply ensuring that the verts in the body and the head are both snapped to exactly the same positions and have exactly the same skinning information, even then there's
still an obvious seam.
The direction light bounces off an object is determined by two different methods: the normal map and the vertex normals. When a split is created in an object (like the split between the head and the body in the player model) the vertex normals are also split, so these need to be manually averaged.
The new player model uses a separate mesh for the head and body to maximise efficiency and detail in the areas that need them most. I also used separate high-poly models for the same reason. Using this workflow it's difficult to sync the UVs across two different meshes. I had to bake an additional blend layer in the normals which took care of the last of
the seam issues.
tl;dr: I fixed the seams.