UE4在Mobile平台里,除了预先烘焙的静态阴影之外,对于动态物体一般使用两种阴影:调制阴影(Modulated Shadows)和级联阴影(Cascade Shadows,简称CSM)。
调制阴影是UE3时代就已经有的产物,关于它的资料不多,基本只知道它比一般的Shadows要省,而且还能随意更改颜色。调制阴影看上去非常平滑没有锯齿,因此可能是用Shadow Volume生成的。根据虚幻官网的介绍,他们使用调制阴影主要用来解决场景打光过亮导致阴影太淡的问题。由于在游戏制作中一般只有一盏灯是去投射动态阴影,如果场景里还有别的灯光,就会导致这盏投射阴影的灯贡献光照的比例变小,因此投射出的阴影变得不明显。场景师可能就会因此提出需要,要求加深阴影的颜色。由于调制阴影的颜色是自由控制并不是根据灯光计算出来的,自然比一般的阴影要便宜得多。但是实际使用后,我发现调制阴影存在以下的几个问题:调制阴影只会简单地和场景进行乘积。这就会导致这样一个结果:如果一个角色不是一个整体——比如带着一把武器,那么武器的影子和身体的影子的重叠处会颜色更深,导致阴影看起来不是一个整体。同样如果角色走到预先烘焙好的静态阴影里面,调制阴影同样无法融入静态阴影。
(如果只是上述的问题,其实在手机端还是可以接受的,毕竟性能优先嘛。而且在手机上这些问题看上去不是很明显。真正让人不能接受的是下面的问题)
2. 调制阴影貌似没有做视锥体剔除。
我们可以在UE4里简单创建一个场景,放入一些Movable Objects。我这里放了几个方块、一艘船以及大量的工具人。
接着将Directional Light打开Modulated Shadow