UASTC compression on Metallic/Roughness changes the colours

Same as title, see screenshot, I sent Herbst the repro file too, should this be happening?

Original Post on Discord

by user 103054507105067008

Is it by default always performing an sRGB color space conversion?


by user 103054507105067008

Could it be caused by the resizing?

Resized to 2048 from 4096 in photoshop and no difference there


by user 103054507105067008

Original texture file https://drive.google.com/file/d/1vuXe0gcWud3DWxMCS1xnCfjdRynA4Qq9/view?usp=share_link

by user 103054507105067008

Not in Photoshop but with the max size set to 4k (or 8k - something at least the size of the original texture) I think we noticed color changes in the resize algo last week too so im wondering if thats the cause here too

It’s only really happening with UASTC, just tested WebP it was fine, testing ETC1S now but won’t use that for rough/metal anyway so I’ll opt to either not compress for now or see if the UASTC colour issue can be fixed

by user 103054507105067008

I’m also noticing this colour change with albedo textures when using WebP/ETC1S, UASTC produces accurate or close enough colour for albedo textures it seems but UASTC definitely changed the colour of the metallic maps identified earlier in this issue



by user 103054507105067008

Repro model is here https://discord.com/channels/717429793926283276/1072557890948309115/1072557890948309115

by user 103054507105067008

Can you make sure resizing is off? If there’s a bug with color spaces in that then it does not matter what format you’re outputting.

It may well just be that, I am resizing - will test at native res

by user 103054507105067008

So I went and tried all the compression modes at Needle import 4k native res + unity import set to 4k native res. I found that the colours of the albedo itself still changed through compression without the textures being resized



by user 103054507105067008

Both models loaded using DropListener in a model viewer here https://demo.epm.digital/modelpreview/ , model is repositioned at 0,0,0 too in both imports

by user 103054507105067008

Do you have a cubemap/skybox in that scene that is part of the file you load? There’s also differences on other parts that don’t look textured, wonder if it’s just external lighting that’s different.
Do you see the same difference between the glb files in e.g. model-viewer?

The screenshots are from me having two tabs open of https://demo.epm.digital/modelpreview/ so the skybox and scene is identical it’s just the model loaded that is different.
I am seeing the same over at the model-viewer here when testing the models https://modelviewer.dev/editor/

by user 103054507105067008

by user 103054507105067008

Original model is on the left in these model-viewer screenshots, tested in this screenshot ^ using ETC1S at 4k native res textures in Unity + Needle Texture import settings, the colour change is happening still with the albedo

by user 103054507105067008

tbh this small color difference is kind of expected for a compressed format, certainly doesn’t look as strong a difference as in your pictures above

I know but… 3D team are pointing pitchforks at me currently for product viz

by user 103054507105067008

The colour change on metallic textures at the start of this thread is enough to drastically change the material at least, the albedo isn’t as bad

by user 103054507105067008