OpenGL 中粒子发射器的简单 3D 烟雾算法

发布于 2024-12-11 09:22:13 字数 144 浏览 0 评论 0原文

我需要创建一个简单的粒子发射器来实现某种类似烟雾的效果。 我需要算法方面的帮助,该算法应该执行以下操作:

* 在生命周期为 L 的帧中创建 X 数量的粒子

* 定义帧中每个单独粒子的速度

是否有一些很好的数学算法可用于此?

I need to create a simple particle emitter to achieve somekind of a smoke-like effect.
I need help with the algorithm that should do something like this:

*Create X amount of particles in a frame with lifetime L

*Define the velocity for each individual particle in a frame

Is there some nice mathemtical algorithm available for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只为守护你 2024-12-18 09:22:14

我见过的大多数只是在发射器级别具有发射速度,然后当您发射粒子时,您会选择一个速度矢量,该速度矢量在方向和方向上都稍微偏离发射器。长度。更先进的解决方案通过将其模拟为流体来使其具有体积。谷歌搜索体积烟雾可能会找到大量这方面的提示。

Most I've seen simply has an emission velocity at emitter level, then when you emit the particle you pick a velocity vector which slightly deviates from the emitter both in direction & length. More advanced solutions makes it volumetric by simulating it as fluids instead. Googling volumetric smoke will likely turn up a ton of tips on this.

再浓的妆也掩不了殇 2024-12-18 09:22:14

我发现了这个复杂的例子 - fluidsim
另一种是简单的 C 语言,没有 OpenGL,你可以在里面找到算法,检查一下

I found this complicated example - fluidsim.
And another one on simple C without OpenGL, you can find algorithm inside, check it

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文