在Three.js中有小径的粒子

时间:2013-10-20 05:05:15

标签: 3d three.js webgl

我正在尝试创建一个球体,其粒子沿固定路径在两点之间传播。

路径应该从球体的半径开始和结束,在它的峰值处它应该略高于球体,有点像飞机飞行。

我已经有一个粒子沿着这条路径行进,但我希望粒子在行进时留下痕迹。

想到了一些想法。

使用从开始处开始到粒子结束的行

一种相当简单的方法是创建一条具有X段的线,这些线从起始点开始,到粒子当前位置沿着粒子的路径结束。

然而,发光痕迹只会被拉伸,这会产生奇怪的效果 这可能是一个很好的计划B。

多个粒子

另一种方法是创建多个粒子,如本演示中所示:http://creativejs.com/tutorials/three-js-part-1-make-a-star-field/

我认为它看起来不会很好,因为你需要大量的粒子让它看起来很逼真。

沿整条路径使用一条线

第三个选项是在路径的起点和终点之间有一条线,并更新每个顶点的颜色。
但是,由于粒子没有离散的位置,而线条显然会让我认为我可能需要很多段才能看起来不错。


我觉得我忽略了明显的解决方案,任何想法?

1 个答案:

答案 0 :(得分:2)

这可能看起来很奇怪而且很难,但我相信它可以达到你想要的效果。

在球体周围创建一条色带,即您想要的线索宽度。 创建另一个相同宽度的色带,也围绕球体,但垂直于先前创建的色带。

然后根据您的需要创建将跟踪保留为ParticleSphere对象的粒子。

要模拟轨迹,请在两条色带上应用半透明纹理,这些纹理将从粒子中出来(好吧,等等)。

要了解我的意思,请参阅this,您可以找到this image

你可以看到它们是如何实现光束的体积外观的,同样足够你可以创建粒子的踪迹。

希望这能激发想象力。 :