如何在iOS设备上廉价模拟水效果?

9

首先,我并没有考虑到那个

我想知道如何在iPhone上制作一些沙丘上的简单瀑布模拟。

原来有几个人解决了移动水的问题,而GameDev已经多次接近这个想法。然而,所有这些解决方案似乎都需要大量计算(这是有道理的,因为水是一种流体,流体力学很复杂)。我对快捷方式感兴趣,因为模拟的精度并不重要,只要它看起来准确就好。

有人询问如何使用(Navier-)Stokes on DirectX 模拟,使用1500个粒子。他说他的结果很粗糙。当然,在iPhone上会是这样的东西的OpenGL ES实现。

另一个好心灵尝试了使用Chipmunk物理引擎,但在我看来,这就像是用战车杀死一只蚊子,而且它仍然带来了许多,许多颗粒的问题。所以我现在想知道是否可以使用类似于这种压力管理技术的技术,以管理流体的宏观状态,并使用粒子来管理边缘,以最小化总计算量。

如果你有好的想法,请提出要测试的事情。

编辑于08/06/2015:我在Thimbleweed Park博客中发现了Joseph Huckaby使用HTML5完成的一个非常古老的技术this great example of a very old technique done in HTML5。这只是部分相关,因为它只关注外观而不关注物理效果,但为什么不大致模拟流体,并用调色板循环效果覆盖“液态区域”呢?当然,由于该技术更多地依赖于艺术元素,因此难度转移到了艺术家的领域。然而,混合时渲染代码有点密集。


1
将iPhone / Pad悬停在水槽中,打开水龙头; 两步成功 :) - sehe
@sehe:嗯,不用了,或者用http://www.thepocketsolution.com/PSI-45429/3g+iPhone+Waterproof+Case.html或类似的产品:p - Kheldar
你使用了这么多链接,我给你点个赞。 - Faizan S.
2个回答

2

您可以使用从渐变中选择的颜色来创建一个静态位图;

然后,您可以通过移动调色板(旋转)而不是动画效果,实现流动的视觉效果。

当然,这种方法下水的轮廓/纹理将是静态的。您可以将这个想法与有限数量的“静态”轮廓动画帧混合使用。


听起来确实很计算便宜,而且可能会采用Dwarf Fortress技术进行扩展:http://www.gamasutra.com/view/feature/3549/interview_the_making_of_dwarf_.php?page=10。 - Kheldar

1
如果您最关心性能且可以不需要用户交互,也许更好的方法是在桌面上开发一个计算代价更高的解决方案,并将其预渲染成视频或一组纹理,然后在移动设备上使用而不是实时生成。
我知道这个解决方案非常有限制性,我只是想在最坏的情况下提供它作为一种选择,以防没有其他更好的建议出现。

不过还是谢谢你的想法 :D - Kheldar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接