我需要一种方法来加速对象的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或更高会产生预期结果,但所有其他对象都会受到影响。我只希望它仅适用于特定对象。
答案 0 :(得分:2)
所有重力都会向每个物理更新的所有刚体施加向下的力。对于2D统一物理学,你可以使用rigidbody2D.GravityScale
,它可以根据每个刚体来衡量重力的效果,但对于3D刚体,你应该施加一个等于你想要的物体重力变化的恒定力
e.g。
//adds a downforce of 10 per second
rigidbody.AddForce(Vector3.down * 10f * Time.fixedDeltaTime);
您需要将其置于固定更新功能中。
答案 1 :(得分:0)
object_Rigid2D.gravityScale + = gravity_Increase * Time.deltaTime;