【发布时间】:2015-03-02 09:46:18
【问题描述】:
我有一个球,我想在 X 轴上移动它,所以,在 FixedUpdate 方法中我添加了一个力:
rigidbody2D.AddForce(Vector2.right * speed);
由于我编写的这段代码,球的速度增加了。我想让这个力是恒定的,所以球的速度不会增加。我怎样才能做到这一点?非常感谢!
【问题讨论】:
标签: unity3d
我有一个球,我想在 X 轴上移动它,所以,在 FixedUpdate 方法中我添加了一个力:
rigidbody2D.AddForce(Vector2.right * speed);
由于我编写的这段代码,球的速度增加了。我想让这个力是恒定的,所以球的速度不会增加。我怎样才能做到这一点?非常感谢!
【问题讨论】:
标签: unity3d
施加恒定的力会使物体加速,因为这就是真实的物理原理:
Force = mass * acceleration
在你的情况下,产生的加速度是:
Acceleration = Force / mass
如果要将物体速度设置为恒定,则应修改刚体的速度:
http://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
类似这样的:
rigidbody2D.velocity = new Vector2(speed, 0);
【讨论】: