UE4移动端光照系统指南
Directional Light
仅支持一个stationary或moveable方向光,若有多个方向光,根据创建的顺序选择,选择使用第一个创建的方向光,如果没有放置方向光,会使用一盏默认的默认的纯黑方向光
移动端stationary或moveable方向光静态物体的直接光照是动态计算的,若使用了预计算光照,则有光照图及间接光照缓存,在移动端后有间接光照效果,static方向光生产的光照图既有直接光照又有间接光照,而stationary或moveable方向光只有间接光照
移动端stationary或moveable方向光静态物体无论是否使用预计算光照,直接光照(包括高光)总是动态计算的
移动端moveable方向光则不产生光照贴图但是有光照缓存
Indirect Lighting Intensity 间接光照强度
Point Light
移动端动态点光源支持最多4个,可以通过命令或者工程设置里设置r.MobileNumDynamicPointLights设置为0是可以减少shader指令数量,目前Pirates工程设置为2,若无动态点光源需求可设置为0提高效率。
Sky Light
stationary或moveable有一定的计算量,static类型无相关动态计算
光源移动性类型
在每个光源的 Transform 区块中,可以看到 Mobility(移动性) 的属性 在该属性有三个设置:Static(静态) 、 Stationary(固定) 和 Mobile(移动)
静态 - 完全静态的光源在游戏运行过程中几乎没有任何性能消耗。
固定 - 这种类型的光源,可以在运行时改变颜色和亮度,但是不能移动、旋转或修改影响范围。
移动 - 完全动态的光源,可以在运行时改变其自身的所有属性。
静态光源(Static Light)
是指在运行时不能以任何方式改变或移动的光源。它们仅在光照贴图中进行计算,一旦处理完成后,不会再有进一步的性能影响。可移动对象不能喝静态光源进行交互,所以静态光源的用处是非常有限的。
在三种不同的光源可移动性属性中,静态光源的质量中等、可变性最低、性能消耗也最少。
可移动光源(Movable Lights)
产生完全动态的光照和阴影,可以改变光源位置、旋转度、颜色、亮度、衰减、半径等属性,几乎光源的任何属性都可以修改。它们产生的光照不会烘焙到光照贴图中,也不会产生间接光照效果。