2

我正在使用 react-three-fiber,但无法更新meshvertex显示颜色。即使我执行了以下所有步骤,我的网格颜色也保持不变:

我有以下代码创建一个mesh

const material = new THREE.MeshBasicMaterial({
        color: 0xffffff,
        transparent: true,
        opacity: 0.5,
        wireframe: false,
        side: THREE.DoubleSide,
        vertexColors: true,
      });
      const mesh = new THREE.Mesh(curvedGeometry, material);

然后我使用primitive组件渲染该网格

<primitive object={mesh} />

稍后,我更改了该网格中的面和顶点颜色。这样所有的顶点和面都有下图中的颜色值:

在此处输入图像描述

最后,我像这样将几何上的 colorsNeedUpdate 值设置为 true

polygonMesh.geometry.colorsNeedUpdate = true;

代码沙箱链接在这里:https ://codesandbox.io/s/change-vertex-colors-old-rz82v?runonclick=1&file=/src/index.tsx:665-673

4

0 回答 0