如何在Bullet Physics中设置柔体的位置

时间:2012-02-23 23:05:41

标签: c++ physics-engine bulletphysics

我试图将软体的运动锁定到x轴。我希望能够左右移动,但将其锁定在z轴的相同位置。

即使我沿x轴施加速度,由于空气阻力和软体移动的方式,有时也会导致身体在z轴上向后移动。

为了解决这个问题,我想使用tick回调来确保软体的z位置始终为0;

这是解决问题的最佳方式,如果是这样,我该如何设定位置。

我尝试过.transform()和.translate(),但还没有设法让它运转起来。

感谢。

1 个答案:

答案 0 :(得分:4)

尝试使用setLinearFactor()代码。它的工作原理如下:

body->setLinearFactor(btVector3(0.0, 1.0, 1.0));

此代码会阻止x轴上的任何移动。身体结构可以是刚体或软体,btVector3参数是:1代表运动,0代表任何类型的运动。在你的情况下,它看起来像我之前做的