【问题标题】:Particles with trails in Three.jsThree.js 中带有轨迹的粒子
【发布时间】:2013-10-21 19:35:23
【问题描述】:

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

路径应该在球体的半径处开始和结束,并且在其顶点应该略高于球体,有点像飞机飞行。

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

我想到了几个想法。

使用从开始到粒子结束的线

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

但是,发光轨迹只会被拉伸,这会产生奇怪的效果。
不过,这可能是一个不错的 B 计划。

多个粒子

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

我认为它看起来不会很好,因为你需要很多粒子才能让它看起来很逼真。

在整个路径上使用一条线

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


我觉得我忽略了显而易见的解决方案,有什么想法吗?

【问题讨论】:

  • 你好 Nicklas A.,你找到解决这个问题的方法了吗?

标签: 3d three.js webgl


【解决方案1】:

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

在球体周围创建一条丝带,即您想要的轨迹宽度。 在球体周围创建另一个相同宽度的功能区,但垂直于先前创建的功能区。

然后根据您的需要创建将留下轨迹的粒子作为ParticleSphere 对象。

为了模拟轨迹,在两条丝带上应用半透明纹理,它会从粒子中出来(嗯,有点)。

要了解我的意思,请参阅this,在那里你可以找到this image

您可以看到它们是如何实现光束的体积外观的,同样您可以为粒子创建轨迹。

希望这能激发想象力。 :]

【讨论】:

  • 这是一个很棒的主意!谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
  • 2015-05-23
相关资源
最近更新 更多