Unity3D技术之方向性阴影注意:在移动平台上,方向灯的实时阴影始终使用1个阴影级联,并为硬阴影(HardShadows)
方向灯大多用于室外游戏的关键性灯光–日光或月光–中
可见距离非常大,特别是在第一人称和第三人称游戏中,往往需要对阴影进行一些调整,以获得最佳质量和性能平衡效果,适应当时的情况
首先从第三人称角度游戏效果优良的阴影设置开始:图中的阴影看起来非常漂亮
在该图中,可见距离大约为50游戏单位,所以在质量设置(QualitySettings)中将阴影距离(ShadowDistance)设为50
同样,阴影级联(ShadowCascades)设为4,阴影分辨率(ShadowResolution)设为高,灯光使用软阴影(SoftShadows)
下列章节仔细分析了方向灯阴影的每个方面:硬阴影与软阴影阴影级联(ShadowCascade)数阴影距离很重要
硬阴影与软阴影采用相同设置,如果将阴影类型(ShadowType)切换成硬阴影(HardShadows),那么从区域到阴影区域的过度为“硬”,对象完全在阴影下或完全在照明区
硬阴影渲染较快,但通常看起来不太真实
文章出处【狗刨学习网】距离为50,带4个级联的硬阴影
阴影级联(ShadowCascade)数对于方向灯,Unity3D可使用级联阴影贴图(CascadedShadowMaps)(或者叫做“平行分割阴影贴图(ParallelSplitShadowMaps)”)提供很好的阴影效果,特别是可视距离较长的情况
级联阴影将可视区域分割成几个逐步变大的部分,每个部分使用相同大小的阴影贴图,使接近观看者的对象的阴影贴图像素比远距离对象的较高
在下图中,我们将使用硬阴影,因为阴影像素在该图中的可见度更高
如果未使用级联阴影贴图,整个阴影距离(依然是50单位)必须被阴影纹理均匀覆盖
没有级联,硬阴影看起来就像这样:距