javascript - 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
?(当我也需要为位置设置动画时,这可能是一个很好的解决方案)。但是如何在那里传递颜色呢?
解决方案
推荐阅读
- vim - 如何将 vim-fugitive 与 git 裸存储库一起使用?
- graph - 更新最短路径树
- sql-server - 在 SQL Server 视图中添加计算列
- smtp - Postfix 队列不断增长
- xpath - HTTP 请求中的 XPath
- node.js - 如何使用 puppeteer.js 读取 pdf 文件并以 html 显示?
- python - 使用 python-pptx 更改图表背景颜色
- django - request.POST.getlist() 返回空列表
- python-3.x - 使用 cross_val_score 和 StackingClassifier 或投票分类器获取“nan”
- jmeter - 如何使用 JMeter-Correlation Recorder 将 RegEx 中的不同值与多个匹配项关联起来?