汽车没有掉在地上

时间:2019-07-06 15:44:57

标签: c# unity3d

当前,我的玩家的车不在赛道上时没有掉在地上。 当您离开轨道时会发生这种情况:

enter image description here

它应该掉落在地面上,但是没有倒下,它正以相同的高度飞行。

我正在使用此代码移动玩家的汽车。

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

如果玩家的汽车掉落在地面上,则说明游戏已经结束,但是目前,这不是我发生的事情:)

重力已应用到项目设置中,您可以在上图中检查我的刚体设置。

现在给我一些建议,对我的玩家赛车施加一些重力。

1 个答案:

答案 0 :(得分:0)

我认为transform.forward导致了这种情况,因为transform.forward只是说“ new Vector3(0,0,1)”的一种方式,并将其应用于rigidBody速度会使汽车漂浮,因为Y轴速度等于0。

您可以尝试使用“ + =”运算符来增加速度,而不仅仅是将值直接应用于刚体速度