在Three.js中动态更改顶点颜色
我使用的是Three.js 57版本。现在我正在使用JSONLoader制作动画。我成功地得到了动画。但是我想为动画中的每一帧更新网格的完整顶点颜色。这在three.js中可能吗在Three.js中动态更改顶点颜色,three.js,Three.js,我使用的是Three.js 57版本。现在我正在使用JSONLoader制作动画。我成功地得到了动画。但是我想为动画中的每一帧更新网格的完整顶点颜色。这在three.js中可能吗 提前感谢顶点颜色目前在画布渲染器中不受支持 以下是WebGLRenderer需要遵循的模式: 为网格创建材质时,设置三个顶点颜色 material.vertexColors = THREE.VertexColors; 还要确保为几何体的每个面定义了顶点颜色 geometry.faces[ faceIndex ].ve
提前感谢顶点颜色目前在
画布渲染器中不受支持
以下是WebGLRenderer
需要遵循的模式:
为网格创建材质时,设置三个顶点颜色
material.vertexColors = THREE.VertexColors;
还要确保为几何体的每个面定义了顶点颜色
geometry.faces[ faceIndex ].vertexColors[ vertexIndex ] = new THREE.Color( 0xff0000 );
然后在渲染循环中,要更改顶点颜色,请执行以下操作:
geometry.faces[ faceIndex ].vertexColors[ vertexIndex ].setHSL( Math.random(), 0.5, 0.5 );
mesh.geometry.colorsNeedUpdate = true;
three.js r.59是否自动定义了faceIndex和vertexIndex?@schlenger否,您必须自己完成。刚刚添加了这个以供补充。有趣的是,要更新颜色,必须使用.setHSL()函数,只需指定一个新的THREE.color()函数并不能为我更新图形。@Paul See至少在最近的三个版本中,没有必要使用.setHSL来更改网格的颜色属性