基于图像的光照
要在 PlayCanvas 中获得良好的 PBR 效果,可以使用基于图像的光照(IBL)技术,将预先渲染的图像数据作为环境光和反射光的信息源。
此技术依赖立方体贴图,它由形成一个立方体的 6 张纹理(面)组成,完整覆盖周围环境。
HDR
图像数据可存储为 LDR 或 HDR(高动态范围)。HDR 允许单通道存储超出 0.0 到 1.0(256 级)的值,包括高于被视为“白色”的 1.0 的值。结合伽马校正、色调映射和曝光等环境因素,可以保留更多光照细节,让美术人员更好地控制光照质量和所需结果。

注意,LDR 会截断纹理中的明亮部分。
能量守恒
漫反射与镜面反射均来自照射材质的光,因此两者之和不能超过入射光总量。实际表现为:高度反光的表面只呈现很少的漫反射颜色;反之,漫反射颜色很亮的材质不能反射太多光。
自然界中,光滑表面的反射更清晰,粗糙表面更模糊。原因在于粗糙表面的微小面元更大、更明显,向许多方向反射光,而光滑表面主要向单一方向反射。来自不同方向的光在很小的可见点内求平均后,看起来就模糊,并且由于能量守恒而更暗。PlayCanvas 通过光泽度参数模拟这一行为,对灯光自动生效;但对于 IBL,必须预先计算正确的模糊响应,这就是 Prefilter 按钮的作用。
立方体贴图资源的检查器中提供 Prefilter(预滤波)按钮。使用立方体贴图为物理材质启用 IBL 时,必须进行预滤波。
制作环境贴图
环境贴图具有多种投影方式,例如等距柱状投影、立方体贴图面列表、方位投影等。WebGL 和 GPU 使用面列表,即表示立方体各面的 6 张纹理。因此,其他投影格式需转换成 6 张纹理。
可以使用多种工具转换投影,其中之一是跨平台开源立方体贴图滤波工具 cmftStudio。
立方体贴图可以通过 CGI 渲染,或由摄影图像拼接,也有网站提供 HDR 环境贴图下载或购买。可用于实验的来源包括 sIBL Archive、No Emotion HDR’s、Open Footage 和 Paul Debevec。环境贴图可能采用等距柱状投影,可用上述 cmftStudio 转换。
渲染立方体贴图
立方体贴图由 6 个面构成,每个面对应立方体的一侧。简单来说,可以使用方形视口、90 度视野角的相机,分别转向六个正交方向进行渲染。

可使用常见 3D 建模工具,或摄影和 360 度图像软件。应在线性伽马空间中渲染,不进行光照贴图伽马校正章节所述的颜色校正。
3D Studio Max 的此类插件可渲染 VRay 立方体贴图各面,直接上传到 PlayCanvas 编辑器。
应用 IBL
可以采用两种方式:
- 在场景设置中将立方体贴图用作天空盒。
- 在材质上直接将立方体贴图用作环境贴图。
各方式为材质提供什么、同时设置时使用哪一个,以及影响结果的设置,参见环境光照。
盒式投影映射
此技术改变环境贴图的投影,允许在空间中指定盒体,让立方体贴图对应其边界。最常用于模拟房间尺度环境中表面的反射。

示例
这里提供使用立方体贴图盒式投影的示例和项目。注意木地板上的窗户反射、天花板上的细微反射,以及右侧墙上金属 PlayCanvas 标志对房间的反射。这是一种动态效果,可产生非常真实的反射,并让美术人员控制表面如何反射房间环境。
此场景使用光照贴图、AO 纹理和盒式投影 IBL(反射)实现光照。
