三 JS 网格在模型的另一侧可见

Three-JS Mesh visible on opposite side of model

所以我使用的是在 blender 中为 ThreeJS 制作的自定义模型。我将它导出到一个 .obj 文件并使用 Three-js 转换实用程序制作了一个 json 文件。我将它设置为旋转,当它旋转时,您可以看到模型的另一面。 这是我用来加载它的代码:

  loader.load("pegnin.js", function(geometry, materials){
    material = new THREE.MeshPhongMaterial( {
      color: 0xff0000,
      polygonOffset: true,
      polygonOffsetFactor: 1, // positive value pushes polygon further away
      polygonOffsetUnits: 1
    });
    material.depthTest = true;
    mesh = new THREE.Mesh(geometry, material);
    scene.add(mesh);
  });

Live Demo

three.js 假定正面具有 逆时针 缠绕顺序。换句话说,three.js 中的正面是由面部的缠绕顺序决定的——而不是面部法线。

您模型中的正面很可能是顺时针缠绕顺序。

不需要更改模型的解决方法是设置:

mesh.material.side = THREE.DoubleSide;

three.js r.85