c++ - btRaycastVehicle 的 btWheelInfo 旋转不正确
问题描述
我使用 C++ 子弹物理。我在 btTriangleMesh 上生成 btRaycastVehicle。我使用 vehicle->getWheelTransformWS(i).getOpenGLMatrix(mat);更新车轮模型 矩阵。正如您在下面的剪辑中看到的车轮转向正常,它们在世界空间中的位置是正确的,但旋转完全关闭。btWheelInfo的m_rotation或m_deltaRotation也会给我错误的结果,例如在完全停止后仍然有一些 m_rotation。此外, vehicle->getCurrentSpeedKmHour()对我来说行为错误。当我加速时,它给我负数,但当油门松开时,速度又是正数。我应该去哪里找问题?我应该为 ground 设置一些参数吗?
解决方案
我发现了一个问题,现在它可以工作了,看看这里:https ://youtu.be/s4ElFeGeAfM 问题是我没有设置车辆坐标系。现在当我使用vehicle->setCoordinateSystem(0,1,2); 它完美地工作。
推荐阅读
- go - 如何在不停止和重新启动的情况下部署 Web 应用程序
- javascript - 电子对话框文件路径“\\”到“/”?
- excel - 运行时 438 VBA
- javascript - Woocommerce 产品滑块不显示第二张图片
- ios - Swift IOS - 在设备上测试时如何获得上传文档的权限?
- c# - 访问基类覆盖的 ToString 方法中的子类对象
- sql - 使用 NodeJS + MongoDB(或 SQL)实现搜索算法
- groovy - 当未定义其他 var 时,groovy 使用 var
- angular - 在同一页面角度中多次使用同一组件时避免多次 api 调用
- r - 有没有办法在openxlsx的write.xlsx函数中将默认覆盖改成yes?