常见问题
天空全黑、天光不更新、云有硬边、透明材质不被云遮挡、天气粒子看不到或挡不住等问题的排查清单。
光照与后处理
加入 UDS 后整个关卡变黑
几乎都是曝光问题。依次检查:
- 关卡里是否有后处理体积在接管曝光?有的话关掉它的曝光覆盖,让 UDS 来控制。
- 视口的
Lit下拉里,曝光是否勾选了Game Settings。 - 在 UDS 的曝光分类里临时关闭
Apply Exposure Settings,看画面是否恢复。
天光不随时间变化
初始正常、时间一走动环境光就不更新,通常是天光没有刷新:
- 某些平台不支持实时天光捕获。改用
Cubemap with Dynamic Color Tinting,它全平台可用且能随时间变化。 - 如果只是“入夜后环境光仍然很亮”,可能是关卡里残留了旧的静态光照,执行一次光照构建清掉。
天光更新很慢
天空快速变化(时间跳变、云量突变)时,环境光要很久才跟上——这是 Lumen 的默认行为,UDS 不干预它的参数。
在后处理体积的 Lumen Global Illumination 里调 Update Speed 可以加快,
代价是 GPU 开销上升。
运行时改变量要等一两秒才生效
UDS 会尽量少地重算属性,多数帧在缓存值之间插值,所以从设置到生效会有 1–2 秒延迟。 需要立刻生效时:
- 调用
Hard Reset Cache,清空缓存并立即应用全部改动; - 或调小
Scalability / Performance分类里的Max Property Cache Period。
运行时改变量完全没用
有些属性被标记为静态属性,只在启动时应用,不会每帧刷新。改完变量后需要调用对应的
Static Properties 函数,例如改 Sun Softness 后调用 Static Properties - Sun。
阴天时水面/海洋着色仍然被阳光照亮
单层水(Single Layer Water)着色模型在计算平行光时不考虑 Light Function。
UDS 的云影支持 Light Function Atlas,在项目设置里开启
Single Layer Water Uses Light Function Atlas 即可让水面近似接收云影。
如果是日落前后水面反射与云量不匹配,在 UDS 的 Cloud Shadows 分类里开启
Correct Specular Scale For Low Angle Cloud Shadows。
体积云
云与网格交界处很硬、质量差
默认的渲染模式把云当作纯背景元素,网格相交部分质量很低。把
Volumetric Cloud Rendering Mode 换成偏向 Mesh Intersections 的模式即可。
透明材质没有被云挡住
半透明材质需要额外配置才会被体积云遮挡:材质 Translucency 设置里同时开启
Apply Fogging 与 Apply Cloud Fogging。
视网格情况,可能还要开 Compute Fog Per Pixel,否则云雾是按顶点计算的。
进入云层内部有噪点/条带/光照瑕疵
默认设置是按“从地面看”优化的。进云之后可以尝试:
- 提高
View Sample Count Scale(开销随之上升); - 降低
Tracing Max Distance——云层内、云层外各有一个; - 调整
Close View Sample Ratio,它控制采样数如何随穿过云层的距离缩放。
云移动很快时发糊、有拖影
默认渲染模式会用过去多帧累积解算,快速移动(例如延时摄影)时就会出现糊和重影。
换用其它 Volumetric Cloud Rendering Mode 即可。
云异常发黑 / 发灰
- 如果用了
Custom Sun Light Actor/Custom Moon Light Actor:内置日月组件上有个Cloud Scattered Luminance Scale,你自己的灯光也要设置同样的值,最好连颜色也照抄。 - 否则检查关卡里是否还残留着未删除的平行光 Actor/组件。
通用渲染
某个距离上出现一条生硬的雾/大气分界线
通常是天空大气组件与场景的相对位置不对。确保 UDS Actor 放在地面高度, 相机不会明显低于它。
移动相机时天空闪成纯黑
这是天空大气在相机落到其“地面”以下时触发的引擎 Bug。选中 UDS 的天空大气组件 (细节面板顶部的组件列表),把它下移到关卡最低点、相机到不了的位置。
体积雾像素化、质量差
体积雾的画质由项目可扩展性设置决定,UDS 不接管。它的 cvar 属于 Shadow Quality 组,
调高该组即可。
太空层不渲染
太空层用 DBuffer 网格贴花渲染,再由天空材质采样。所以项目里必须启用
Dbuffer Decals(移动端为 Mobile DBuffer Decals),且平台要支持。
天气
天气粒子完全看不到
- 可能被关卡里不可见的碰撞挡住了。把
Shared Particle Settings的Particle Collision Mode临时设为No Collision验证一下。 - 检查视口的 Show 标记是否隐藏了粒子,切回
Use Defaults。 - 极少数情况下首次加载时 Niagara 系统编译失败:打开
Particles里对应的系统资产 (Rain / Snow / Dust),用主工具栏Compile下拉里的Full Rebuild重建。
Simulate 模式下看不到天气粒子
这是 Simulate 模式的限制:它用编辑器相机渲染,蓝图与 Niagara 都取不到相机位置。 换用其它 Play 模式即可。
DLWE 的痕迹不出现
- 地形需要有 World Static 的简单碰撞,响应查询且阻挡 Visibility 通道;用非地形网格时要按 DLWE 章节的说明配置物理材质。
- 检查 DLWE Interaction 组件的位置与
Size是否足够。 - 痕迹只能画在控制点周围那块渲染目标范围内,而控制点由
Basic Controls高级选项里的Control Point Location Source决定。相机离控制点太远时效果不可见。
天气粒子挡不住物体
按当前碰撞模式分别排查:
| 模式 | 检查项 |
|---|---|
Simple Collision |
物体必须有简单碰撞,粒子只检测简单碰撞。 |
碰撞配置要阻挡 UDW 上 Weather Particle Collision Channel 指定的通道(默认 Visibility),
且碰撞响应为 Collision Enabled 或 Query Only。 |
|
高天花板建筑“漏雨”:粒子生成时没有检测到那么高的顶。调大 UDW 上的 Ceiling Check Height。 |
|
Distance Field Collision |
项目需开启生成 Mesh Distance Fields。 |
用 Show → Visualize → Global Distance Field 查看实际的距离场,定位个别网格的问题。 |
|
用于阻挡的网格要开启 Affect Distance Field Lighting,否则不会出现在全局距离场里。 |
天气声音在不对的时候变小
声音遮挡的射线打到了不该打的东西。在 UDS 的 Player Occlusion 分类里调整遮挡检测的射线数量、
通道与更新频率。
VR 里出现立体渲染问题
常见表现:雾只在一只眼睛里正常、雨溅只渲染在左眼、单眼出现线条/色块。
把 UDS 的 Project Mode 设为 Virtual Reality,它会针对立体渲染的限制做调整。