unity菜鸟一只,以下小经验都是自己摸索出来的,可能也有很多地方不对,暂时做个记录,以后发现不对的地方再慢慢修改,希望看到错误的大神稍微指教指教,小弟不胜感激 五体投地 。
1.阳光按照场景需要设置,貌似baked Shadow angle 这个选项越大 烘焙出来的阴影越发散。
2.window-lighting-setting 烘焙Mixed 要取消勾选Realtime GIobal Illumination,勾选Baked GIobal Illumination
Indirect Resolution(间接分辨率)的值最好不要太大,我一般就0.2-0.6,值越大,烘焙时间越长,默认是2,如果确实需要大参数,而且场景大的话,晚上下班再烘吧
其余各种参数以及选项,可以点击Lighting中的
这个按钮,unity官方做了一个非常详细的参数介绍。用谷歌浏览器打开可以翻译
3.将永远都不需要移动的Gameobject标注为Static,需要动态阴影的,不要勾选Static
4.将需要产生阴影的模型的Mesh Rendere 上的 Cast Shadows选为ON,需要接受阴影的勾选Receive Shadows,都需要就都打开。
5.然后开始烘焙,烘焙结束后转动一下太阳光看看标为Static的GameObject阴影会不会跑,不跑就成功了。
unity自带的地形,地形上刷出来的树烘焙出的阴影默认是动态的,将地形标位Static也没用,目前不知道为什么。为解决这个问题,我使用的是MTE插件将Terrain转成一个Prefab,然后将树一个一个拖上去,再烘焙,这样做也会降低很多DrawCall
6.如果场景中有很多类似于这样的物件,一个Mesh Renderer上有很多材质球,这类GameObject非常占用DrawCall,尤其是他还需要动态阴影,DrawCall更是会翻倍甚至翻好几倍。
我的优化方法是:,
然后新建一个空物体
将 CastShadows变成Shadows Only 这样DrawCall会很低,然后也有动态阴影。
应该还有一些 暂时想不起来 想起来再记录。