Unity Lighting -- 配置阴影
本笔记使用URP管线进行说明
配置渲染管线阴影参数
在项目窗口中,主菜单中选择Edit -> ProjectSettings,然后选择Quality,查看当前项目所使用的URP资源,目前例子所使用的资源为UniversalRP_HighQuality资源

在工程窗口中,会有对应的渲染管线配置资源文件,选择这个文件,查看其Inspector

在Inspector面板中,有一项Shadows,展开它可以看到渲染管线中和阴影相关的配置

Max Distance属性表示距离相机的最大距离,在这个距离内Unity会渲染阴影。我们将Max Distance设置为0,观察一下会发生什么情况


可以看到,阴影消失了
Depth Bias和Normal Bias属性,这两个值主要用来帮助处理阴影失真(shadow acne)问题,有些时候,我们会发本来应该是阴影的地方却是亮的。关于相关值的解释,可以在理解阴影映射问题的基础上再来看就会更容易明白,想更多了解的话,可以参考下面这篇文章:
https://zhuanlan.zhihu.com/p/431257330
Soft Shadows选项,这个选项用于选择是否激活软阴影
Cascades Count,阴影级联,用于处理平行光源做实时阴影的时候会出现的透视走样(perspective aliasing)问题。这个问题主要是说距离相机较近位置的阴影锯齿感比较强烈,关于这个问题,可以参考Unity官方文档,解释地比较清楚:
https://docs.unity3d.com/Manual/shadow-cascades.html
在平行光源中启用软阴影
在Hierachy窗口中,选中Directional Light,然后在其Inspector面板中,修改观察Hard Shadows和Soft Shadows的区别


本例中,可以看到软阴影和硬阴影的区别比较小。但在某些情况下,软阴影整体上的效果会非常好,当然这个选项会增加开销。