I have been noticing my textures are bleeding a lot, how can i fix this issue:

I tried everything nothing fixed it. The only thing that actually removes the bleeding thing is to remove MipMaps altogether. Though the pros of unreal told me to not do that, because mipmaps are essential.

What should i do to fix this? Maybe there’s a completely different alternative?

The project below is a test example. In the original project this icon is being placed inside a material that has other symbols, hence why im playing with the scale.

Video and project:

Test_Texture_Bleed.rar (1.7 MB)

Try to use a bigger resolution texture like 256x256 and further increase the margin distance from the center image to the border.

Try to not pan the image out of it border as well.

If this is a ui, switch the texture group to UI.

I think it should be fine with removing the mipmap as it only a 64kb.

1 Like

Its a symbol to be displayed on the top of my unit. Imagine like a Tank with a mark on it.
Changing it to UI fixed it, though that disables emissive. And the material is emissive in the original project.
I tried increasing the margin of the png by increasing its sizeto 256x256, had good hopes for this, but it changed nothing at all.
Maybe disabling the Mipmaps is the best course of action?
Is there anything else i could try?

Edit: On further inspection it seems increasing it to 256x256 actually fixed it.
Though it sad it needs such a huge empty space for it to not bleed, making a texture 256x256 just because of this when it could be 64x64 or 32x32 its not very optimal…
Could it be that disabling the mipmaps would be better than increasing all icons to 256x256 ?

1 Like

Oops i edited the last comment.

Let say you have a x1000 tank and x1000 different icon on the map without level streaming and mipmap, even off screen, the 5KB x 1000 will always be in memory.

If you have only an icon of this type, it should only cost 5KB or just proper level streaming with few tanks loading per zone. They yes removing the mipmap is totally fine :innocent:

You can use Statistic > Texture Stat to view the memory consumption of these icon:

1 Like

Thanks. i found 2 other alternatives:
1- Removing it using Step:
It never totally removes it, if you zoom out far enough eventually you will see it bleeding.
And if you up the Step to 0.99 then you almost remove the texture. Though it can work in some cases:

2- Removing it using a little square mask. Can also be done using a square programmed mathematically:

I understand now.
But yeah im using this icons in every tank. So that means it’s not a good practice.
This means every tank that has an icon everywhere on the map would consume these 5kb.
So if its 1000 tanks its 1000x5kb, right?

If it the same icon, let say T_Star_D for every tank then, it will just get reused(instance) so 5KB in total at the end with x1000 tanks.

1 Like

That is with mipmaps or without mipmaps. Sorry im confused now

With mipmap, if the object is off screen or far, it will reduce the texture size of that texture.
Without mipmap, it will always be 5KB.

So mipmap disable, will consume 5KB in total and the same icon can be reused for multiple tank without duplicating the texture icon itself in the memory.

1 Like

Oh well it seems in small textures it could actually be better because it doesnt need to calculate extra LODs for the MipMaps.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.