加速刚体的附加力

问题描述 投票:0回答:2

我需要一种方法来加速addforce方法到对象。

力结果感觉太慢,我希望它更快地应用,并且最终结果时间流逝缩短。

void FixedUpdate()
{....     
    Vector3 v_x = new Vector3(keyb_x, 0, 0);
    Vector3 force_ = v_x * kspeed * Time.deltaTime;
    float speed = rigidbody.velocity.magnitude;

    rigidbody.AddForce(force_, ForceMode.Impulse);
 ....}

在y方向上将重力从-9提高到-19或更高会得到预期的结果,但所有其他对象都会受到影响。我只希望它仅适用于特定对象。

unity3d game-physics frame-rate
2个回答
2
投票

所有重力都会向每个物理更新的所有刚体施加向下的力。对于2D统一物理学,您可以使用rigidbody2D.GravityScale,它可以根据每个刚体来缩放重力效果,但对于3D刚体,您应该施加一个等于您想要的对象重力变化的恒定力

EG

//adds a downforce of 10 per second
rigidbody.AddForce(Vector3.down * 10f * Time.fixedDeltaTime);

你想把它放在你的固定更新功能中。


0
投票

object_Rigid2D.gravityScale + = gravity_Increase * Time.deltaTime;

© www.soinside.com 2019 - 2024. All rights reserved.