SurfaceAppearance ColorMaps are lower quality and have visual glitches

Reproduction Steps
Two MeshParts, one with a SurfaceAppearance that has a ColorMap as some texture and the other without a SurfaceAppearance and the texture is set to TextureID. This happens with any MeshPart and any image we’ve uploaded on all computers I’ve tested.

Ryzen 5 5600x, RTX 3080

Expected Behavior
The crispiness and the resolution of the texture is supposed to be the same.

Actual Behavior
You can see the edges are blended on eachother and the color artifacts, it looks like a compression bug:


Issue Area: Engine
Issue Type: Display
Impact: High
Frequency: Constantly

9 Likes

Hello, thanks for your report. Currently for Studio, MeshPart with SurfaceAppearance is using compressed textures whereas MeshPart without SurfaceAppearance is still using non-compressed texture. We are planning to enable compressed textures soon so they will be consistent.

2 Likes

Is the compression algorithm going to improve? Because the current one is abysmal.

This is a trade-off. Compressed textures overall mean faster games using less memory. Also there’s various hardware with different support level. We have to balance between quality, compatibility and performance .

We are always looking for ways to improve, including more advanced texture compression formats (we don’t have exact timeline due to priorities though). The caveat is that the advanced compression formats are supported only by some devices, not all.

1 Like

Would it be possible to have a TextureFidelity property, then? Models already have a similar LevelOfDetail property, and MeshParts have a RenderFidelity property.
Since you’ve stated it’s a trade-off & how it won’t be possible to introduce a more complex & better compression algorithm, it would mean that there would be quite a number of cases where the seams would be too noticeable.
I for instance imagine the seams would become more noticeable on weapons you’d use - but for mobs, terrain and the like, where you don’t focus as much on the actual texture, it would be fine.

1 Like

Right now, we are working on improvements of how the roblox engine by default scales to all the tens of thousands of device kinds that access the platform. That said, yes, we are thinking of how devs can be able to give more “hints” the engine about what matters more, as we cannot infer that automatically. So, things like a textureFidelity or perhaps a visualFidelity hint are on our future roadmap.

3 Likes

This topic was automatically closed after 5 days. New replies are no longer allowed.