【发布时间】:2018-02-25 14:18:57
【问题描述】:
我已经开始玩汽车游戏并开发了AI,汽车控制脚本。
现在我想知道汽车的速度。
我使用了下面的代码。
BackLeftWheel.wheelTorque = EngineTorque / GearRatio * 4;
汽车行驶平稳,但我想知道它的确切速度。
【问题讨论】:
标签: unity3d
我已经开始玩汽车游戏并开发了AI,汽车控制脚本。
现在我想知道汽车的速度。
我使用了下面的代码。
BackLeftWheel.wheelTorque = EngineTorque / GearRatio * 4;
汽车行驶平稳,但我想知道它的确切速度。
【问题讨论】:
标签: unity3d
如果汽车有刚体,你可以通过刚体.速度.幅度来获得速度。 See here
一些注意事项:不要在 Update 中调用 GetComponent,在 Start 中调用它并存储结果。 另外:计算幅度需要平方根运算。如果可能的话,应该在 Update 中避免这种情况(尽管在项目中有一些可能不会太重要)
【讨论】:
我对你使用的车不熟悉,但是只要你的脚本可以访问你的车的变换,你总是可以根据时间检查最后的位置,并通过这种方式更新速度......
Vector3 prevpos;
void Update()
{
Vector3 distance_traveled = transform.position - prevpos;
prevpos = transform.position
Vector3 distancepertime = distance_traveled / time.deltaTime;
}
【讨论】: