backfaceCulling == false时背面为黑色

问题描述

导入网格后,我正在制作红色标准材料,将其应用于网格并关闭backFaceCulling,但内部为黑色。如何使网格的内部与外部匹配?

  mesh = newMeshes[0];
      
  var mat = new StandardMaterial("red",scene);

  mat.diffuseColor = new Color3(1,0)
  mesh.material = mat;

  mesh.material.backFaceCulling = false;

Material is red on front but black on back

解决方法

我从文档https://doc.babylonjs.com/how_to/custom的这一部分得到了提示

由于不再使用材质,因此无法设置backFaceCulling,因此必须旋转相机才能看到远面。尽管应用了任何颜色,但远端面仍将保持黑色,因为该端面仍吸收所有光。

因此,我添加了第二个光源(另一个点光源可以工作,但是最终我使用了半球来提供更多的全局照明。