创建具有多个粒子大小的bufferGeometry.最佳性能

Create a bufferGeometry with several particles sizes. Best performance?

本文关键字:bufferGeometry 最佳 性能 粒子 创建      更新时间:2023-09-26

我使用bufferGeometry创建了一个THREE.Point对象来渲染数千个粒子,并使用了PointsMaterial材质。我在运行时更新材质,在普通方形粒子(默认粒子)和其他一些纹理和颜色之间进行更改,效果很好。

当我想要创建不同大小的粒子时,问题就来了。我不能只设置BufferAttribute。我试着制作一个自定义着色器,各种大小的Three.js粒子,但我不能让它工作,也许是三个版本的问题?我不知道。

所以我想按大小对所有粒子进行分组,并为每个粒子大小创建一个bufferGeometry。但我不确定这是最好的方法。就性能而言,这是最佳选择吗?或者我必须创建一个自定义着色器才能实现这个目标?

Three.js修订版:72

下面给出了您想要做什么的示例——只需使用示例中的alpha属性值来改变点大小:http://jsfiddle.net/8mrH7/196/

gl_PointSize = 8.0 * alpha; // use alpha to vary point size, instead

three.js r.73