您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页Unity3D技术之方向性阴影

Unity3D技术之方向性阴影

来源:筏尚旅游网



Unity3D技术之方向性阴影

注意:在移动平台上,方向灯的实时阴影始终使用1个阴影级联,并为硬阴影(HardShadows)

方向灯大多用于室外游戏的关键性灯光日光或月光中。可见距离非常大,特别是在第一人称和第三人称游戏中,往往需要对阴影进行一些调整,以获得最佳质量和性能平

衡效果,适应当时的情况。

首先从第三人称角度游戏效果优良的阴影设置开始:

图中的阴影看起来非常漂亮!

在该图中,可见距离大约为50游戏单位,所以在质量设置(QualitySettings) 中将阴影距离(ShadowDistance) 设为50。同样,阴影级联(ShadowCascades) 设为4,阴影分辨率(ShadowResolution) 设为高,灯光使用软阴影(SoftShadows)

下列章节仔细分析了方向灯阴影的每个方面:



硬阴影与软阴影
阴影级联 (Shadow Cascade) 数阴影距离很重要!

硬阴影与软阴影



采用相同设置,如果将阴影类型(ShadowType) 切换成硬阴影(HardShadows),那么从区域到阴影区域的过度为,对象完全在阴影下或完全在照明区。硬阴影渲染较快,但通常看起来不太真实。文章出处

距离为50,带4个级联的硬阴影。

阴影级联(ShadowCascade)

对于方向灯,可使用级联阴影贴图(CascadedShadow Maps)(或者叫做平行分割阴影贴图(ParallelSplit ShadowMaps)”)提供很好的阴影效果,特别是可视距离较长的情况。级联阴影将可视区域分割成几个逐步变大的部分,每个部分使用相同大小的阴影贴图,使接近观看者的对象的阴影贴图像素比远距离对象的较高。

在下图中,我们将使用硬阴影,因为阴影像素在该图中的可见度更高。

如果未使用级联阴影贴图,整个阴影距离(依然是50单位)必须被阴影纹理均匀覆盖。没有级联,硬阴影看起来就像这样:



距离为50的硬阴影,无级联。

每个地方的阴影纹理像素大小都相同。在远处看起来还不错,但不是越近质量就越高。阴影纹理覆盖整个可视区域。如果将其可视化,看起来就像这样:

无级联,阴影纹理均匀覆盖整个可视区域。

使用两个阴影级联时,整个阴影距离分成靠近观看者的一小块和远距离的一大块。带两个级联的硬阴影看起来就像这样:




牺牲一点点性能,我们可获得近处更好的阴影分辨率。‘距离为 50,带 2 个级联的硬阴影。

2个级联,两个阴影纹理覆盖可视区域中大小不同的部分。

最后,使用4个级联时,阴影距离被分成四个逐渐变大的部分。带4个级联的硬阴影

看起来就像这样:





距离为 50,带4 个级联的硬阴影。快看,可以看到了!


4个级联,4个阴影纹理覆盖可视区域中大小不同的部分。

阴影距离很重要!

阴影距离(ShadowDistance) 对于方向灯阴影的质量和性能都极其重要。同阴影级联

数一样,阴影距离也可在质量设置(QualitySettings) 中设定,轻松按比例降低性能较低硬

件中的阴影。

在阴影距离末端,阴影淡出,更远的对象无阴影。在大多数情况下,游戏中超过特定

距离的阴影不会被注意到!



没有阴影级联,阴影距离设为20的硬阴影效果见下图。请注意,远处的阴影会淡出。同时,阴影质量比没有级联且距离为50单位的质量要高。








带级联大小和距离的阴影贴图要好得多。比如,相机前覆盖 300 单位的 4 级联软阴影
距离为 100,无级联的硬阴影。哎!





距离为300,带4个级联的软阴影。





因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务