Xyz45745 2023-06-08 19:13 采纳率: 44.4%
浏览 43
已结题

unity车辆添加代码后抖动

请问我在unity给车辆添加下面这个让车轮旋转的代码运行正常

    public WheelCollider[] WheelCollider;
    public Transform[] WheelTrans;
    void Start()
    {
  }
    void Update()
    {
        float vertical = Input.GetAxis("Vertical");
        float horizontal = Input.GetAxis("Horizontal");
        for (int i = 0; i < WheelCollider.Length; i++)
        {
            Vector3 pos;
            Quaternion rotation;
            WheelCollider[i].GetWorldPose(out pos, out rotation);
            WheelTrans[i].position = pos;
            WheelTrans[i].rotation = rotation;
        }
}
}

但是添加这两句转向的代码,运行后车子就开始抖动了,这是什么原因

WheelCollider[0].steerAngle = horizontal * 30;
        WheelCollider[1].steerAngle = horizontal * 30;

  • 写回答

1条回答 默认 最新

  • 小杰911 2023-06-15 14:39
    关注

    可能是因为steerAngle的变化过于突然,导致车轮转向时出现抖动。可以尝试在代码中添加平滑过渡的方法,比如使用Lerp函数使steerAngle的变化更加平滑。另外,还可以检查车轮的碰撞器和转换器是否正确设置。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月6日
  • 已采纳回答 6月28日
  • 创建了问题 6月8日