Babylon.js - 如何获得哑光表面

Babylon.js - How to get a matte surface

我正在尝试制作表面无光泽,但没有成功。应用于它的 StandardMaterial 只有一个 diffuseColor。我试着玩 "roughness"(0 到 7 之间),但表面总是光滑的。

怎样才能得到哑光表面?

我找到了一种方法:如果我将 "normal" 矢量 (nx, ny, nz) 设置在表面的平面上而不是垂直于它,那么表面就会变得完美无光泽。

该解决方案看起来很糟糕。必须有更好的方法来实现相同的结果。

下面是一个示例,说明如何通过设置较暗的镜面反射颜色来降低 StandardMaterial 的反光度:http://www.babylonjs-playground.com/#K0ND3#0

编辑:正如 Pang 在此处所建议的那样,将较暗的镜面反射颜色设置为 material:

的代码
mesh.material = new BABYLON.StandardMaterial('mat', scene);
mesh.material.specularColor = new BABYLON.Color3(0.2, 0.2, 0.2);