我使用Box2D来模拟在行星上行走的人。我计算了一个朝向行星中心的自定义引力,它除了一个小故障外它正常工作:我用作当前人围绕行星移动时旋转的物理模型的盒子。我希望它始终是正确的方式。你怎么建议我这样做?
当人的脚接触地面时,我已经考虑过采用重力矢量并计算切向量,但我不太清楚如何做到这一点。如果这是最好的方法,请您解释一下如何实现这一目标? Aren有没有更简单的方法?
答案 0 :(得分:1)
有一种更简单的方法。
我假设通过"正确向上"你的意思是脚应该始终指向行星。
执行以下操作:
如果你这样做,棱柱关节应该保持你的播放器按照你想要的方式旋转。
如果您希望手动设置角度,我认为您可以使用atan2这样计算角度:
Math.atan2(planetPos.y - playerPos.y,planetPos.x - playerPos.x);
这将以度为单位计算角度。您必须将其转换为弧度才能在Box2D中使用它。