Unity教程之-Unity3d移动平台优化专题(二):不要使用实时光照

 

上一篇文章Unity教程之-Unity3d移动平台上性能优化专题(一)我们学习了如何减少unity中的Draw Call,本篇unity3d教程我们继续Unity3d移动平台优化专题:不要使用实时光照,下面开始

目前市面上的移动平台上的游戏,几乎没有用实时光照的,基本用的都是光照烘焙,因为对于大部分人而言,一个非常漂亮的光照烘焙过的场景已经足够好了,不用实时变化。而且如果你开了实时光照,基本上就和性能说byebye了。

那么光照烘焙相对来说也不难,可能对于大部分新手的问题是shader,我用的是光照shader啊,没有了光照,模型都变暗了。

这就涉及到shader的选择了,一般来说,不采用光照的话,你用的就会是显示纯纹理的shader,例如Unlit下面的Texture,mobile下面的Unlit,当然我建议你自己写一个,因为这种自带的如果你要修改其实并不好改。另外,你的贴图本身就要反映出明暗效果。不然质感会比较差。

没有了光照,阴影也就不会有了,所以加个黑圈吧。不要去纠结那种其他的实时渲染阴影的技术了,我感觉性价比比较低。

最后需要注意的是光照烘焙后的大小,有些物体其实没有必要烘焙的话,就不要烘焙了,尽量控制烘焙的大小在2M左右,这样即使你是大制作,一般也就额外多50M,压缩后的话,也就多个20M左右,还可以接受。

我们的项目一开始就没打算使用光照,但我也测试过两者性能的差别,可以说直接导致了能跑和不能跑的问题。基本就是10帧-20帧的差距。所以真心不要用光照,除非你有特别的光照技巧。这么一说还真有,可以用一些奇怪的shader模拟出光照,不过这个就不在这里讨论了。

好了,本篇unity3d教程到此结束,下篇我们再会!