Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 车轮碰撞装置:增加扭矩后,车辆开始侧向移动_Unity3d - Fatal编程技术网

Unity3d 车轮碰撞装置:增加扭矩后,车辆开始侧向移动

Unity3d 车轮碰撞装置:增加扭矩后,车辆开始侧向移动,unity3d,Unity3d,我真的花了几个小时试图解决这个问题,在谷歌上搜索解决方案,但我做不到 我有一辆车,它是一辆小车,所以没有悬架(技术上有,但数值接近0,以模拟轮胎)。车辆连接了一个刚体,子对象包含4轮碰撞器(以及模型本身),如图所示: 为了进行测试,我添加了一个简短的脚本以使车辆移动。在名为“gokart”的游戏对象中: 发生的情况是:后车轮按预期开始旋转,但车辆开始缓慢地侧向移动。移动速度取决于扭矩量(在这种情况下为车轮旋转)。没有向前移动,因此这不是错误,当你站在平坦的表面上时,你会在侧面漂移 有什么想法吗

我真的花了几个小时试图解决这个问题,在谷歌上搜索解决方案,但我做不到

我有一辆车,它是一辆小车,所以没有悬架(技术上有,但数值接近0,以模拟轮胎)。车辆连接了一个刚体,子对象包含4轮碰撞器(以及模型本身),如图所示:

为了进行测试,我添加了一个简短的脚本以使车辆移动。在名为“gokart”的游戏对象中:

发生的情况是:后车轮按预期开始旋转,但车辆开始缓慢地侧向移动。移动速度取决于扭矩量(在这种情况下为车轮旋转)。没有向前移动,因此这不是错误,当你站在平坦的表面上时,你会在侧面漂移


有什么想法吗?如果您需要运动的视频或GIF(我必须弄清楚如何制作),我很乐意提供。

我认为您应该尝试对前轮施加0制动扭矩,同时对后轮施加电机扭矩

public void throttle() {

this.rl.motorTorque = this.performance;
this.rr.motorTorque = this.performance;
this.fr.brakeTorque = 0f;
this.fl.brakeTorque = 0f;
} 
也就是说,如果刚体/车轮碰撞器设置不正确,任何事情都可能出错。Unity的车轮碰撞器可能很难安装和使用。Unity改变了Unity 5中的物理,因此大多数文档都过时了

我发现unity制作了一份非常好的简短文档:

它突出显示了对unity 5所做的更改,在第5页的末尾,您可以找到一个部分,解释如何设置汽车。大约一个月前,我在一个新的unity项目中试用了它,它成功了。说明很清楚,所以请尝试本教程,我希望它会有所帮助


关于

没有可用的图像,我不完全确定这种情况,但根据您的描述,我的假设是您应该尝试增加侧向摩擦力,并根据您的喜好稍微调整前进摩擦力。你必须增加横向摩擦,无论如何,因为你是一个去推车。据我所知,大多数阿卡迪手推车不会漂移,其行为与普通赛车有很大不同。
希望这能解决问题。

hmm,您确定物体和轮子上的所有轴都指向前方吗?(蓝色箭头表示向前)在另一辆模拟车上检查,用箱子和圆筒制造,然后查看结果。如果轴出现问题,则需要更改其方向。
public void throttle() {

this.rl.motorTorque = this.performance;
this.rr.motorTorque = this.performance;
this.fr.brakeTorque = 0f;
this.fl.brakeTorque = 0f;
}