【问题标题】:Add a constant force in Unity2D在 Unity2D 中添加恒力
【发布时间】:2015-03-02 09:46:18
【问题描述】:

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

rigidbody2D.AddForce(Vector2.right * speed);

由于我编写的这段代码,球的速度增加了。我想让这个力是恒定的,所以球的速度不会增加。我怎样才能做到这一点?非常感谢!

【问题讨论】:

    标签: unity3d


    【解决方案1】:

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

    Force = mass * acceleration
    

    在你的情况下,产生的加速度是:

    Acceleration = Force / mass
    

    如果要将物体速度设置为恒定,则应修改刚体的速度:

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

    类似这样的:

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

    【讨论】:

    • 非常感谢。如果我不想影响我的重力,我应该写rigidbody2D.velocity.y而不是0吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多