0
我设置了一个bopRaycastVehicle,如xoppa在libGdx的bullet测试中所示。当车辆处于低速时,则它正常工作。但随着车辆速度的不断提高,底盘和车轮往往会彼此分离。车轮到车轮和车轮到底盘之间的距离增加,并且在那之后车辆行为不正确。然后整个车辆有时围绕一个轴旋转。libgdx的btRaycastVehicle没有正确跟踪底盘和车轮
我设置了一个bopRaycastVehicle,如xoppa在libGdx的bullet测试中所示。当车辆处于低速时,则它正常工作。但随着车辆速度的不断提高,底盘和车轮往往会彼此分离。车轮到车轮和车轮到底盘之间的距离增加,并且在那之后车辆行为不正确。然后整个车辆有时围绕一个轴旋转。libgdx的btRaycastVehicle没有正确跟踪底盘和车轮
我最近有同样的问题。这个问题似乎是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);
}
}
现在所有的变换得到在同一时间更新,车轮粘在底盘上。