我正在寻找阻止 PhysicsJS 主体旋转的最佳实践方法。我试过取消身体的旋转速度。然而,这在台阶上似乎并不有效,因为身体仍然以某种方式偷偷地进行一些旋转。将其与手动设置身体的旋转相结合似乎首先起作用:
world.on('step', function(){
obj.state.angular.pos = 0;
obj.state.angular.vel = 0;
world.render();
});
但是在过去,我遇到了很多与此方法相关的错误。似乎与在调用步骤之前允许对象稍微旋转有关,这会导致它在body.state.angular.pos
设置回零时非常快速地“旋转”。这导致对象突然发现自己在主体内部,或者主体突然发现自己在墙壁/其他对象内部。您可以想象,这不是一个理想的情况。
我也觉得如此强行设置身体的旋转一定不是最好的方法,但我想不出更好的方法。所以我想知道 PhysicsJS 中是否有一些我还没有发现的方法,基本上只是声明“这个对象不能旋转”,但仍然允许在所有其他方面将身体视为动态的。
或者,获得所需效果的“最安全”方法是什么,即使有一个不是为physicsJS量身定制的通用指南,我也会很高兴,只是让我了解在模拟中控制动态身体旋转的一般最佳实践是什么.
提前感谢您的任何建议!