Hey guys, I thought this would be easy but I’m struggling with a texture I’m using for masking different materials of an object. It appears the texture is kind of corrupted or has less quality than the photoshop original. I tried different saving in different formats with no success. I also tried messing with some texture settings and compression in UE4.
The original texture was rendered in targa using 3ds max, then I imported into Photoshop to tweak (everything was fine), and even the export result was fine, but in the engine has this issue.
So, am I missing something obvious? Has anyone here faced this issue?
What is the resolution that is texture? When you import it into UE4 you can open the texture and see what the imported and the displayed texture size are.
Is it only happening with this image or other images as well?
Have you tried using different formats other than PSD?
It’s a modified targa from 3Ds Max. The last example was actually a newly created file just for the purpose of testing.
Anyway, I just updated my engine to 4.2 (I should have done that earlier), and most of the problem is solved. I’m saying “most” because there are still some very small compression artifacts, such as these on this screenshot:
This is an artifact of the DDS block compression. I’ve found that it has an enormously hard time with masks that share edges as yours do. If you were to import each mask as a single colored image (Black and white), the artifacts are reduced. I ended up setting my texture to VectorDisplacement to force no compression. However, it makes the texture take up something like 16x more memory So, the tradeoff is more texture samples per material or much higher memory overhead. I played with it for a good while and couldn’t find an art-side solution other wise.
You should be able to use the texture uncompressed, set it in the Texture Editor and then hit reimport and save. This should clean up the compression artifacts.
If I might, Id like to add another, related, question to that:
I faintly remember from the UDK days that the color channels for textures are imported with different compression levels.
The advice then was to store high detail masks in the red (or was it blue?) channel, as these are preserved better than the green (or was it blue?) channel.
Is that still the case in UE4 and if so: What are the “high-def” channels?
The only High-Def channel in DXT5 compression is the alpha as it’s stored as a full float8, that’s the best place to store masks that need to look uncompressed. However, because of that, DXT5 compression DOUBLES the size of the DXT1 compression without alpha, but it’s still 4x smaller than the uncompressed texture. (DXT1 = 8:1 DXT5 = 4:1)
Can you provide a screenshot of the texture editor in UE4? Pay close attention to the area above the details panel that says “Max in_Game”, if that’s lower than the “Imported” stat, it’s likely due to either an INI setting or possibly you’ve set the scaleability down to improve performance in the editor.
Also, there’s a new feature in 4.4 (Maybe 4.3) that monitors editor performance and will drop the scaleability settings automatically to provide a better experience. You may want to try toggling that off, setting your scaleability settings to Epic and restarting the editor to see if that helps.
I know that’s an old topic, but it’s the first link of Google Search, anyway I solved this by selecting Default (DXT5) on Compression Settings under Details in Texture Editor.