Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 车轮碰撞器与车轮游戏对象具有不同的旋转_Unity3d_Collider_Racing - Fatal编程技术网

Unity3d 车轮碰撞器与车轮游戏对象具有不同的旋转

Unity3d 车轮碰撞器与车轮游戏对象具有不同的旋转,unity3d,collider,racing,Unity3d,Collider,Racing,我想在我的车轮上加一个车轮碰撞器,但它可以旋转90度 这是图像: 如何将对撞机调整到车轮上?为了进一步参考,我写下我的评论作为答案 我能想到的最简单的解决办法是;添加一个空的游戏对象。将车轮碰撞器连接到空的游戏对象。并将空的gameObject子对象放到汽车的方向盘上。有了这个,你可以旋转空的游戏对象,这样你的碰撞器就可以旋转了@程序员还分享了一个关于WheelCollider教程的链接。可以找到您可以做的最好的事情之一是,在导入游戏对象之前,确保游戏对象是Y向前的。您可以在导出时在blend

我想在我的车轮上加一个车轮碰撞器,但它可以旋转90度

这是图像:


如何将对撞机调整到车轮上?

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


我能想到的最简单的解决办法是;添加一个空的
游戏对象
。将车轮碰撞器连接到空的
游戏对象
。并将空的
gameObject
子对象放到汽车的方向盘上。有了这个,你可以旋转空的
游戏对象
,这样你的碰撞器就可以旋转了@程序员还分享了一个关于WheelCollider教程的链接。可以找到

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

我也遇到了同样的问题。但是,在Unity的现代版本(2019.4)中,仅仅旋转一个空的父对象是不起作用的。必须旋转具有车轮碰撞器所附着刚体的对象

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

根据这篇文章:

车轮碰撞器始终指向“前进”和“下降”方向,即它们所连接的刚体。steerAngle值相对于刚体的前进方向

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

在我的例子中,层次结构看起来是这样的:

  • 主景
    • 卡鲁特
      • 卡莫德尔
      • 车轮对撞机
        • 车轮
        • 车轮高度层
        • 后轮
        • 车轮
卡鲁特车上有一个刚体。当我旋转它时,它会旋转车轮碰撞器。这也会旋转汽车模型。这不好。所以我不得不:

  • 分离CarModel和WheelCollider(使其成为MainScene的孩子)
  • 在Y轴上将CarRoot旋转90度(使其X轴与车轮碰撞器的X轴对齐)
  • 让CarModel和WheelCollimers再次成为CarRoot的孩子
  • 那是为了我


    顺便说一下,如果这是一个坏死肿块,我很抱歉。但这仍然没有答案。

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

    我能想到的最简单的解决方案是;添加一个空的游戏对象。将轮子碰撞器连接到空游戏对象。并将空的游戏对象子对象放到你的汽车轮子上。@EmreE你应该把它作为一个答案。它们都需要位于子对象下,然后手动旋转。有更多关于这个的信息。不工作!旋转空游戏对象,并在y轴上连接轮子碰撞器。这很难做到吗?@MdShoebhawlader:你能分享一下这个问题是如何为你解决的吗。