How can I prevent seams from showing up on objects using lower mipmap levels?
- by Shivan Dragon
Disclaimer: kindly right click on the images and open them separately so that they're at full size, as there are fine details which don't show up otherwise. Thank you.
I made a simple Blender model, it's a cylinder with the top cap removed:
I've exported the UVs:
Then imported them into Photoshop, and painted the inner area in yellow and the outer area in red. I made sure I cover well the UV lines:
I then save the image and load it as texture on the model in Blender. Actually, I just reload it as the image where the UVs are exported, and change the viewport view mode to textured. When I look at the mesh up-close, there's yellow everywhere, everything seems fine:
However, if I start zooming out, I start seeing red (literally and metaphorically) where the texture edges are:
And the more I zoom, the more I see it:
Same thing happends in Unity, though the effect seems less pronounced. Up close is fine and yellow:
Zoom out and you see red at the seams:
Now, obviously, for this simple example a workaround is to spread the yellow well outside the UV margins, and its fine from all distances. However this is an issue when you try making a complex texture that should tile seamlessly at the edges. In this situation I either make a few lines of pixels overlap (in which case it looks bad from upclose and ok from far away), or I leave them seamless and then I have those seams when seeing it from far away.
So my question is, is there something I'm missing, or some extra thing I must do to have my texture look seamless from all distances?