【发布时间】:2020-04-12 13:48:04
【问题描述】:
我想统一旋转一个车轮对撞机对象。
我复制了我的后轮和前轮对象以保留位置数据。
它看起来垂直于车轮。我无法使用旋转工具或通过检查器旋转它。
正如post 中提到的:它可以使用一个空的游戏对象进行旋转来解决。
提前致谢
【问题讨论】:
标签: unity3d rotation gameobject rigid-bodies collider
我想统一旋转一个车轮对撞机对象。
我复制了我的后轮和前轮对象以保留位置数据。
它看起来垂直于车轮。我无法使用旋转工具或通过检查器旋转它。
正如post 中提到的:它可以使用一个空的游戏对象进行旋转来解决。
提前致谢
【问题讨论】:
标签: unity3d rotation gameobject rigid-bodies collider
我遇到了同样的问题。该解决方案比其他答案建议的更简单:
WheelCollider 对象依赖于它们所附着的刚体的方向。假设您的自行车具有刚体,解决方案是确保自行车的 X 轴方向与车轮碰撞器的 X 轴方向匹配。
根据这篇文章:
https://forum.unity.com/threads/unity-5-wheelcollider-wrong-rotation.349596/#post-2264801
WheelCollider 始终指向“向前”和“向下”方向作为它们所附着的刚体。 steerAngle 值是相对于刚体的前进方向的。
但请记住,您的自行车模型(显示自行车车架的视觉效果)可能与包含车轮碰撞器所连接的刚体的对象具有不同的方向。
在我的例子中,层次结构看起来像这样:
CarRoot 上有一个刚体。当我旋转它时,它也会旋转我的模型。这不好。所以我不得不:
这对我有用。
【讨论】:
1-) 创建一个胶囊游戏对象, 2-) 让它完全一样。 3-)删除胶囊对撞机并添加网格对撞机,然后选择凸面。, 现在你有一个像whell一样的对撞机。
4-) 将你的 whill 游戏对象放在这个下面,并固定大小。 5-) 删除胶囊对象中的网格过滤器和网格渲染器。 6-) 在创建的基础对象上使用 transform.rotate(vector3.right) 或 left。
【讨论】: