首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libgdx的btRaycastVehicle不能正确跟随底盘和车轮

libgdx的btRaycastVehicle不能正确跟随底盘和车轮
EN

Stack Overflow用户
提问于 2016-06-07 21:41:05
回答 1查看 164关注 0票数 1

我按照xoppa在libGdx的子弹头测试中所示的方式设置了一个btRaycastVehicle。当车辆处于低速时,它才能正常工作。但是随着车辆速度的不断提高,底盘和车轮趋于分离。车轮到车轮和车轮到底盘之间的距离增加,之后车辆的行为方式不正确。然后,整个车辆有时会绕着一个轴旋转。

EN

回答 1

Stack Overflow用户

发布于 2016-07-07 22:07:43

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

代码语言:javascript
复制
@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);
  }
}

现在,所有变换都会同时更新,并且轮子会附着在底盘上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37681096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档