【问题标题】:Rotate wheel collider object旋转轮对撞机对象
【发布时间】:2020-04-12 13:48:04
【问题描述】:

我想统一旋转一个车轮对撞机对象。

我复制了我的后轮和前轮对象以保留位置数据。
它看起来垂直于车轮。我无法使用旋转工具或通过检查器旋转它。

正如post 中提到的:它可以使用一个空的游戏对象进行旋转来解决。

我试图将它附加到一个空游戏对象上并旋转它。它不起作用。

提前致谢

【问题讨论】:

    标签: unity3d rotation gameobject rigid-bodies collider


    【解决方案1】:

    我遇到了同样的问题。该解决方案比其他答案建议的更简单:

    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 子级。

    这对我有用。

    【讨论】:

      【解决方案2】:

      1-) 创建一个胶囊游戏对象, 2-) 让它完全一样。 3-)删除胶囊对撞机并添加网格对撞机,然后选择凸面。, 现在你有一个像whell一样的对撞机。

      4-) 将你的 whill 游戏对象放在这个下面,并固定大小。 5-) 删除胶囊对象中的网格过滤器和网格渲染器。 6-) 在创建的基础对象上使用 transform.rotate(vector3.right) 或 left。

      【讨论】:

      • 我试过了,但是没有用。事实上,我仍然需要一个车轮对撞机来处理一个移动的脚本。 (斯特林和马达)
      猜你喜欢
      • 1970-01-01
      • 2016-09-22
      • 2023-03-26
      • 2018-06-14
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多