扭矩和加速度曲线

本文关键字:曲线 加速度 | 更新日期: 2023-09-27 17:59:54

我想对我的车轮进行更多的加速控制,这只是一个增加扭矩的气缸。

wheel.AddTorque(wheel.transform.up * throttle);

我实际想要的是让它快速加速,但在给定的速度下,加速度应该会很快下降。就像曲线开始很陡一样。我有什么办法可以使用基本的.Addtorque来影响这一点吗?

目前,我的车轮只是快速加速到最大速度。添加阻力会减慢速度,但我无法控制它。

扭矩和加速度曲线

您只需直接影响rigidbodyangularVelocity属性。正如您可以影响velocity属性而不是使用.AddForce方法一样。

试试这个伪代码

public float topSpeed;
public float decelRate;
protected bool slowDown = false;
public void Update()
{
    float speed = wheel.angularVelocity.magnitude;
    if (speed >= topSpeed) slowDown = true;
    if (slowDown)
    {
        speed -= decelRate * Time.deltaTime;
        wheel.angularVelocity = wheel.angularVelocity.normalized * speed;
    }
}

请记住,magnitude调用是昂贵的,因为里面有一个平方根函数,尽管在这种情况下,我没有看到其他方法,所以你应该没事。此外,我不是在一个设定的方向上减慢它的速度,这很重要,因为这样无论它在哪个方向旋转,或者它的方向如何,它都会减慢速度。