Unity3d 允许刚体仅沿Y方向移动。

Unity3d 允许刚体仅沿Y方向移动。,unity3d,game-engine,game-physics,Unity3d,Game Engine,Game Physics,我正在使用Unity 4.3制作一个2d游戏。我有一个刚体2D对象。当其他physics2d对象撞击rigidbody2d对象时,它会在x方向上移动一点 我不希望它向x方向移动。我想固定rigidbody2d对象的x方向。如何实现这一点?不幸的是,RigidBody2D缺少刚体(3D)中的一个关键功能 一种解决方法是始终锁定RigidBody2D在X轴上的位置,尽管这可能会导致物理上的错误: void Update() { transform.position = new Vector

我正在使用Unity 4.3制作一个2d游戏。我有一个刚体2D对象。当其他physics2d对象撞击rigidbody2d对象时,它会在x方向上移动一点


我不希望它向x方向移动。我想固定rigidbody2d对象的x方向。如何实现这一点?

不幸的是,RigidBody2D缺少刚体(3D)中的一个关键功能

一种解决方法是始终锁定RigidBody2D在X轴上的位置,尽管这可能会导致物理上的错误:

void Update() 
{
    transform.position = new Vector3(STATIC_X, transform.position.y, transform.position.x);
}

另一个选择是,不要使用刚体,自己尝试模拟物理。

嗨,谢谢你的快速响应。我已经完成了代码。。。。。。。。。。。。。。函数Start(){this.rigiidbody2d.iskinetic=true;positionOfSpike=this.transform.position.x;}…..函数更新(){this.transform.position.x=positionOfSpike;}。。。。。。。但是放错地方了。你建议的代码也做了同样的事情,这是我问题的另一个解决方案。非常感谢。可能是重复的