【问题标题】:libgdx's btRaycastVehicle not following chassis and wheels correctlylibgdx 的 btRaycastVehicle 未正确跟随底盘和车轮
【发布时间】:2016-06-07 13:41:05
【问题描述】:

我设置了一个 btRaycastVehicle,如 xoppa 在 libGdx 的子弹测试中所示。当车辆处于低速时,它可以正常工作。但是随着车速的不断增加,底盘和车轮往往会相互分离。车轮到车轮和车轮到底盘之间的距离增加,之后车辆以不正确的方式运行。然后整个车辆有时会绕轴旋转。

【问题讨论】:

    标签: libgdx bulletphysics


    【解决方案1】:

    我最近遇到了同样的问题。问题似乎是 MotionState 的回调在渲染函数的不同线程上被调用。在 Xoppa 的示例应用程序(here,供其他人阅读)中,轮子变换正在渲染线程中更新。修复方法是在 MotionState 的回调中进行轮子变换:

    @Override
    public void setWorldTransform (final Matrix4 worldTrans) {
      transform.set(worldTrans);
    
      for (int i = 0; i < 4; i++) {
        vehicle.getWheelInfo(i).getWorldTransform().getOpenGLMatrix(wheels[i].transform.val);
      }
    }
    

    现在所有的变换都会同时更新,并且车轮会粘在底盘上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多