在这里我想分享这段时间在Unity3D中使用灯光时遇到的问题和解决方案,希望能给大家带来一些帮助,当然如果有错误之处,还希望在评论中点出,以免把人带歪了,这里以2017版为准。
那么在Unity3D中的光照可以分为实时光照和烘培光照,对应的需要将对象设置成动态或者静态,而这两者既可以单独使用也可以同时存在,在2017版中是可以实现的。这两种光照模式各有优缺点,首先动态光照:优势是可以提供动态阴影,实时反映光阴变化,阴影质量更高。缺点是消耗较大,阴影有网格感,镜头移动时阴影会有抖动。其次静态光照:优势是可以减低性能的消耗,阴影暗部效果更好,光影关系更稳定。缺点是光影不会产生变化,需要时间等待烘培结果,需要额外的空间存储光照信息。
- 判断是使用静态还是动态:一般是根据场景的大小和是否有大量移动物体,以及项目需求或条件限制
-
静态灯光中检查2U和静态物体属性:使用静态灯光会先检查2U尽量减少接缝,避免拉伸,不重叠,保持大小比例一致
-
静态属性中可以单独选择,常用的静态(lightmap static灯光贴图静态,occluder 遮挡体静态,occludee被遮挡体静态,reflection probe反射体静态)
-
尽量减少拼接物体,减少单面物体,引擎中容易造成漏光,例如房间最好一体成型,墙也是有厚度的不然墙缝会高亮(或者新建一个LightmapParameters可以修改缝隙值,但无法消除多少还是有亮缝的出现)。