如何使物理角色在不旋转的情况下移动

Bir*_*ngz 3 xna farseer

目前我正在开发一个使用物理引擎的简单游戏(Farseer for XNA).

我想问一下如何制作这个角色让他可以在地面上行走,在平台上跳跃而不会自行旋转.

因为我需要更新身体位置和旋转,因为它是一个物理对象,所以它会像通常那样自行旋转.

任何人都知道如何解决它?

And*_*ell 5

对于Farseer 2.1,您可以设置:

body.MomentOfInertia = float.PositiveInfinity;
Run Code Online (Sandbox Code Playgroud)

Farseer 3.0似乎有一个固定旋转的标志,它似乎在内部做同样的事情:

body.FixedRotation = true;
Run Code Online (Sandbox Code Playgroud)

虽然我在物理更新后也将旋转设置为零,但为了确保:

body.Rotation = 0;
Run Code Online (Sandbox Code Playgroud)

物理更新运行后,不要害怕进入,并更改"不喜欢"的任何物理值.大多数游戏都是伪造和捏造的东西.