我希望在Box2D中建立一些细而灵活的链/毛/刺/线模型,并想知道这方面最好的方法是什么。我在谷歌上搜索并看到了一些叫做线段(http://www.box2d.org/forum/viewtopic.php?f=8&t=1437)的东西,但它似乎只是Flash端口的一个扩展--我希望能以一种与平台无关的方式来实现它。
我猜我得用一串薄薄的盒子来做这件事,但是有没有人有什么建议或事情值得注意呢?
由于下面的反馈,更新:到目前为止的选项如下:
http://www.box2d.org/forum/viewtopic.php?f=3&t=1007:

如果需要最少的碰撞,使用verlet/粒子系统( unfortunately).不可能),
发布于 2011-06-16 12:53:26
这取决于他们需要成为物理世界的多少部分,以及你想要与“头发”的所有部分发生多精确的碰撞。如果碰撞不是最重要的,您可以使用链中减少的框数进行近似,并根据其位置的样条进行渲染。如果很少涉及碰撞,您甚至可以使用verlet集成,这是相当容易代码和较轻的CPU。
只有10个,不过,我希望你可以完全模拟他们与旋转关节,虽然不是限制,我会控制他们,以便他们不断地尝试伸直他们的链条,但调整每个关节的最大扭矩,使他们没有足够的力量,以充分矫直。如果你这样做的话,要记住的一点是,这样做有助于使底部附近的部分变得更重,并逐渐向末端变轻。电机的强度也需要在尖端较弱。
发布于 2011-06-16 11:46:06
哇..。可以想象,你可以使用许多旋转关节,限制他们的运动(旋转),但我认为你的CPU和内存的使用将很快螺旋失控。其他人可能有一个更好的答案,但您可能希望研究使用几个预录制/预动画对象。你也可以用粒子系统来做这件事。它不会在物理模拟中呈现那么多,但如果这是你想要的,它可能看起来很酷。
也许我最好的建议是把这些东西结合起来。如果我觉得我真的必须这样做,而且至少在物理模拟中必须做一些事情,我会把旋转关节的使用和粒子结合起来。我会画一个不同的粒子文件,这取决于物体的运动方式。
对不起,我不能给你具体的例子,因为我从来没有必要做这样的事情。
发布于 2013-09-28 02:28:37
你们对表演提出了很好的看法。
试图模拟每条链将是非常昂贵的。你所能做的就是模拟一小部分分布在一个表面上的链。然后,使用这些链作为引用,以引出之间的链。
再加上一点随机性就能产生很好的效果。
我写了一篇关于模拟树干的文章,它是相关的,可能对外面的一些人有用:http://aaronfarr.com/coding/simulating-a-tree-in-box2dweb/
更新:我已经使用这个想法( http://aaronfarr.com/coding/simulating-grass-using-box2d/ )编写了一个草模拟演示。

https://stackoverflow.com/questions/6371100
复制相似问题