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);
我正在尝试制作表面无光泽,但没有成功。应用于它的 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);