有没有适用于JavaScript的水物理引擎?

11

我想使用JavaScript和<canvas>制作一个演示文稿,我想做一个小动物,从上面看在水环境中游泳。

概念艺术: 进入图像描述

有没有什么东西可以用来开始这个项目,还是我需要从头开始创建一切?


14
那是非常棒的概念艺术。 - Paul D. Waite
2
我认为这可能更适合非Web语言,除非你满意于较慢的帧速率。 - Bojangles
2
谢谢 Paul。我确实在引号中放置了 art :) - Manu
5个回答

2

还有一篇关于此的博客文章,其中解释了其效果:http://code.almeros.com/water-ripple-canvas-and-javascript - Almer
@manu 你可以下载并使用这个水效果,放在你自己的画布上,并带有动画效果! - Almer

1

我不确定你具体想要模拟什么(或者我是否理解了概念艺术的含义 :) ),但是这可能是一个方向: processing.js并不是一个物理引擎,而是一个将图形库移植到javascript中的工具(利用canvas)- http://processingjs.org/。 然而,你可能会在他们的演示中找到一些类似于你尝试创建的东西。

原始processing库的一个例子使用了粒子系统来进行流体模拟,并且在processing.js上成功运行 - http://processing.org/learning/topics/fluid.html,然而帧率非常低。你可以在http://processingjs.org/learning/ide上自己尝试一下 - 只需复制并粘贴示例中的代码(并准备好你的计算机几乎停滞)。

你可以尝试调整粒子数量(pnum)以提高速度,并尝试调整其他变量。


小动物挥动它的手臂,就像在推水一样向前移动。 - Manu

1

这取决于你想要多像水。在那个演示中,你可以看到蝌蚪在游泳。从那些概念的外观来看,这似乎是你想要做的事情。 - Alex

0

很抱歉,我不知道有没有相关的库,但我最近看到了一个用canvas实现水物理效果的演示:

http://hakim.se/experiments/html5/wave/03/

也许你可以在那里获得一些灵感...使用像Box2DJS这样的普通JS物理库,你也许能够实现它。

她感兴趣的物理学与你所做的完全不同。你的动画是从侧面展示的,而她的则是俯视图。此外,你演示中的物理效果相当简单和不真实,这使得它们不太可能有所帮助。 - dionyziz

-2

只是一个想法,你可以搜索一个Java引擎,然后使用GWT将其编译成Javascript。


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