首页 > 解决方案 > 自 Unity 5 起不再支持如何处理具有非运动刚体的非凸 MeshCollider?

问题描述

我正在使用 Unity 2019.4.2f1 个人版

我遇到了异常:

自 Unity 5 以来,不再支持具有非运动刚体的非凸网格碰撞体。如果要使用非凸网格,请制作刚体运动学或移除刚体组件。场景层次路径

我有一个父游戏对象,其中包含一些组件,包括 Rigidbody :

刚体

然后有这个父级的一些子级,在里面的某个地方有这个子级名称 NAVI,NAVI 的所有 polySurface34 子级都有一个未选中凸面的网格碰撞器选项。

多曲面34

我知道如果我取消选中并禁用所有 polySurface34 对象上的 Mesh Collider,它将使错误异常消失,但我不确定这是否是正确的解决方案。

标签: unity3d

解决方案


正如问题所说,您不能再将非凸网格碰撞器与非运动刚体一起使用。

AFAIK 这至少可以通过以下两种方式解决:

  1. 使用凸面网格对撞机,虽然准确度会降低,但确实有效
  2. 使用多个原始对撞机(这通常是玩家/类人生物的最佳解决方案),因为它很高效,您可以将对撞机放置在装备本身上,它们将随着您的动画移动

附件是《守望先锋》中一个角色的命中框的可视化。如您所见,他们使用多个球体和胶囊碰撞器来逼近角色(请注意,它也比实际模型略大,这是一种游戏设计选择,可以让击中角色更容易/更难)。

另请注意,中间的红色胶囊用于非常有效地识别关键爆头;这是使用多个对撞机与角色的网格对撞机相比的另一个优势

在此处输入图像描述


推荐阅读