1. 程式人生 > >unity3d移動平臺優化專題(2):不要使用實時光照

unity3d移動平臺優化專題(2):不要使用實時光照

      目前市面上的移動平臺上的遊戲,幾乎沒有用實時光照的,基本用的都是光照烘焙,因為對於大部分人而言,一個非常漂亮的光照烘焙過的場景已經足夠好了,不用實時變化。而且如果你開了實時光照,基本上就和效能說byebye了。

      那麼光照烘焙相對來說也不難,可能對於大部分新手的問題是shader,我用的是光照shader啊,沒有了光照,模型都變暗了。

      這就涉及到shader的選擇了,一般來說,不採用光照的話,你用的就會是顯示純紋理的shader,例如Unlit下面的Texture,mobile下面的Unlit,當然我建議你自己寫一個,因為這種自帶的如果你要修改其實並不好改。另外,你的貼圖本身就要反映出明暗效果。不然質感會比較差。

      沒有了光照,陰影也就不會有了,所以加個黑圈吧。不要去糾結那種其他的實時渲染陰影的技術了,我感覺價效比比較低。

      最後需要注意的是光照烘焙後的大小,有些物體其實沒有必要烘焙的話,就不要烘焙了,儘量控制烘焙的大小在2M左右,這樣即使你是大製作,一般也就額外多50M,壓縮後的話,也就多個20M左右,還可以接受。

      我們的專案一開始就沒打算使用光照,但我也測試過兩者效能的差別,可以說直接導致了能跑和不能跑的問題。基本就是10幀-20幀的差距。所以真心不要用光照,除非你有特別的光照技巧。這麼一說還真有,可以用一些奇怪的shader模擬出光照,不過這個就不在這裡討論了。