我试图将软体的运动锁定到x轴。我希望能够左右移动,但将其锁定在z轴上的相同位置。
即使我沿x轴施加速度,有时也会由于空气阻力和我假定的软体移动方式而导致 body 在z轴上向后移动。
为了解决这个问题,我想使用一个tick回调来确保软体的z位置始终为0;
这是最好的方法吗,如果是的话,我该如何设置职位。
我已经尝试过.transform()和.translate(),但没有设法使其正常工作。
谢谢。
最佳答案
尝试使用setLinearFactor()
代码。它像这样工作:
body->setLinearFactor(btVector3(0.0, 1.0, 1.0));
此代码阻止x轴上的任何移动。主体结构可以是刚体或软件,并且
btVector3
参数为:1用于运动,0用于阻止任何类型的运动。在你的情况下,看起来就像我以前做过的一样