Trouble with UV Mapping Blender => Unity 3

For some reason I am getting nasty grey edges around the edges of rendered 3D models that are not present in Blender.

I seem to be able to solve the problem by reducing the size of the UV coordinates within the part of the texture that is to be mapped. But this means that:

  • I am wasting valuable texture space
  • Loss of accuracy in drawn UV maps

Could I be doing something wrong, perhaps a setting in Unity that needs changing? I have watched countless tutorials which demonstrate Blender default generated UV coordinates with “Texture Paint” which are perfectly aligned in Unity.

Here is an illustration of the problem:

  • Left: approximately 15 pixels of margin on each side of UV coordinates
  • Right: Approximately 3 pixels of margin on each side of UV coordinates

alt text

Note: Texture image resolution is 1024x1024

This is due to mipmapping. The amount of rendered pixels is far enough below what’s in your texture map that the GPU is grabbing from at least mip 1. If bias doesn’t solve your problem, then you’ll need to rethink how to put this together.

In the future, be aware that such widely-varying colors will lead to these artifacts. Do you really need that black? It might be easy to use as a background, but if it’s not being mapped onto anything, than using Solidify (in Free Plugins) will get you better results, while allowing mipmapping to be used to its most performant capacity.