Unity中关于WheelCollider组件的使用

基本使用方法可以参考官方中文文档WheelCollider
下面补充一下我自己开发中用到的点和踩到的坑。

车子的滑动惯性:
加大 WheelCollider.wheelDampingRate

车子抓地力调整:
Forward Friction-> Stiffness(纵向,车轮前进后退)
Sideways Friction-> Stiffness(横向,漂移)

车子上坡下滑:
1.正向前(Z)上坡加大 WheelCollider.forwardFriction.asymptoteValue
倒车(-Z)上坡加大WheelCollider.forwardFriction.extremumValue
2.减小车身的mass,增加车轮的mass
3.再调节WheelCollider.forwardFriction.asymptoteSlip

注意WheelCollider组件的车轮朝向是无法手动修改的,它的朝向与带有Rigidbody组件的父物体方向保持一致。

容易翻车问题
目前想到的解决方案是看到不倒翁产生的灵感,可以把车身的刚体重心调低一些来减少容易翻车的情况。
修改重心的代码如下:

using UnityEngine;

public class ChangeCenterOfMass : MonoBehaviour
{
    
    
    public Transform center;
    private Rigidbody r;
    
    void Start()
    {
    
    
        r = GetComponent<Rigidbody>();
    }
    
    void Update()
    {
    
    
        r.centerOfMass = center.localPosition;
    }
}

在车的节点下创建一个空物体用来设置重心位置,注意赋值的是localPosition

自己做的demo截图
在这里插入图片描述
关于WheelCollider的相关博客

猜你喜欢

转载自blog.csdn.net/qq_39162826/article/details/120305137