2011-12-22 29 views
0

我无法弄清楚这个真实的名字;但是,我认为这是动态水体物理。我想要做的就是把水放到正确的位置,让事情变得更加复杂,我试图让一个角色走进水中,它表明水正在移动。此外,角色也将在水中游泳,任何人都可以帮助我吗?XNA水物理

p.s.游戏是2D的,所以一切都将被绘制,3D模型将不会被应用到游戏中。

+0

你将永远无法得到的水完全准确真实生活的模拟,你需要的是使在涟漪效应间隔或类似的东西。否则,您将使用的大部分处理能力将用于水。 – annonymously 2011-12-22 13:38:47

回答

1

在游戏中(也许一般)有两种模拟流体的主要方法。

一个是使用粒子(大量和大量的粒子),另一个是使用某种网格。

除非你真的想在代码中得到膝盖深(大声笑),我推荐使用/调整已存在的东西。

使用粒子法,这看起来很有希望,因为它是用C#开发:http://www.opentk.com/node/377

请注意,如果你要来编写代码瞄准的Xbox你要看看它所有的对象分配并确保它始终重新使用对象/粒子。


作为奖励,也许这个问题可以帮助(以瓦)Cell-Based Liquid Simulation: Local pressure model?

+0

听起来不错,但是,我的问题是,如果我在游戏中输入一个包含许多粒子的游戏,会导致加载问题和速度变慢?另外,有没有办法让这些微粒质感,这样它们就可以放出水的幻觉? – AriA 2011-12-29 03:16:52

+0

你的大部分时间都会花在处理减速上。一种先进的技术将是使用GPU来做一些处理(尽管我自己并没有这样做)。至于纹理建议,我建议绘制到离屏渲染目标,将所有粒子混合在一起,然后可以编写着色器,将生成的“斑点”与水状纹理合并。 – 2011-12-29 09:10:03