Multi-sub-object material seams

When I use multiple materials on one mesh I start getting seams.

The body and head are on separate maps but are baked from the same sculpt.
In marmoset I can’t see any seams so I’ve ruled out texture/baking being the root of the problem.

Does anyone have any ideas?

Additional information:
Materials only have normal maps.
No lighting is being baked.
I’ve tried flipping green channels.
The compression settings are both set to normal map.

Are you sure that your normals are smooth (the seams have the same value?

If the direction of the normal maps is different (i.e. one is slightly rotated compared to the other) a normal seam might occur. The same can go for the first UV, if they are on different angles it might be hard for the tangents to smoothly blend over.

(This might also be why i.e. bethesda used global normal map for faces and local normal maps for bodies).

I relaxed my UV maps around the problem area in the hope that the pixels would become more accurate. However the seam still persists. I also tried to average the UV density of the two pieces in the hope that even pixel density would solve it, but it also didn’t work.
UV1

UV2

I assume so as in marmoset there are no seams. Unless they have some kind of normal map smoothing model.

When I import both normal maps only the body is automatically compressed to a normal map, where as the face has to be changed manually. Could this information uncover a problem?

Hmmm…
What you could try is to copy the model, combine the neck from the head and body as one uv and render out that normal/diffuse/whatever you need.
then use photoshop/whatever to patch the seam in the seperate uv’s.

Might work, ive been doing it for diffuse but I dont see any reason why it wouldnt work on other things like normals.

Basically its the same procedure as this: Completely Eliminate Texture Seams with 3dsMax

Maybe that helps?

As for the normals being imported as non normals, it shouldnt be a problem. (At least, never noticed it being a problem)

Thanks for the reply.

I rendered the head and body onto one normal map and it seems to work. I also plugged the normal map twice into a multimesh and it worked. Ideally I’d like to have the head on a separate map.

So it may be a problem with the separate baking, although that wouldn’t explain why it works in marmoset.

I think I’ll try to bake both at once in Xnormals, however each time have my preferred island in the UV target area.~
I’ll post the results if anyone else has the same problem.

Ok so the problem was with the separate bakes of the head and body. The fix was like you suggested, combining and baking the mesh as one. To solve the overlapping UV islands I moved the respective unwanted island outside of the UV rendering zone, then created two models each prioritising either the head or body. I guess it was a normal inaccuracy problem with the open boarders.

Cheers for your help.

Hi Crofty,

I’ve setup a simple cylinder using multi-sub-object materials with a normal map.

I, however, am not seeing the same results you’re seeing with this.

On the left is my mult-material asset
Middle is the same object with single material placed on both material groups with a single normal map. UV is not split along the seam either.
Right is the same as the middle with UV’s split on the seam.

Tim