如何在统一车游戏中获取车速

时间:2011-07-30 10:08:12

标签: unity3d

我开始玩汽车游戏并开发了AI汽车控制脚本。

现在我想知道汽车的速度。

我使用了以下代码。

BackLeftWheel.wheelTorque = EngineTorque / GearRatio * 4;

赛车进展顺利,但我想知道它的准确速度。

2 个答案:

答案 0 :(得分:0)

我对您使用的汽车并不熟悉,但只要您的脚本可以访问汽车的变换,您就可以随时根据时间检查最后位置,并以这种方式更新速度...... < / p>

Vector3 prevpos;

void Update()  
{  
    Vector3 distance_traveled = transform.position - prevpos;

    prevpos = transform.position

    Vector3 distancepertime = distance_traveled / time.deltaTime;
}

答案 1 :(得分:0)

如果汽车有刚体,你可以只使用rigidbody.velocity.magnitude来获得速度。 See here

但是有些注意事项:不要在Update中调用GetComponent,在Start中调用它并存储结果。 另外:计算幅度需要平方根运算。如果可能的话,应该在更新中避免这种情况(尽管在项目中有一些可能会赢得太多的事情)