-
光源类型:
-
方向光(Directional Light):
移动端仅支持一个
stationary或moveable方向光,若有多个方向光,根据创建的顺序选择,选择使用第一个创建的方向光,如果没有放置方向光,会使用一盏默认的默认的纯黑方向光。 移动端
stationary或moveable方向光静态物体的直接光照是动态计算的,若使用了预计算光照,则有光照图及间接光照缓存,在移动端后有间接光照效果,static方向光生产的光照图既有直接光照又有间接光照,而stationary或moveable方向光只有间接光照。 移动端
stationary或moveable方向光静态物体无论是否使用预计算光照,直接光照(包括高光)总是动态计算的移动端
moveable方向光则不产生光照贴图但是有光照缓存。 方向光间接光照强度(Indirect Lighting Intensity):调整该盏方向光对全局光照
GI的间接光照Indirect Light的影响。置零表示该盏光照对全局间接光不产生影响。 -
点光源(Point Light):
- 移动端动态点光源支持最多4个,可以通过命令或者工程设置里设置
MobileNumDynamicPointLights设置为0是可以减少shader指令数量,目前Pirates(Pirates Island 虚幻4海岛环境)工程设置为2。 - 若无动态点光源需求可设置为0提高效率。
- 移动端动态点光源支持最多4个,可以通过命令或者工程设置里设置
-
天光(Sky Light):
stationary或moveable有一定的计算量,static类型无相关动态计算
-
-
光源移动类型:
在每个光源的 Transform 区块中,可以看到
Mobility(移动性) 的属性 在该属性有三个设置:Static(静态) 、Stationary(固定) 和Mobile(移动)-
静态(Static)
完全静态的光源在游戏运行过程中几乎没有任何性能消耗。
-
固定(Stationary)
这种类型的光源,可以在运行时改变颜色和亮度,但是不能移动、旋转或修改影响范围。
-
动态(Mobile)
完全动态的光源,可以在运行时改变其自身的所有属性。
静态光源(Static Lights):
是指在运行时不能以任何方式改变或移动的光源。它们仅在光照贴图中进行计算,一旦处理完成后,不会再有进一步的性能影响。可移动对象不能喝静态光源进行交互,所以静态光源的用处是非常有限的。
在三种不同的光源可移动性属性中,静态光源的质量中等、可变性最低、性能消耗也最少。
固定光源(Stationary Lights):
是保持固定位置不变的光源,但可以在其他方面进行变更,例如亮度和颜色。这是它们与静态光源的主要不同之处,静态光源无法在游戏时以任何方式进行变更。然而,应该注意的是,在运行时对亮度进行修改仅会影响直接光照。间接(反射)光照由于是通过
Lightmass进行预计算的,所以不会改变。动态光源(Movable Lights):
产生完全动态的光照和阴影,可以改变光源位置、旋转度、颜色、亮度、衰减、半径等属性,几乎光源的任何属性都可以修改。它们产生的光照不会烘焙到光照贴图中,也不会产生间接光照效果。
关于光照通道:
光照通道(Lighting Channels) 使动态光源仅在其光照通道发生重叠时才对物体产生影响。它主要用于动画,使用户能更自如地掌握 Actor 的照亮。当前虚幻引擎支持最多 3 种光照通道。
-
-
材质:
-
对性能影响较大的材质属性:
-
完全粗糙(Fully Rough)
移动端若可满足效果需求,勾选,勾选后会减少shader指令数量提高渲染效率
-
混合模式(Blend Mode)
一般情况使用Opaque类型,Masked类型
-
光照模型(Shading Model)
如无特殊需要默认使用Default Lit类型,如满足效果需求前提下使用
Unlit节省消耗。移动端
DefaultLit内部占用4个贴图采样,Unlit会少一些,PostProcess也会少一些。 -
双面(Two Sided)
如无特殊需要默认不勾选。
-
使用光照图(Use Lightmap Directional)
取消勾选后消耗减小
-
高质量反射(High Quality Reflections)
不勾选情况下,贴图采样为1次,勾选后变为3次,如无特殊需求不勾选。
-
平面反射(Planar Reflections)
勾选后增加一次贴图采样
-
自定义UV(Custom UV)
材质中有UV缩放计算时在移动端会出现马赛克现象,使用
Cuatom UV可解决这一问题。 -
开启移动端材质状态输出
日志窗口输出移动端相关数据,包括采样数量,采样数量存在bug只有在报错,可以作为材质复杂程度的一个依据。
-
关于Automatically Set Usage in Editor
默认情况下编辑器会自动设置材质用途,一般情况下勾选越多最终产生的shader会越复杂,一般情况下勾选即可。
-
属性节点
-
Albedo(BaseColor/Diffuse)
用于计算
Diffuse,当材质设置Fully Rough时,Diffuse叠加了一个0.45倍的Specular颜色。 -
Specular
-
Metallic
内部实现Diffuse减去了Metallic倍数的部分强度,即Metallic会降低Diffuse部分强度。
-
Roughness
-
Emissive
颜色值直接与最终计算颜色相加,超过1.0会晕开,效果由后期实现,开启Bloom时才起效。
-
-
-
-
阴影:
移动端支持两种动态阴影,调制阴影和级联阴影。
-
Lightmass:
-
相关组件:
- Lightmass Importance Volume
- Lightmass Character Indirect Detail Volume
-
LightMass设置参数

-
Num Indirect Lighting Bounces
间接光反弹次数,设置越大效果越好,同时计算量会增大,时间消耗增大。
-
Indirect Lighting Quality
间接光质量,设置越大效果越好,同时计算量会增大,时间消耗增大。
-
Environment Color
环境光颜色设置。
-
Environment Intensity
环境光强度。
-
Force No Precomputed Lighting
强制关闭预计算光照,勾选后
Lightmap及Lighting samples将不会生成。 -
预可见性(Precompute visibility)
在构建中也可构建预可见性数据,在移动端可以提升渲染性能。
参考文章:UE4预计算可见性
-
-
环境反射:
反射周围环境,功能为场景中的每个地方提供了有效的光滑反射效果。 一些重要的材质,比如金属,都依靠各个方向反射效果,这正是环境反射提供的功能。
获取的反射并不是自动的更新,这条需要谨记。只有在加载地图、直接编辑捕获体,或者构建光照时才会更新捕获的反射。 如果在地图上编辑了一些改动,比如调整了灯光的亮度,或者移动了场景的物件,那么就需要选择捕获体并点击
Update Captures来更新改变。 相关数据保存在.umap文件里。
设置环境反射分辨率(在
project setting里面):相关组件:
Q.E.D.

Comments | 0 条评论