我有一个网格,并设置了如下所示的顶点颜色:
var vertColors = MyPolygonProto.polygons[iBorderCounter].polyMesh.geometry.colors;
vertColors[vertCount] = new THREE.Color(finalColor.r, finalColor.g, finalColor.b);
其中polyMesh是网格。我想根据几何图形改变面的颜色。
我能够实现此处显示的技术: How to change face color in Three.js
但是当它们被多个面共享时,必须多次遍历同一个顶点似乎效率低下。一种技术,其中每个面基于其在mesh.geometry.colors数组中列出的顶点颜色自动内插它的颜色似乎更有效。
Three.js中是否存在此功能?
答案 0 :(得分:0)
根据three.js文档,顶点颜色不能以这种方式使用。您必须使用每面顶点颜色。
顶点颜色的文档:
顶点颜色数组,匹配数字和顶点顺序。用于 PointCloud和Line。网格使用嵌入的每面使用顶点颜色 直接在脸上。要发出此阵列中的更新信号, 需要将Geometry.colorsNeedUpdate设置为true。