UE4移动端动态阴影ShadowMap使用率过低问题

Posted qiutang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4移动端动态阴影ShadowMap使用率过低问题相关的知识,希望对你有一定的参考价值。

博客链接

UE4的ShadowMap投影矩阵包围球构造方式改成Fit To Scene后,很好的满足了少量角色投影展示的渲染需求:

Image

左边原生的阴影投影特意把Dynamic Shadow Movable Distance调到最小情况,恰好没有Shadow Cut的情况(当前视角的最小值),但投影Bounds还是因为太大直接跑到屏幕外了233。

而右边的投影Bounds与Dynamic Shadow Movable Distance无关,仅根据动态投影包围球做计算。

但现在只是对角色全体Bounds做一次投影,实际上在捏脸环境(相机FOV特别小的时候)中还应该再来一次裁剪。

我在Fit To Scene的基础上,再根据视锥对角色包围球做一次裁剪,示意图如下:

Image

其中P2是视锥远平面,P1经过包围球中心的平行于P2的一个平面,只需要计算出相机视线与P1的交点,将其作为新的包围球球心,然后根据相机FOV计算出P3,P4,P5,P6,取其截面的最大距离值作为新包围球的半径。

Image

不过新改的这玩意仅适用于角色solo展示,因为它用了相机的视锥来构建Bounds,在下面这种情况下会有问题:

Image

可以看到蓝色的投影范围是视线内的物体bounds构成的,因此,真到游戏里面跑,就应该使用之前的FitToScene方式:

Image

 

以上是关于UE4移动端动态阴影ShadowMap使用率过低问题的主要内容,如果未能解决你的问题,请参考以下文章

ue4太阳光下阴影有断点

什么是软阴影?

Direct9学习之ShadowMap

Unity实时阴影技术(shadowMap)

Shadowmap 适用于正射投影,但不适用于透视投影

3D 打光域网 阴影是用VRshadow还是shadowmap