车轮碰撞统一:在增加扭矩后,车辆开始侧向移动

时间:2015-05-20 22:06:08

标签: unity3d

我真的杀了几个小时试图解决这个问题,谷歌搜索解决方案,但我不能。

我有一辆车,它是一个推车,所以没有悬架(技术上有,但是值接近0,模拟轮胎)。车辆附有一个刚体,子物体包含四轮碰撞器(以及模型本身),如下所示:

https://dl.dropboxusercontent.com/u/76599014/sxc/Clipboard01.jpg

为了测试,我添加了一个简短的脚本来让车辆移动。它位于GameObject中,名为“gokart”:

public class carControler : MonoBehaviour {

public WheelCollider fr, fl, rr, rl;
public float performance = 50f;

void FixedUpdate () {
    throttle();
}

public void throttle() {

    this.rl.motorTorque = this.performance;
    this.rr.motorTorque = this.performance;
} }

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

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

2 个答案:

答案 0 :(得分:1)

我认为你应该尝试在前轮上施加0制动扭矩,同时将电机扭矩施加到后轮上。

public void throttle() {

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

话虽如此,如果没有正确设置Rigidbody / wheelcolliders,任何事情都可能出错。 Unity的车轮碰撞器很难设置和使用。 Unity改变了Unity 5中的物理特性,因此大多数文档都已过时。

我发现这是一个非常好的简短文件,由统一制作:http://unity3d.com/profiles/unity3d/themes/unity/resources/downloads/beta/unity-5.0-user-guide.pdf

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

此致

答案 1 :(得分:0)

没有可用的图像我不确定这种情况,但是根据您的描述,我的假设是您应该尝试根据自己的口味增加侧向摩擦力并稍微调整前向摩擦力。进行购物车时,无论如何都要增加侧向摩擦力。据我所知,大多数拱形手推车都不会漂移,而且行为与常规赛车大不相同。 希望能解决问题。