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

标签 javascript three.js blender

enter image description here

所以我使用了在 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

最佳答案

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

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

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

mesh.material.side = THREE.DoubleSide;

三.js r.85

关于javascript - 三 JS 网格在模型的另一侧可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44232824/

相关文章:

javascript - 如何使用 JavaScript 测试字符串中的字母是大写还是小写?

javascript - 在 JavaScript 中的数组上滑动窗口

javascript - 我怎样才能让我的下拉选择通过它们的值改变我的总数,但除非被选择否则不被计算

球形六边形网格 map 上的 Three.js 纹理地形

webpack 和 glTF 文件

javascript - 在给定父 ID 和子项的情况下,在 lodash 中嵌套父子关系

javascript - Three.js:如何使 cssRenderer 图层元素透明,通过它显示 webglRenderer 图层?

reactjs - 使用 ThreeJS 和 Dat.Gui 更新网格纹理

python - blender API : rendering a frame to memory

blender - 在服务器上渲染 Blender 模型