61.Unity中反射探针的作用
61.1 题目
Unity 里反射探针(Reflection Probes)有什么作用?
61.2 深入解析
反射为什么需要「探针」
PBR 或传统 Phong 里,镜面反射项需要知道「周围环境长什么样」。实时每帧对场景做动态反射很贵,所以引擎提供预计算或受控更新的环境贴图:立方体贴图(Cubemap),在着色器里按反射向量去采样。
反射探针就是在探针中心对周围环境做渲染捕获,生成(或更新)一张 Cubemap,供范围内物体在材质里做环境反射。
三种常见模式
| 模式 | 行为概要 | 典型代价 |
|---|---|---|
| Baked | 烘焙时抓一次,运行时固定 | 运行时低,反射不随动态物体变 |
| Realtime | 按间隔或事件刷新 Cubemap | 开销大,适合镜子、水面等强需求 |
| Custom | 直接指定一张 Cubemap | 完全手控,适合天空盒式或美术指定 |
运行时怎么用
- 物体在探针的 Box / 混合范围内时,引擎按权重混合多个探针的 Cubemap(或与世界全局反射混合),材质在反射项采样得到高光/环境反射外观。
- 动态物体也可以参与混合,只要渲染器和材质支持反射探针采样。
与光照探针的分工
- 光照探针:偏漫反射侧的间接光(球谐)。
- 反射探针:偏镜面反射 / 环境反射(Cubemap)。
- 面试时说一句「一个管 diffuse 间接,一个管 specular 环境」很加分。
工程注意
- 室内小空间、走廊、电梯井等,多放几个探针或局部 Box,避免一张 Cubemap 混进差异很大的环境。
- Realtime 探针数量与刷新频率要控,否则是 GPU 与 CPU 热点。
61.3 答题示例
反射探针就是给物体提供「环境反射」用的 Cubemap。
具体来说:在探针位置捕获周围环境,生成立方体贴图;物体上的材质在算反射时去采样这张图,所以能看到金属、光滑地面那种反射。
模式可以简单说:Baked 烘焙一次最省;Realtime 会动、最贵;Custom 自己指定贴图。
动态物体只要在探针混合范围内,一样能用这些数据。
和光照探针的分工:一个管 diffuse 间接,一个管 specular 环境。
61.4 关键词联想
- Reflection Probe / Cubemap
- Baked / Realtime / Custom
- 与光照探针分工
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com