1

问题:一些刚体对象上的网格对撞机正在穿过其他对象上的对撞机。

我尝试过的事情:

假设 A 是GameObject带有附加物的 a,而 B 是带有对撞机RigidBody的法线。GameObject

  • 给 A 一个凸网格碰撞器
  • 给 A 一个非凸网格碰撞器
  • 给 B 一个凸网格碰撞器
  • 给 B 一个非凸网格碰撞器
  • 给 B 一个盒子对撞机
  • 给 B 一个凸网格和盒子碰撞器
  • 给 B 一个非凸网格和盒子碰撞器
  • 调整刚体的重量

我已经在 A 和 B 的所有组合中尝试了所有这些。

此外,

  • 碰撞器未标记为触发器
  • 所有对象都在默认层 (0)
  • 检查 isKinematic;这样做似乎使重力停止影响物体,所以我把它留作假。

约束:我希望 A 使用网格碰撞器,因为所涉及的大多数对象都比较复杂,并且将其他碰撞器安装到它们上需要一段时间。

奇怪的行为:我有一些具有刚体和凸网格碰撞器的对象,其中碰撞与非凸网格碰撞器一起工作正常。这与其他游戏对象不一致。这些对象具有所有相同的设置。

如果相关,我正在使用统一版本 2019.3.11f1。

使用的对象来自这个包。具体来说,抽屉上带有刚体的文件柜工作正常。桌子、办公椅、笔和打开的笔记本电脑都从“地板”(上面测试过所有碰撞器的立方体)掉了下来。

4

2 回答 2

1

您是否对正在通过其他对撞机的刚体对象进行了“isKinematic”检查?如果是这样,请取消选中它,以便外力影响它。

编辑如果它们与其他网格碰撞器碰撞,您还需要单击网格碰撞器上的凸面,凸面网格碰撞器仅限于 255 个三角形,未通过的对象在几何中是否有超过 255 个三角形?

于 2020-05-06T02:22:31.250 回答
0

我假设您已将碰撞检测设置为DiscreteIn your gameObject's RigidBody,如果是这样,请确保选择Collision DetectionIn Continuousyour gameObject's RigidBody

这不起作用的原因

  1. 您正在尝试使用具有(速度>您的计算机的帧速度)的碰撞,因此,帧没有正确捕捉对撞机,有些时间捕捉,有些时间无法捕捉。

  2. 您正在使用 tranform.translate 或 position 等移动游戏对象。如果是这样,请确保使用Rigidbody Related定位、旋转功能。

第一个问题的解决方案图片

于 2020-06-05T14:48:51.550 回答