3
我正在使用Three.js 57版本。現在我正在使用JSONLoader進行動畫製作。我成功地獲得了動畫。但是我想更新動畫中每幀的網格完整頂點顏色。這是possibe在three.js所動態更改Three.js中的頂點顏色
由於提前
我正在使用Three.js 57版本。現在我正在使用JSONLoader進行動畫製作。我成功地獲得了動畫。但是我想更新動畫中每幀的網格完整頂點顏色。這是possibe在three.js所動態更改Three.js中的頂點顏色
由於提前
頂點顏色,目前不支持CanvasRenderer
。
以下是你需要遵循WebGLRenderer
模式:
設置THREE.VertexColors
當您創建的網格材料;
material.vertexColors = THREE.VertexColors;
還要確保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
@schlenger不,你必須自己做。剛剛添加完成。 – escapedcat
有趣的是,要更新顏色,必須使用.setHSL()函數,只需指定一個新的THREE.Color()不會爲我更新圖形。 – Paul