在小米mix黑鯊系列手機上,Shader效果bug

在pc Unity端安卓環境 測試正常後發現在小米黑鯊系列手機 shader顯示效果錯誤.經過一上午的排除對比,不停的出真機包.

找到了問題的所在:

         錯誤效果       fixed mixNdotL = max(dot(tangentNormal, -i.worldLightDir), 0);
         正確效果       fixed mixNdotL = saturate(dot(tangentNormal, -i.worldLightDir));

上面用MAX 結果是大於0既有效, 後面又用1 - mixNdotL .導致shader變黑. 但很矛盾的是在華爲等手機中(包括unity本地),第一行的效果都是正確的.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章