jBullet - 6DOFConstraint严重振荡

时间:2012-12-13 22:19:14

标签: java physics-engine bulletphysics bullet jbullet

我已经做了一个简单的多旋风蛇体。我在每个身体之间有一个 6DOFConstraint ,并且通过增加/减少旋转的上限和下限来控制角度,以便改变角度。

围绕水平轴的旋转工作正常,但是当围绕垂直轴旋转时,一旦达到大于 1.05rads 的角度,则两个物体剧烈振动。

屏幕截图可以在这里找到,其描述更详细地介绍了我的工作:

http://www.youtube.com/watch?v=OQu-YyxLvbw

以下屏幕截图显示蛇的“头部”线性分离,约束仍然存在,以试图消除发生碰撞问题的可能性:

http://www.youtube.com/watch?v=6wso6HDjqXA

我已经尝试了以下技术来解决这个问题,其中没有一个有效:

  • 将恢复原状(bounciness)设置为非常低 - 同样发生
  • 将线性和角度阻尼设置为0到0之间的值范围 和 - - 同样发生
  • 设定角度大于1.05 - 同样发生。
  • 继续增加角度超过1.05,看看是否平静下来 - 相反的情况发生了,它变得更加暴力。
  • 尝试单关节 - 同样发生
  • 检查深穿透 - 没有穿透
  • 线性分开两个物体以排除碰撞问题但保持不变 联合同样 - 同样发生。
  • 将上面的蛇(除头部以外的所有部位的质量= 0f)浮起 地面相互作用 - 同样发生
  • 在锁定位置时关闭重力 - 行为延迟至 1.43rads
  • 增加蛇的大小(比例),因为它已知为jBullet 有较小项目的渲染问题 - 没有变化。
  • 尝试将身体更换为胶囊形状 - 无变化

0 个答案:

没有答案