在Unity2D中添加恒定力

时间:2015-03-02 09:46:18

标签: unity3d

我有一个球,我想在X轴上移动它,因此,在FixedUpdate方法中我添加了一个力:

rigidbody2D.AddForce(Vector2.right * speed);

由于我写的这段代码,球的速度提高了。我想让这个力量保持不变,所以球的速度不会增加。我怎样才能做到这一点?非常感谢!

1 个答案:

答案 0 :(得分:1)

施加恒定力会加速物体,因为这就是真实物理的工作原理:

Force = mass * acceleration

在您的情况下,产生的加速度为:

Acceleration = Force / mass

如果要将对象速度设置为常量,则应修改rigidBody的速度:

http://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html

这样的事情:

rigidbody2D.velocity = new Vector2(speed, 0);