如何将2D粒子渲染为流体?


45

假设您有一种很好的方式移动2D粒子以模拟流体(例如水)。关于如何渲染的任何想法?

这是用于2D游戏,其中的透视图是从侧面看的,就像这样。水将被包装在可以破碎的盒子中,以使其掉落并与其他物体相互作用。我想到的最简单的方法是为每个粒子使用小图像。我有兴趣听到更多提水的方法。

Answers:



12

如果您在游戏中需要完全模拟的注水,那么乔治·达基特的答案就更直接了,而且呈现得很好。对于精度极低的模拟浅水物理学(逼真度较低,更有趣),此图像为我提供了令人难以置信的清晰时刻:

http://www.patrickmatte.com/stuff/physicsLiquid/


简单又漂亮!真的没有想到要使用这样一个简单的后处理步骤……只是想知道像iPhone这样的设备是否可以处理这个问题。这似乎是一个很好的起点。谢谢。
路加福音2012年

我可以保证这种方法。我在项目中使用过一次,效果很好。添加一个斜角过滤器,您的斑点上也会出现弯液面。
scriptocalypse'4

超酷!但是我不确定它能适应角色漫步的状况。它将所有领域推到一边,不是吗?
马克斯

6

或者,一种快速简便的方法:使用元球

3D Metaballs


5

格兰特·科特(Grant Kot)将他的一些流畅的仿真代码放在了Github上,并使用javascript(画布)和C ++以及OpenFrameworks进行了实现:https : //github.com/kotsoft

他的youtube帐户上有一些演示:http: //youtu.be/HqWheJSEiaw

我不知道它是如何工作的,但是我知道它运行速度很快,并且存在各种各样的变化。要搜索的一个很好的关键字可能是“多重网格粒子”。


我真的很喜欢Grant Kot如何模拟流体!即使呈现最小,也至少在该网页上的applet上。它作为很多参数来控制模拟。值得深入了解。谢谢。
路加福音2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.