对于级联阴影贴图的局限性(级联距离值较大,阴影模糊,性能消耗较大,级联距离值较小,阴影清晰但是远处的几何体阴影消失),可以考虑使用距离场阴影。
注意:距离场阴影在工程中不会默认开启,需要手动设置,设置-》项目设置-》正在渲染-》生成网格距离场,或者直接搜索 distance,选择生成网格距离场
一旦启用网格距离场,它就会为所有的模型创建网格距离场,通过 显示工具选项,查看
效果:
距离场是对模型的近似模拟,模拟信息储存在体积纹理中。它为每个模型生成一张纹理,这张纹理相当于体积纹理,并使用这些信息来近似模拟模型,它是非常不精确的,近似效果并不好,但是对于阴影来说已经足够精确了。远距离的几何体使用网格距离场能极大的提升性能。
设置:
1.选中定向光源,将级联阴影贴图的动态阴影距离设置为2000。方便看效果
2.找到距离场阴影属性:
启用:Distance Field Shadows:光线追踪距离场阴影 (勾选)。
效果:远处树木及山的阴影出现。
DistanceField Shadow Distance:网格距离场结束距离。
效果分析:
此时使用级联阴影贴图与网格距离场,在距离阴影近处(与你设置级联阴影贴图距离值有关)的效果是使用的级联阴影贴图,质量很高
随着级联阴影贴图的淡出(相机距离几何体越来越远),阴影会被距离场阴影替代,而且阴影不会随树木的摆动而摆动
所以使用思路是:大场景中,混合使用距离场阴影和级联阴影贴图,近距离使用CSM,远距离使用距离场阴影,以确保所有的对象都有阴影。
注意:
在固定光源是可移动性的时候,室内会漆黑一片
如果将光源设置为固定类型,会带来两种好处:1.阴影会很清晰,级联阴影贴图能让树木阴影,做出动态效果,2.室内还会有光线反射效果。
所以固定光源一般会被设置成固定类型。
最后烘焙效果图: