首页 > 解决方案 > btRaycastVehicle 的 btWheelInfo 旋转不正确

问题描述

我使用 C++ 子弹物理。我在 btTriangleMesh 上生成 btRaycastVehicle。我使用 vehicle->getWheelTransformWS(i).getOpenGLMatrix(mat);更新车轮模型 矩阵。正如您在下面的剪辑中看到的车轮转向正常,它们在世界空间中的位置是正确的,但旋转完全关闭。btWheelInfom_rotationm_deltaRotation也会给我错误的结果,例如在完全停止后仍然有一些 m_rotation。此外, vehicle->getCurrentSpeedKmHour()对我来说行为错误。当我加速时,它给我负数,但当油门松开时,速度又是正数。我应该去哪里找问题?我应该为 ground 设置一些参数吗?

有问题的视频: https ://www.youtube.com/watch?v=QHt8TFLrrik

标签: c++bulletphysics

解决方案


我发现了一个问题,现在它可以工作了,看看这里:https ://youtu.be/s4ElFeGeAfM 问题是我没有设置车辆坐标系。现在当我使用vehicle->setCoordinateSystem(0,1,2); 它完美地工作。


推荐阅读