UE4 Metallic、Roughness合并,采用ETC2導(dǎo)致效果不對(duì)
????問題:項(xiàng)目今天又遇到一個(gè)問題,模型上各種噪點(diǎn)、各種顏色錯(cuò)亂。之前一直沒有發(fā)現(xiàn)問題,直到用正式項(xiàng)目打包。發(fā)現(xiàn)很多模型顏色是錯(cuò)亂的。
????尋找其中的差異,發(fā)現(xiàn)測試時(shí)用ASTC壓縮貼圖、正式項(xiàng)目使用ETC2壓縮貼圖。無疑,問題就出現(xiàn)在貼圖格式上。定位到了大致問題,進(jìn)一步查看材質(zhì)球,發(fā)現(xiàn)metallic、roughness、emissive是合并在同一張貼圖。而且沒有sRGB。
????也就是說,這是一張純數(shù)據(jù)貼圖。那為什么采樣之后會(huì)出現(xiàn)錯(cuò)誤呢?我們看看貼圖壓縮的算法,下面以DXT為例:

如果你可以看懂上面的圖,就可以了解到,最終顏色是取的近似色,16像素最終只保留了原來的2個(gè)像素,另外兩個(gè)是計(jì)算出來了。 我們的合并貼圖是純數(shù)據(jù)貼圖,明顯數(shù)值被扭曲了。所以最終的方案就是別壓縮貼圖,就保留原來的數(shù)據(jù)。(可以采用RGBA、HDRCompressed)
標(biāo)簽: