跳到主要内容

物理材质

在 PlayCanvas 中使用基于物理的渲染,需要了解物理材质的配置方式,以及各参数变化对外观的影响。

本节介绍最常用的材质属性,你可以在实时演示中观察参数变化如何影响材质外观。

首先说明立方体贴图和工作流。

基于图像的光照​

先了解 IBL,因为你很可能会在编辑器中创建材质,然后疑惑为什么不像下方示例。物理材质配合经过预滤波的 HDR 立方体贴图,效果会很好!

金属度与高光工作流​

工作流

PBR 通常有两种资源制作方法或工作流。两者等价,可获得相同结果,选择取决于个人偏好。PlayCanvas 通常使用“金属度”工作流,因为金属度贴图更容易制作,且只有单通道,通常效率更高。

金属度工作流设置金属度数值或贴图,决定材质哪些区域是金属、哪些是非金属。通常只需二选一:1 为金属,0 为非金属,很少使用中间值。

高光工作流设置高光数值或贴图,决定材质反射光的颜色和强度。

Marmoset Toolbag 博客详细解释了两者差异。

接下来介绍材质。

材质属性和贴图​

漫反射​

漫反射颜色是材质的基础颜色,使用 RGB 值表示。对于纯净的金属或塑料等物质,可使用固定值,也可通过漫反射纹理提供。通常应避免在漫反射贴图中包含阴影或高光等光照细节,这些可由其他贴图表现。

它也称为反照率或基础颜色。

互联网上通常可以找到漫反射/反照率的实测数值表。

金属

材质RGB
金(1.000, 0.766, 0.336) 或 [255, 195, 86]
银(0.972, 0.960, 0.915) 或 [248, 245, 233]
铜(0.955, 0.637, 0.538) 或 [244, 162, 137]

金属度​

金属度属于金属度工作流,是 0–1 的单个数值,决定材质是金属(1)还是非金属(0)。

备注

金属度几乎总应取 0 或 1,很少需要中间值。

也可提供金属度贴图,将材质的特定区域定义为金属或非金属。

光泽度​

金属度和高光工作流均使用光泽度,描述材质表面的光滑程度。它影响反射的模糊或清晰程度,以及高光的宽窄。光泽度可通过 0–100 的数值或光泽度贴图提供。

有些 PBR 系统用粗糙度替代光泽度,两者方向相反。将粗糙度贴图转为光泽度贴图时,只需反相。

光泽度和粗糙度有时也称为微表面值。

组合使用​

漫反射、金属度和光泽度是物理材质系统的核心。可在下面的实时演示中尝试不同组合。

还有许多属性可用于制作出色材质,例如环境光遮蔽、自发光、不透明度、法线和高度贴图。材质检查器参考介绍了所有属性,包括清漆、绒光、折射、虹彩以及带各向异性的 GGX 高光。代码设置参见 StandardMaterial API。