Unity URP Shader之高级光照技术之IBL
IBL,英文全称Image Based Lighting,即基于图像的照明,是一种通过采样图片从而模拟出光照的技术。
IBL不需要在shader中进行直接光源的光照计算,而是将周围环境提前做成一个CubeMap,或者用反射探针在unity中烘焙好。
采样CubeMap时,可根据粗糙度贴图等生成动态mipmap值,根据mipmap值来采样CubeMap,从而模拟出如金属表面有污渍的效果。
IBL镜面反射和漫反射都可模拟,两者区别在于:
1. 如下图,镜面反射选择Specular,漫反射选择Diffuse。
2. 当采样CubeMap时,镜面反射还是用视角方向基于法线的反射向量来采样,漫反射则可使用法线方向来采样。
效果如下: