SSAO(屏幕空间环境光遮蔽) 一句话理解SSAO 是一种廉价地伪造环境光遮蔽效果的技术在物体相互靠近的缝隙、角落、褶皱处压暗一点让画面更有立体感和接触感。它不追求物理正确只追求看起来对、而且够快。先搞清楚它在解决什么问题真实世界里环境光天光、反射光这种四面八方来的漫射光会被几何结构挡住。想想墙角、桌子和地面的接缝、褶皱的布料——这些凹进去、被周围挡住的地方接收到的环境光更少所以更暗。这个现象叫Ambient Occlusion环境光遮蔽。如果不做 AO纯环境光会把物体照得平平的、像贴纸一样飘在场景里。加上 AO物体之间才有接触感和体积感。问题是真正算 AO 很贵。你得对每个点向四面八方发射射线看有多少被周围几何挡住——这是离线渲染如电影的做法实时游戏扛不住。SSAO 的取巧思路SSAO 的 “SS” Screen Space屏幕空间。核心 trick 是不去遍历整个 3D 场景算遮蔽而是只利用已经渲染出来的深度缓冲depth buffer在屏幕这张 2D 图上做近似。基本流程拿到深度图和法线图。深度图记录了每个像素离相机多远。对每个像素在它周围采样一圈点通常在一个半球范围内取若干个采样点。比较深度如果采样点的深度显示这里有东西挡在前面、比当前点更近就认为当前点被遮蔽了一点。统计周围被挡住的采样点越多 → 遮蔽越强 → 这个像素越暗。模糊 合成结果噪点多做一次模糊再乘到环境光项上。因为只在屏幕空间、只用深度信息成本和场景复杂度基本无关这是它能实时的关键。关键参数调效果时会碰到参数作用调大/调小Radius采样半径多大范围内找遮蔽太大 → 该亮的地方也暗、发灰太小 → 只有极细缝有效果Sample Count采样数每像素采几个点越多越平滑但越贵Intensity强度遮蔽压暗的程度太大 → 缝隙发黑、脏Bias偏移避免自遮蔽误判太小会有一层灰蒙蒙的噪声SSAO 的天生缺陷因为它只看屏幕正因为只用屏幕空间信息它有几个绕不开的问题屏幕外的东西不参与遮蔽一个物体在画面外它本该在画面内投下的 AO 就丢了。被遮挡的深度信息拿不到深度图只记录了最前面一层背后的几何一无所知。噪点 / 边缘瑕疵采样数有限会产生噪声通常靠模糊掩盖但模糊又会让边缘漏光或糊掉。视角依赖转动相机时同一个角落的 AO 可能会闪烁、变化。演进你会听到的一堆变体SSAO 是 Crytek 在 2007 年Crysis带火的之后出了一堆改进版本质都是在更准、更快、更少噪点上做文章HBAO / HBAOHorizon-Based基于地平线角度质量更好GTAOGround Truth AO更接近物理正确现在很主流SSAO 的各种引擎实现Unity 的 URP/HDRP、UE 都内置了。什么时候用、什么时候别用值得用想低成本提升画面立体感、接触阴影尤其室内、有大量几何细节的场景。要注意移动端开销敏感SSAO 属于可关的画质选项级别如果你的光照本身就用了烘焙 AO 或光追 AO屏幕空间的这层可能是多余甚至冲突的。

相关新闻

最新新闻

2-Step Agent框架:构建人机协同决策系统的设计范式与实践指南

2-Step Agent框架:构建人机协同决策系统的设计范式与实践指南

1. 从“AI说了算”到“人机协同决策”:为什么我们需要2-Step Agent框架?最近和几个做产品、做风控的朋友聊天,大家不约而同地提到了一个共同的困惑:AI模型给出的建议越来越准,但团队里敢直接“照单全收”的人却越来越少…

2026/8/24 10:12:50
从仿真到现实:Playful Agentic Robot Learning 架构与实战指南

从仿真到现实:Playful Agentic Robot Learning 架构与实战指南

1. 项目概述:从“执行”到“玩耍”的机器人学习范式跃迁“Playful Agentic Robot Learning”,这个标题乍一看有点矛盾——机器人通常与精确、重复、可靠这些词挂钩,而“玩耍”听起来则充满了随机、探索和不确定性。但恰恰是这种结合&#xff…

2026/8/24 10:12:49
Weeman版本演进史:从1.0到1.7.1最终版,8个节点看懂一个开源工具的兴衰

Weeman版本演进史:从1.0到1.7.1最终版,8个节点看懂一个开源工具的兴衰

Weeman版本演进史:从1.0到1.7.1最终版,8个节点看懂一个开源工具的兴衰 【免费下载链接】weeman HTTP server for phishing in python 项目地址: https://gitcode.com/gh_mirrors/we/weeman Weeman 是一款用 Python 编写的 HTTP 钓鱼服务器&#x…

2026/8/24 10:12:49
智能信息处理实战:从数据理解到工程落地的核心路径

智能信息处理实战:从数据理解到工程落地的核心路径

1. 项目概述:从“处理”到“理解”的范式跃迁“智能信息处理”这个词,听起来有点宏大,甚至带点学术味儿。但如果你拆开来看,它其实就发生在你我身边。你手机里的语音助手能听懂你的指令,电商App能精准推荐你昨晚刚聊过…

2026/8/24 10:12:49
C++函数模板:从类型推导到泛型编程实践

C++函数模板:从类型推导到泛型编程实践

1. 从“重复造轮子”到“一劳永逸”的思维转变如果你写过C,大概率遇到过这种情况:你需要一个函数来比较两个整数的大小,于是你写了个max(int a, int b)。过两天,项目里又需要比较两个浮点数,你复制了上面的代码&#x…

2026/8/24 10:12:49
华为杯研赛B题深度复盘:数学建模全流程实战与团队协作指南

华为杯研赛B题深度复盘:数学建模全流程实战与团队协作指南

1. 项目概述:一场硬核竞赛的深度复盘“满纸荒唐言,一把辛酸泪”,这不仅是曹雪芹的感慨,更是无数参加过“华为杯”中国研究生数学建模竞赛(研赛)的学子们,在提交论文那一刻最真实的内心写照。这篇…

2026/8/24 10:07:49