Texture Pixelated Coming from Substance Painter

I’m getting my feet wet with Substance painter and I’m getting some strange results with a basic stylized rock I’m working on. The actual design is not fully complete yet and I’m just trying to get used to the workflow. The rock was made in blender.

Here is the rock in substance painter:

Here is the rock in UE4 Viewport:

Here is the super basic UE4 material:

Please note the strange pixelated/discolored noise on the UE4 rock faces! It is much more noticeable in the editor than the screenshot for some reason. I’ve tried so many different settings and I can’t get the gradients to be smooth! The textures are 2k 8-bit PNG exported with Unreal Engine 4 (Packed) painter defaults.

I’m not worried about the roughness/specular not matching up because I can manually tweak those after this issue is resolved.

I’m still an amateur when it comes to substance painter and materials in general, so I’m hoping it’s just a texture setting.

Thank you so much in advance!!

Probably from DXT compression. You can try setting your texture compression to “Vector Displacement” if you don’t care about your memory usage. (edit: to be clear, these settings are in UNREAL, not Substance Painter…)

Otherwise you’re probably just going to have to deal with it.

There may be more flexible compression options coming soon now that Epic has aquired Oodle.

1 Like

Hey thanks for the response!! Changing compression to BC7, Default (DXT5), or Vector Displacement does seem to solve the issue! 20+MB for one very simple rock base color texture seems a bit extravagant though? What is a reasonable size for an asset like this?

If you have another moment, I’d love your feedback on an alternative I was thinking of!

Would it be more efficient to bring in a lower-res greyscale mask for highlights and do the work in the material? It would be simply multiplying a color by the mask and blending it with a base color.

I really appreciate the response! New compression options sound exciting!

Use whatever compression works best and produces the smallest file size. If BC7 works then use it. I mainly mentioned Vector Displacement because it is essentially uncompressed, so if they are compression artifacts then they wouldn’t show up.

Really depends. Grayscale and BC7 compression are both the same size, so if you have to create an additional texture you’re probably not saving much memory. But if you can pack it into a channel of an existing texture then it’ll be a net gain.

It’s a valid approach, and doing the albedo in the material using texture masks can give you some additional flexibility over color variations that are harder to do with a color texture. Really just up to you.

Edit: Sorry didn’t see the part about it being lower res. Yes that would probably be more efficient.

1 Like

After testing a bunch of stuff it seems I get much better results with a lower resolution file using less compression in UE4. Those artifacts look really gross. Even 512 with Vector Displacement compression looks better than 2k default compression. I think I can bring down the resource size even more if I export the noise map as greyscale and do the work in the material.

Thank you so much for being so helpful! I really appreciate it - this was getting very frustrating!

Let’s hope those new compression algorithms get implemented soon!