Unity引擎實戰箴言之移動平臺PBR踩坑

效果:

1.強開BRDF1函數,否則電腦和手機效果完全不一樣

2.修正數值溢出,否則手機會出現黑絲

3.模擬線性顏色空間,否則亮度最多會相差25%

方法是在gamma空間下將所有的uniform顏色輸入都轉為線性空間,輸出時再轉為gamma空間,不過半透明要用特殊方法處理

顏色輸入包括燈光與材質

燈光包括主像素光,附加像素光,頂點光,球諧光,反射探頭,動靜lightmap

材質包括貼圖顏色,不包括半透明,顏色屬性,常量屬性

模擬時還可以用近似函數加速

uniform的判斷分支在現代gpu上速度很快

4.處理打bundle時的shader feature,否則手機上金屬光澤貼圖與法線貼圖效果全沒了

方法是bundle內放個合適的材質,因為shader feature是按同一bundle內的材質引用開啟宏

5.環境貼圖兼容場景光照方案

方法是角色用動態烘焙的環境光與custom反射

場景用烘焙到lightmap里的環境光,不用反射

效率:

6.環境光與反射共用一張環境貼圖,節省內存

7.shader編譯優化,節省內存

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言:最近在做一個美術館的場景,對于燈光的要求非常高,經過幾天的調試和在網上查閱一些資料,總結一下。全局光照,簡稱...
    Tang7閱讀 2,471評論 0 9
  • 我確實什么都不懂。 我寫文字,主要是因為心中確實有一些東西想,或有一些情緒要發泄,并不是我覺得,自己能寫出什么動人...
    力牧閱讀 323評論 0 0