旋转时剪切网格

Clipping of meshes when rotating

我在 three.js 中制作了一个由一些网格组成的模型,但是当我使用 OrbitControls 移动我的相机时,我的一些网格似乎被剪辑了。这是我的渲染图:

通过在网上搜索,我找到了一些解决方案,提到将 material 的 depthWrite 设置为 false。在这种情况下,我的所有元素都显示了,但 3D 被破坏了(正常,因为此功能似乎主要设计用于在 2D 渲染中覆盖元素)。 depthWrite 禁用后的渲染:

这是我遇到的问题的一个最小示例: https://codepen.io/theogiraudet/pen/WNZKPXx?editors=0110

感谢您的帮助!

createElement 函数中,对 material 使用此设置:

  const material = new THREE.MeshBasicMaterial({
    map: createTexture(url),
    alphaTest: 0.5
  });