Visible seams basing on distance


I’ve got a weird problem with my character textures. The point is that when the camera is pointing my character from the close distance texture looks just fine. But when when camera is a little further(I want camera to be kind of far), i’m getting visible seams. I’ve got three textures on this character(base, spec and normal) and I think base texture is culprit.

Here is the picture from close. You can actually see seam on hair but it looks fine.


And here are pictures from further. Seams start to look more terrible



Bump, I still can’t get it working properly.

Are you mirroring the texture by any chance? Looks like mip maps bleeding from another side of the texture that does not match in brightness.

No, I’m not mirroring it. Here is this texture(of a body).

Bump2. I"m trying changing options in texture details but without luck.

Yep, the same bug. I’ve seen it before inside Unity3D engine. I’d like to see the ideas too. I bet its should be some options about of a camera or a model. But I think its should be camera, because its ok on a close distance

Its looks like I was wrong, and its material settings. 99% its a material options

Yes. I’ve checked almost everything. And I fixed mine texture today with adding a several pixels on the edge of UW seam. So basically in a production texture should be created with an overlap of a few pixels about 5-10 pixels on the edge of a seam to add more texture depth to it, because engine should read the edges on a range. But I think its should be other fixes like an adding and additional mask map to the model, like you gonna paint inside the engine, but its gonna be heavy for a game. So the best way to remove the seams is to add a pixels to the edge of a seam

I know its an old post but in case someone like me found it here are some possible solutions that worked for me. Make sure the diffuse texture has infinite padding around it. Second check the mipmap settings, putting it to no mipmaps sometimes worked for me.

1 Like

This post only lists a terrible hack you can do, if you’re doing something that needs actual good runtime performance, you should fix the source of the problem

I see the same thing. Either setting Mip Gen Settings in the texture to one of:


And I also had to convert any virtual textures to regular textures.

Got rid of the seams for me. Of course, adding padding is a way better solution, but I was generating textures for characters from Quixel Mixer.

1 Like

Can confirm, setting the Mip Gen Settings in the texture browser of UE5 (under Level of Detail) to “NoMipmaps” solved the issue

That’s not a solution.
You need mips to prevent bad performance.

What the most common issue with seams on SKM is, is bad roughness maps.
The second, is bad normal maps.
The third, is not having properly set up the mesh to recalculate normals.

Past that, any other maps applied to the mesh - specularity? - could be at fault too and should be checked off before biasing mips.

After all of that, if you still get issues, Bias the mips instead of just removing them all…

1 Like

A very valuable input, many thanks my friend!
The textures I am using (diffuse, specular AND normal map) are baked outside of Unreal avoiding the blending process with 2 textures and 1 opacity map
So on close range, the baked texture does what it should, but in the distance it breaks when MidMaps are generated - even if I just apply the diffuse texture without the spec and normal
Any idea what could cause the problem?

First, make sure your model UVs are right.
To avoid a seam the line needs to actually share the same UV coordinates.
In case it can’t- say a character skin - then you need the UV to be aligned to the pixel center of a 2k texture, so that both sides can share the same pixel color.
DCC have better UV and Material precision, so it isnt uncommon to not see an issue in them.

When/if you think the model is sound, throw it in the engine and put a fully rough black on it.

If you see a seam now, the model normals are wrong. You should really correct them in a dcc, but on skinned meshes you can set up to recalculate from normals.

If/when black shows no seams, you try the texture.
If you get seams, first edit the texture to have the same color, which will likely fix it.
If not, only then do you bias the mip values…

1 Like

Thanks very much, your help is highly appreciated! My applying any linear color, no seams are visible - everything is perfect even in the distance.

“Edit the texture to have the same color”
Well it kinda has when it doesn’t show any seams in close-up? It appears to me that a shadowed outline occurs but turning off “Cast Shadows” didn’t fix it (and is not a real solution…)
The faulty material is an instance of the main one just with diffuse, spec and normal textures swapped - which got baked to perfectly match everything

Could be the UVs themselves - AND only for one specific texture.
Thats why you have to eliminate options as you go…

1 Like

After seeing your texture I can say for almost certain this is an issue of padding. When your texture mips, the skin tone color will begin filtering into the hair color. Padding is a technique of adding extra colored pixels outside of the polygons UV space - coloring outside the lines so to speak. This makes sure that when the mips are created, the blur doesn’t blend in an undesired color.
In the areas around the hair on the back of the head, simply expand the dark brown hair color instead of reverting straight back to the skin color.
A different UV layout can also help but won’t be needed if you have appropriate padding.

1 Like

Define “padding”.

And that may have neen the case for Op, 2 years ago. Probably won’t help others though.

Padding aka dilation. Probably will help others if they are getting distance based seams as its a pretty common mistake for inexperienced artists which is made apparent by the fact this thread keeps getting necrod. One of the other comments mentions and glosses over it but it’s a pretty important part of texturing.

Depends, usually a good UV map does well without having to extend the edge of the texture’s pixel so long as it is kept in a power of 2 mode.
But It is actually something that occurs in relation to the initial size the UV is mapped to.

So yea, for character textures, it’s probably better to have it than not.