15

我有一个游戏创意,需要对围绕各种物体流动的流体进行一些半真实的模拟。想象一个不规则表面上的水银池,向各个方向倾斜。

这是一款游戏,因此不需要 100% 的物理真实感。最重要的是,计算可以在具有 iPhone 马力的设备上实时完成。

我在想某种细胞自动机或粒子系统是要走的路,但我不知道从哪里开始。

有什么建议么?

4

10 回答 10

11

Lattice-Boltzmann 方法是一种以离散的、类似元胞自动机的方式模拟流体的非常常见的方法。

但是,为了在 iPhone 上实现实时性能,将流体模拟为粒子系统然后想办法将粒子渲染为体积质量可能会更有效。我怀疑这是Aqua Forest等游戏所采用的方法。

于 2009-01-09T07:15:55.643 回答
8

这不是我的研究领域,但我相信这被认为是规范的工作:

计算机图形学的流体模拟

https://www.routledge.com/Fluid-Simulation-for-Computer-Graphics/Bridson/p/book/9781482232837

另外,看看伯克利动画和建模组

https://web.archive.org/web/20090116020253/http://www.cs.berkeley.edu/b-cam/

我还推荐使用 Google Scholar 或 Citeseer 之类的工具来研究学术文献。

于 2009-01-09T05:27:12.400 回答
5

可能也很有趣(演示视频演示二进制文件源代码)。

于 2009-04-20T00:04:35.807 回答
4

粒子系统可能是一个很好的起点。沿着这些思路,您可以将 SPH(平滑粒子流体动力学)视为一种更加物理的流体模拟方法,它仍然依赖于粒子。

于 2009-05-01T03:34:43.373 回答
3

Ron Fedkiw 在这方面的工作相当出色。

还有一条评论:流体模拟是数值并行编程和超级计算机,或者至少是高功率、多核桌面的东西。iPhone可能不会削减它。

于 2009-01-09T05:34:30.340 回答
3

带有颗粒的 SPH 可能是最快启动和运行的,它在可扩展到粘弹性材料和其他材料方面处于领先地位。明天我将在我的博客上发布我过去几天一直在写的关于这个主题的指南。( http://blog.brandonpelfrey.com )

于 2009-06-01T17:56:46.510 回答
2

我想知道您是否正在考虑像Archer Maclean 的 Mercury或PSP的Mercury Meltdown之类的东西。

于 2009-01-09T07:11:08.617 回答
1

据我所知,在游戏De Blob中,一个彩色的“blob”在白色环境中移动,为它撞到的物体着色。当我阅读您对您似乎想做的事情的描述时,不知何故在我脑海中触发了这一点。(实际上没有玩过游戏,所以我不知道它有多适合。)

话虽如此,我似乎记得在那个游戏中,blob 的流动性主要是人为的:基本上是一个球体,它的一些轻微的大小/形状变换,一些运动提示和添加的“流畅的声音”给玩家的印象不太稳固的东西是游戏的主角。不涉及实际的物理或模拟类型编程。

听起来很适合 iphone 可运行的软件。这对你来说可能就足够了吗?

于 2009-01-09T07:12:46.697 回答
1

它是如此稀疏,你必须为粒子建模?

如果是这样,我建议您查看格子气体细胞自动机(LGCA,请参见此处的示例视频)。

简而言之,LGCA 是元胞自动机的一个子类,其中元胞状态是二进制值的元组,每个元组代表一个元胞与其相邻元胞之间的一个通道,并且粒子可以通过该通道(1如果它包含一个粒子,则为通道,0否则)。

然后,更新方案是一个同步并行两步函数,它在每个单元内的通道之间重组粒子(碰撞),然后将这些粒子传播到目标邻居的相应通道(传播)。

于 2016-05-20T13:58:50.063 回答
0

基于网格的 Navier-Stokes 解决方案总是更快,并且计算速度是恒定的。

于 2012-06-20T19:46:20.887 回答