Fix UE's alpha handling

Mipmaps are generated on CPU. But bilinear filtering happen when you sample texture at rendering time.

That’s what I thought. We’re talking about modifying tesxture output to exclude zero alpha pixels when being generated. This wouldn’t be forced on you or a default setting.

are you doing texture padding? Edge padding - polycount it is practically a required procedure for whatever texture you do for game engines.

I’m not doing anything - the artist shouldn’t need to know about that, not to mention that it’s a fairly length and destructive process to put the original file through. It’s such a simple thing to fix programatically.

Once this is in you’ll look at anyone saying it needs to be a manual process like they’re crazy.

I know I read this thread a bit late but there is an easy solution for everyone.
If you use PNG don’t use built in Photoshop version. PS always fill the empty(alpha) info with white and it’s wrong method.

This is a free plugin for Photoshop:

When you install than you will found second PNG export version in the save list. (SuperPNG (upper PNG))
SuperPNG option window:

  • select Clean Transparent (you need to check this at each export - some PS don’t save the setup!)
  • save file

If you don’t use PNG than you need bleed out the color data (RGB) into the transparent region to avoid unwanted pixel noise at the alpha edge.
There is a free Photoshop plugin from NVidia:

When you install than you will found under Filter/xNormal

  • select color info (layer)
  • Use Dilatation from the xNormal option list
  • Radius (in pixels) - how many pixel to bleed out into the alpha region
  • save file

Welcome

For other people finding the PSD issue, previous poster is absolutely correct in that Adobe has chosen two things that make alpha handling a nightmare. The latter, that the background is set to white, is a large one.

For those looking for other possible solutions, OpenImageIO’s oiiotool should handle the broken PSD’s background colour and broken unassociated encoding format correctly.

This is Adobe’s fault, not Epic. Having white (or whatever PS randomly decides) on transparent pixels from Photoshop’s default PNG exporter had been a problem for game textures since forever, long before UE4 and even UE3 were a thing. You do not want the engine automatically “fixing” or “guessing” the color value for transparent pixels because not every texture is a cutout and your material might need those values for something else (roughness, occlusion, etc).

It’s Epic fault. Unity has “PSD Remove Matte” checkbox that fixes this problem since 2019. Pretty weird to see this issue still in UE5.

PNG also has the same issue, a bit less visible but still…