目前我正在开发一款使用物理引擎的简单游戏(用于XNA的Farseer)。
我想问一下如何制作角色让他可以在地面上行走,在平台上跳跃而不会自行旋转。
因为我需要更新身体位置和旋转,因为它是一个物理对象,所以它会像往常一样自行响应。
任何人都知道如何解决它?
答案 0 :(得分:5)
对于Farseer 2.1,您可以设置:
body.MomentOfInertia = float.PositiveInfinity;
Farseer 3.0似乎有一个固定旋转的标志,它似乎在内部做同样的事情:
body.FixedRotation = true;
虽然在物理更新后我也将旋转设置为零,但为了确保:
body.Rotation = 0;
在物理更新运行后,不要害怕进入,并更改“不喜欢”的任何物理值。大多数游戏都伪造和捏造了很多东西。