首页 > 解决方案 > Three.js如何制作彩色圆形粒子?

问题描述

我一直在尝试使用并在参数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?(当我也需要为位置设置动画时,这可能是一个很好的解决方案)。但是如何在那里传递颜色呢?

标签: javascriptthree.jsvertex-shaderparticles

解决方案


推荐阅读