我有一个带有JPG纹理的OBJ文件加载到页面中 - 从一侧可以看到面部,但是从另一侧看它们是不可见的。
脸部可见(有点黑暗 - 对不起!)
其他方面 - 不可见。
我尝试添加model.doubleSided = true;
,但这似乎无法改变任何内容。
答案 0 :(得分:10)
在材质上添加双面标记。假设你有类似的东西:
material = new THREE.MeshLambertMaterial ({ color: 0xFF00FF });
添加:
material.side = THREE.DoubleSide;
或创建材料时:
material = new THREE.MeshLambertMaterial ({ color: 0xFF00FF, side: THREE.DoubleSide });
编辑:对于返回Object3D的OBJMTL加载器,我们需要遍历该对象以设置适当的标志:
if (object instanceof THREE.Object3D)
{
object.traverse (function (mesh)
{
if (! (mesh instanceof THREE.Mesh)) return;
mesh.material.side = THREE.DoubleSide;
});
}
答案 1 :(得分:0)
尝试添加renderer.setFaceCulling( THREE.CullFaceNone );