1

我制作了一个简单的多循环蛇身。我在每个身体之间有一个6DOFConstraint,角度是通过增加/减少旋转的上限和下限来控制的,从而改变角度。

绕水平轴旋转效果很好,但是当绕垂直轴旋转时,一旦达到大约1.05rads的角度,两个物体就会剧烈振动。

屏幕截图可以在这里找到,其中的描述更详细地介绍了我所做的事情:

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

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

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

我尝试了以下技术来解决问题,但都没有奏效:

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

0 回答 0