0
$\begingroup$

So I have a blend that was given to me. Each patch of grass mesh for example, is neatly on the grass texture. All of the grass cubes throughout the map share this same UV space. However for no obvious reason to me, it's showing the nearby rock texture.

This is a megatexture so clamping isn't going to do anything as the entire level is a single texture but I shouldn't have to clamp in the first place.

enter image description here

If you zoom in very close on the UVs you can see that each corner of a single grass UV mesh is not touching the gray part in any part of that image. All of the grass is sharing the same UV space as well.

enter image description here

Why is this happening and how can I fix this? The level is only a single texture. Ideally I don't want to have to go around the map selecting all of the grass, rock, wood, etc, just to fix what seems like a blender bug.

enter image description here

$\endgroup$
1
$\begingroup$

This is not a bug, it is in the way UV-Mapping to a surface works. If the surfaces are at an angle, a certain amount of edge blending is going to occur. This can lead to unwanted seep-through of other parts of the texture.

It appears that the bleed in your texture is too small. Bleed is the amount of overfill that each island gets added on its edges. This in turn is causing the neighboring textures to show through. To get around this, you need to increase the spacing between the UV-islands.

$\endgroup$
  • $\begingroup$ I actually was able to change some material filter settings to get rid of the bleeding. All of the seams are completely gone in rendered view: i.imgur.com/9fQOoXV.png I then baked the full render onto a new image. Unfortunately, upon switching to texture view, it's slightly off with some small seams noticeable even know they aren't there in rendered view. $\endgroup$ – Shadow Mar 15 at 10:05
  • 1
    $\begingroup$ I was going to suggest you could increase resolution, convert textures into vertex paint and then unwrap again with different bleed settings and bake down the vertex paint into a new UV map, but your solution is very much preferrable. $\endgroup$ – Ben Mar 15 at 10:18
  • 1
    $\begingroup$ I did play around with the file that you linked earlier, and after a bit of trial and error, I got it to work by creating a second UV-Layout, taking apart the UV-tiles, and baking the old texture to that new layout. It is a horrendous waste of UV-space, but it fixes the seam issues. Do you still want to do this? $\endgroup$ – Ben Mar 20 at 7:40
  • 1
    $\begingroup$ Well if you do, here is how to make a new UV-Layout and bake your existing textures to that one: blender.stackexchange.com/questions/50650/… $\endgroup$ – Ben Mar 20 at 10:12
  • 1
    $\begingroup$ My pleasure, if your question had been answered, don't forget to flag it as answered, so it doesn't show up in the unanswered stack anymore. $\endgroup$ – Ben Mar 21 at 11:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.