我确实花了几个小时来尝试解决此问题,谷歌搜索以寻求解决方案,但我做不到。
我有一辆车,是一辆购物车,所以没有悬架(从技术上讲,有悬架,但数值接近于0,以模拟轮胎)。车辆具有固定的刚体,子对象包含4个车轮对撞机(以及模型本身),如下所示:
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(我必须弄清楚如何制作),我会很乐意提供。
最佳答案
我认为您应该尝试在前轮上施加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制作的:http://unity3d.com/profiles/unity3d/themes/unity/resources/downloads/beta/unity-5.0-user-guide.pdf
它突出显示了对第5号车位所做的更改,在第5页末尾,您可以找到一个部分,说明如何设置汽车。大约一个月前,我在一个新的统一项目中进行了尝试,并且成功了。说明很清楚,因此请尝试一下本教程,希望对您有所帮助。
问候
关于unity3d - 车轮对撞机Unity : after adding torque the vehicle starts moving sideways,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30361205/