如何模拟box2d中的羽毛掉落?


10

我正在使用具有Box2d扩展名的AndEngine,但是一般的回答或概念性想法也将受到赞赏。

我希望在2D侧视图世界中有类似羽毛的对象,因此希望成为物理模拟的一部分。我正在使用线性阻尼使“羽毛”缓慢下降。这可能不是一个好主意,也许我应该在每次更新中都施加一些力,但是尽管如此,它仍然有效,并且使对象看起来“轻盈”,并且感觉好像空气中有阻力。

现在如何使物体看起来像羽毛一样从空中掉下来?

具体来说,我正在寻找两种类型的物体:低密度的长物体,应以缓慢的摆动向下移动,以及会随机改变轨迹的方形物体。如果这可以是一种模拟,并且长度可以作为参数,那就太好了-对象越长,摆动就越大。现在,我想在卡通世界中模拟羽毛,树叶和雪花。

坠落物体的路径


2
屏幕截图或概念草图或类似的东西怎么样?毕竟,您可以考虑用很多不同的方法来处理羽毛,我想说大多数情况会根据您的情况而有所不同。
马里奥

添加了更多信息和图像。
MartinTeeVarga

Answers:


6

就像登月一样,你应该伪造它颤振,滚落和涡旋引起的自转的物理过程很复杂。有关于模拟这种效果的论文,并且确实产生了一些可爱的Java动画

但是,我什至会在您的伪造中走得更远,并采用诸如正弦波之类的方法来使运动动起来。

在此处输入图片说明

显然,您将需要调整起始值,幅度和频率的独立增加速率,直到获得看起来更接近您想要的东西。您需要添加一些随机性以使其有趣。另外,如您的示例所示,表面积很大的非常轻的物体实际上可能会在其波的边缘附近上升。因此,高于某个振幅的波应开始考虑一个较小的上限最大值的扫频值。

物体的质量越小且表面积越大,正弦波的振幅和频率就越大。较大的质量和较小的表面积应导致振幅和频率的减小。


3
** 同谋者 **
Mikolaj Marcisz

好的,所以我可以有两个功能,正弦波的增长将控制水平运动,然后一些功能将控制垂直运动,并可能取决于对象距中心的距离,并具有一些会破坏运动的上限。发送回去...如果我发现这样的组合功能会给我带来力量,我该如何施加力量?在引擎的每个滴答声中,是否有一些基于时间的信息?我以前还没有真正使用过box2d。
2013年

听起来这样会很好,让重力处理其余部分。有几种不同的方式来处理这种力量。根据您所说的时间,可能是在引擎的每个滴答声中。它们将是冲动力,对于该帧而言是瞬时的。请参阅此问题以了解更多信息(即使您未使用Cocos2D,也是如此)。
MichaelHouse
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.