**个人建议:**

个人建议: 目前分析下来, 阴影方面:CSM 提升分辨率对阴影效果提升较大 其他的Feature在ShipShow场景下提升不明显 同时由于我们场景偏暗 明暗对比度较弱,AO带来的提升也不明显 ||Lowest|Low|Mid|High| Ultra (PC) | | | | | | | | |CSM|❌|1级 2048|2级 2048|4级 2048|4级 4096| |CSM 贴图分辨率||(…


个人建议:

目前分析下来,

阴影方面:CSM 提升分辨率对阴影效果提升较大 其他的Feature在ShipShow场景下提升不明显

同时由于我们场景偏暗 明暗对比度较弱,AO带来的提升也不明显

Lowest Low Mid High Ultra (PC)
CSM 1级 * 2048 2级 * 2048 4级 * 2048 4级 * 4096
CSM 贴图分辨率 (2048 *1024) (2048 *1024) ( 2048 * 2048 ) 4096*4096
Soft Shaodw Low Low Low
Contact Shadows
AO Texture 1024 (Mip Bias) 2048
SSAO

优缺点分析:

技术 技术原理 性能影响 主要优点 主要缺点 典型适用场景
CSM阴影
(Cascaded Shadow Maps)
将视锥体分割为多层级联区域,每级独立生成阴影贴图,近景高精度、远景低精度 ★★★ 1. 游戏业界阴影首选方案
2. URP默认支持 手机兼容性好
3. 支持PCF软阴影
1. 阴影质量受分辨率影响 手机最大是2K分辨率
2. URP默认的CSM 在级联边界会突变
3. 需要额外的ShadowPass 生成CSMShadowMap
4. DrawCall数量 = N * CSM_Count
绝大多数的阴影场景
屏幕空间阴影
(Screen-Space Shadows)
利用深度图重建世界坐标然后转换到阴影空间生成阴影图 ★★★★ 1. 阴影精度高(像素级计算)
2. 如果要做软阴影 只能使用一些模糊算法
3. 相对CSM而言 SSS分辨率会更小,会略微有一点优化(Bind/Sampler)
1. 需要PreDepth
2. 需要在屏幕空间做降噪和模糊处理
3. 逐物体CSM 变成了 逐像素
动态物体局部阴影、细节物体投影
屏幕空间接触阴影
(Contact Shadows)
屏幕空间短距离RayMarching,补充微小接触区域阴影(如物体与地面交界处) ★★★★★ 对于一些细小的物体 也很有很好的阴影效果 1. 需要CopyDetph
2. 算法对性能要求高 需要 RayMarching
3. 由于不是逐物体的 会有一些情况阴影不正确
4. 需要做一些降噪处理
场景数量多 例如 植被 树木
屏幕空间遮蔽
(Screen-Space Ambient Occlusion)
基于屏幕深度图,采样像素周围深度值计算环境光遮蔽强度 ★★★★ 能够提供一些环境遮蔽效果 1. 需要PreDepthNormal
2. forward 开这个成本有点高
场景数量多 例如 植被 树木
全局间接阴影模拟

https://dev.epicgames.com/documentation/en-us/unreal-engine/contact-shadows-in-unreal-engine

阴影

CSM URP 默认 4级

屏幕空间阴影

Contact Shadows

视频对比

开启Contact Shadow Vs 关闭 Contact Shadow

暂时无法在飞书文档外展示此内容

4级CSM Vs 4级CSM+Contact Shadow

暂时无法在飞书文档外展示此内容

AO 效果对比