gameObject
。将车轮碰撞器附加到该空的gameObject
上。并使空的gameObject
成为你汽车的车轮子对象。这样,您就可以旋转空的gameObject
,以便您的碰撞器被旋转。@Programmer还分享了一个有关WheelCollider教程的链接。可以在这里找到。在导入游戏对象之前,最好的做法之一是确保游戏对象是Y正向。您可以在导出时在blender中更改它。
我曾经遇到过同样的问题。然而,在现代版本的Unity(2019.4)中,简单地旋转一个空的父对象是行不通的。你必须旋转一个具有WheelColliders附加的rigidbody的对象。
假设你的汽车有一个rigidbody,解决方案是确保汽车的rigidbody的X轴方向与车轮碰撞体所需的X轴方向相匹配。
基于这篇文章:
https://forum.unity.com/threads/unity-5-wheelcollider-wrong-rotation.349596/#post-2264801
WheelColliders总是指向刚体的“前”和“下”方向。steerAngle值是相对于刚体的前向方向而言的。
请注意,您的汽车模型(显示汽车车身的外观)可能与包含轮胎碰撞器的刚体对象具有不同的方向。
在我的情况下,层次结构如下:
CarRoot上有一个刚体。当我旋转它时,它会连同轮胎碰撞器一起旋转。这也会旋转汽车模型。这不好。所以我必须:
这对我很有帮助。
P.S. 如果这有点像“僵尸贴”的话,我很抱歉。但是这个问题还没有答案。
我在这个问题上遇到了很多麻烦,因为在Blender中没有任何导出设置或旋转能够解决我的问题。但最终我找到了一个解决方案。创建一个空的gameObject,并将rigidbody、mesh filter和mesh collider附加到它上面。然后将模型作为子对象与空的gameObject相关联,再尝试添加轮子碰撞器。轮子是相对于刚体的transform.up和transform.forward的,所以将刚体放在默认的物体上可以解决所有问题。