我想在我的车轮上添加一个车轮对撞机,但它带有 90 度旋转。
这是图像:
如何将碰撞器调整到车轮?
为了进一步参考,我写下我的评论作为答案。
我能想到的最简单的解决方案是;添加一个空的gameObject
. 将轮式对撞机连接到那个空gameObject
的 . 并将空的gameObject
孩子带到你的汽车车轮上。有了这个,你可以旋转空的gameObject
,这样你的对撞机就会旋转。@Programmer 还分享了一个关于 WheelCollider 教程的链接。可以在这里找到
您可以做的最好的事情之一是,在导入游戏对象之前,请确保游戏对象是 Y Forward。您可以在导出时在搅拌机中更改它。
我为此遇到了很多麻烦,因为 Blender 中的导出设置或旋转都没有为我解决问题。不过,我最终找到了解决方案。创建一个空的游戏对象,并将刚体、网格过滤器和网格碰撞器附加到它。然后将模型作为空游戏对象的父对象,然后尝试添加车轮碰撞器。轮子是相对于刚体的 transform.up 和 transform.forward 而言的,所以将刚体放在默认的东西上可以解决所有问题。
我有同样的问题。但是,在现代版 Unity (2019.4) 中,简单地旋转一个空的父对象是行不通的。您必须旋转具有 WheelCollider 所连接的刚体的对象。
假设您的汽车具有刚体,解决方案是确保汽车刚体的 X 轴方向与车轮碰撞器的所需 X 轴方向相匹配。
基于这篇文章:
https://forum.unity.com/threads/unity-5-wheelcollider-wrong-rotation.349596/#post-2264801
WheelCollider 总是指向“向前”和“向下”方向作为它们所连接的刚体。steerAngle 值是相对于刚体的前进方向的。
但是请记住,您的汽车模型(显示车身的视觉效果)可能与包含车轮对撞机所连接的刚体的对象具有不同的方向。
在我的情况下,层次结构看起来像这样:
CarRoot 上有一个刚体。当我旋转它时,它会旋转与它碰撞的轮子。这也将旋转汽车模型。这不好。所以我不得不:
那是为我做的。
PS对不起,如果这有点像死神。但这仍然没有答案。