如何在Box2D中防止球粘在墙上?

11

我正在尝试使用box2d。

我的问题似乎是人们所描述的“粘墙”问题。

我有一个球和一个挡板。

我使用了我能找到的所有基本推荐比例,世界大小为10m,球大小为1m。

球具有以下属性:

shape: circle (.5f radius)
size: 1.0f
density: 1.0f
restitution: 1.0f
friction: 0.0f
移动球的挡板长度为1.5米,具有以下属性: 形状:

circle (.75f radius)
size: 1.5f
density: 10.0f
restitution: 0.1f
friction: 0.0f

正如你所看到的,所有物体的摩擦力都是0。

球经常会被卡在墙上滚动,或者完全卡在90度的角落里。

我想我可以检测到与墙的碰撞,并触发applyLinearImpulse来将球从墙上移开。


15
我必须说,你的问题标题让我想知道你是不是阿拉斯加裸体主义者。 - Groovetrain
1个回答

14

看起来这正是我需要的。对于这个,什么是合理的值?最初我会假设将其设置为0.f可以确保它不会卡住,但这样做会有不良影响吗? - Rob
从零开始并逐步提升 - 0.1 应该是可以的。如果你想让物体停在表面上,0 将会产生不良影响 - 它们将不停地晃动。 - Martin
1
有没有办法在不篡改源代码中的定义的情况下修改该值?这是一个糟糕的设计。 - Ciro Santilli OurBigBook.com

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