3

我想在我的车轮上添加一个车轮对撞机,但它带有 90 度旋转。

这是图像:

问题图片

如何将碰撞器调整到车轮?

4

4 回答 4

2

为了进一步参考,我写下我的评论作为答案。

我能想到的最简单的解决方案是;添加一个空的gameObject. 将轮式对撞机连接到那个空gameObject的 . 并将空的gameObject孩子带到你的汽车车轮上。有了这个,你可以旋转空的gameObject,这样你的对撞机就会旋转。@Programmer 还分享了一个关于 WheelCollider 教程的链接。可以在这里找到

于 2017-09-22T08:13:18.487 回答
1

您可以做的最好的事情之一是,在导入游戏对象之前,请确保游戏对象是 Y Forward。您可以在导出时在搅拌机中更改它。

于 2021-01-21T14:17:04.770 回答
1

我为此遇到了很多麻烦,因为 Blender 中的导出设置或旋转都没有为我解决问题。不过,我最终找到了解决方案。创建一个空的游戏对象,并将刚体、网格过滤器和网格碰撞器附加到它。然后将模型作为空游戏对象的父对象,然后尝试添加车轮碰撞器。轮子是相对于刚体的 transform.up 和 transform.forward 而言的,所以将刚体放在默认的东西上可以解决所有问题。

于 2021-02-26T23:02:23.967 回答
1

我有同样的问题。但是,在现代版 Unity (2019.4) 中,简单地旋转一个空的父对象是行不通的。您必须旋转具有 WheelCollider 所连接的刚体的对象。

假设您的汽车具有刚体,解决方案是确保汽车刚体的 X 轴方向与车轮碰撞器的所需 X 轴方向相匹配。

基于这篇文章:

https://forum.unity.com/threads/unity-5-wheelcollider-wrong-rotation.349596/#post-2264801

WheelCollider 总是指向“向前”和“向下”方向作为它们所连接的刚体。steerAngle 值是相对于刚体的前进方向的。

但是请记住,您的汽车模型(显示车身的视觉效果)可能与包含车轮对撞机所连接的刚体的对象具有不同的方向。

在我的情况下,层次结构看起来像这样:

  • 主场景
    • 车根
      • 汽车模型
      • 车轮对撞机
        • Wheel_FR
        • Wheel_FL
        • Wheel_RR
        • Wheel_RL

CarRoot 上有一个刚体。当我旋转它时,它会旋转与它碰撞的轮子。这也将旋转汽车模型。这不好。所以我不得不:

  1. 取消 CarModel 和 WheelColliders 的父级(使它们成为 MainScene 的子级)
  2. 在Y 轴上将 CarRoot 旋转 90 度(使其 X 轴与 WheelCollider 的 X 轴对齐)
  3. 再次创建 CarRoot 的 CarModel 和 WheelColliders 子级。

那是为我做的。

PS对不起,如果这有点像死神。但这仍然没有答案。

于 2021-02-24T20:46:43.950 回答