我一直在尝试使用THREE.PointsMaterial
渲染圆形粒子,并在map
参数中传递画布纹理。效果很好,但是我不知道如何使用vertexColors来使每个粒子都有自己的颜色。
简而言之: 这段代码呈现彩色方形颗粒:
var material = new THREE.PointsMaterial({
vertexColors: THREE.VertexColors,
});
这将呈现一种彩色圆形颗粒:
var material = new THREE.PointsMaterial({
vertexColors: THREE.VertexColors,
map: createCanvasTexture(), // returns texture painted on Canvas
});
有什么方法可以将vertexColors传递给map
?
还是应该使用vertexShader
+ fragmentShader
?
(当我也需要对位置进行动画处理时,这可能是一个很好的解决方案)。
但是如何传递其中的颜色?