始终获得相同的物理碰撞反弹力

时间:2019-01-20 16:16:32

标签: unity3d

我正在研究3d汽车战争游戏,并且使用以下代码在速度上移动汽车:

    appliedSpeed += Time.fixedDeltaTime * 8f;
    appliedSpeed = Mathf.Min (appliedSpeed, speed);
    myRigidbody.velocity = transform.forward * appliedSpeed;

在碰撞时,我使用以下代码向后施力:

private void ApplyReboundForce (Collision other)
{
    Vector3 reboundDirection = other.contacts [0].point - transform.position;
    reboundDirection = -reboundDirection.normalized;
//        myRigidbody.AddForce (reboundDirection * 7f, ForceMode.Impulse);
    myRigidbody.AddForce (reboundDirection * 180f, ForceMode.Force);
}

但是目前,我正在动态地获得碰撞响应力。根据物理计算,有时它是较高的力,有时是较低的力。 我希望碰撞响应力始终相同。

以下是碰撞反应力的参考游戏:

SUPER ADDICTIVE NEW .io Game | Bumper.io

我已经使所有汽车的所有物理属性都相同,例如物理材料,刚体属性值等,然后在每次碰撞中也会得到不同的碰撞响应。

给我一​​些建议,以达到类似的目的。

0 个答案:

没有答案