中文译作屏幕空间反射,这是一项利用屏幕空间的数据来计算反射的效果。它被大量用于制造更多微妙的反射效果,如湿的地板表面或者水洼。由于此效果完全处于屏幕空间内,它只能反射处于屏幕中的东西(物体背面无法有反射,物体在屏幕外也无法有反射)。
这是种代价昂贵的技术,但正确的使用可以产生极佳的结果。不过这种效果仅工作于延迟渲染中,因为它需要G-Buffer中的法线。
Unity中对此效果的实现方式是将性能看的比品质重,以便于让他能在当世代的主机和PC平台使用。但要注意这种技术不代表能获得完美平滑的反射效果,你依然需要用反射探球或者平面反射。通过限制镜面光漏出的数量,这种效果在镜面光遮挡方面有很棒的效果。
参数特性
参数 | 功能 |
---|---|
Preset | 品质预设,如果想要微调则使用Custom |
Maximum Iteration Count | raymarching pass中的最大步数,数值越大反射越多。 注意:仅在Custom模式下使用 |
Thickness | 光线粗细,数值越小则代价越大,因为这样能够探测到更小的细微处。 注意:仅在Custom模式下使用 |
Resolution | 改变内部缓冲区的大小,降采样使性能更好或者采样升级以获得更好的品质,却会降低性能。 注意:仅在Custom模式下使用 |
Maximum March Distance | 在场景中遍历的最大距离,达到后便会停止绘制反射 |
Distance Fade | 减弱靠近近平面的反射,对于普通的瑕疵隐藏很有用 |
Vignette | 减弱屏幕边缘的反射 |
性能表现
特写镜头时需要使用Custom预设。在主机平台,除非有空闲的GPU时间,否则不要用超过Medium的预设,特别是在full-hd(就是达到1080p分辨率)分辨率下。在低分辨率下,你可以提高预设品质来获得更好的视觉体验。
已知问题和限制
不支持AR/VR
使用要求
Compuer Shader
动态矢量
延迟渲染路径
Shader Model 5
参考
https://github.com/Unity-Technologies/PostProcessing/wiki/Screen-space-Reflections
网友评论