目前看来,能用固态灯的情况下,就尽量用固态灯,在不影响效率为最佳前提,室外就别想了,室内还是可以搞搞的.....
后来在搜寻答案中,搜到类似这样一段经验性解释说明,目前只感觉这个说法还算比较贴切....
UE4的灯光的移动性有三种:static;stationary ;movable。分别是完全游戏运行后不能移动也不能调参数的;游戏运行后不能移动但是能调节亮度和颜色的;什么东西都是可以实时修改的。
而这三种类型对于UE4中烘焙lightmap影响非常之巨大。UE4的烘焙主要是把场景中的GI效果以及灯光的阴影,计算出来,然后存到一张lightmap的图片上,再和原来的贴图叠在一起,相当于把GI和阴影效果直接绘制在颜色贴图上一样,只不过是通过计算出来的,非常准确。这样的话,就可以几乎没有性能消耗地获得实时的GI和阴影效果。但劣势也非常大,就是你的灯光一动或者某些物体一动,就会露馅,因为GI和阴影是之前计算好,位置固定的。
static 和stationary类型的灯光,点击烘焙之后,都可以把GI信息储存在lightmap中。虽然说stationary灯光可以烘焙完之后,甚至在游戏运行过程中,改变亮度和颜色。但是lightmap是预先就烘焙好的,储存的是烘焙的时候的灯光亮度和颜色产生的GI效果。这个时候,你改变stationary的灯光颜色,虽然是允许的,但是GI效果是不会跟着改变的,你甚至会调出绿色的灯光和红色的GI效果。。
这么说起来static和stationary感觉上似乎没啥区别啊。实际上我个人感觉最大的区别并不在GI而在阴影的处理。static类型的灯光烘焙的时候,会把阴影也烘到lightmap中去,而一般lightmap的尺寸非常小,如果你所需要的阴影非常硬,边缘很清晰的话,那么烘焙出来的效果,就会有很多锯齿,毕竟尺寸小啊,非常难以接受,而加大lightmap尺寸代价也非常大,很高的内存和储存空间需求以及夸张的烘焙时间。
而stationary类型的灯光,烘焙的时候,虽然也会烘焙阴影,但是阴影用的是cascaded阴影,会清晰很多很多。强烈建议主要光源使用。
还有新的阴影类型distance field shadow。就是一般意义上的软阴影。可以选择光源的大小,光源大的时候,阴影就会产生软边。并且是实时效果,不需要烘焙,只要进行一些设置就行了....
后续如果有新的理解再更新说明咯......
没有评论:
发表评论