我有一艘船,那是Rigidbody. 船上有一个MeshCollider。这个对撞机被设置为凸的。
我已经有了以编程方式创建的基础Mesh。那个网格上有一个MeshCollider。这个对撞机没有设置为凸的。
大多数情况下,这是有效的。我不会从地板上摔下来。大约 40% 的时间我可以开车穿过墙壁。
为了解决这个问题,我为每个墙部分添加了一个GameObject标记为静态的子项。这GameObject有一个BoxCollider。我将对撞机的大小设置为比墙的截面大 0.1。这意味着对撞机重叠,并且不应该有可以掉下来的间隙。
正如你在下图中看到的那样,我仍然可以开车穿过墙壁。
我应该怎么做才能不能开车穿过墙壁?
我试过了:
也将 a 添加
Rigidbody到地面,标记为运动学。为此,我将MeshColliderall 一起删除并使用了 allBoxColliders。我不得不使用所有BoxCollider的 s,因为你可以有一个凸刚体。这并没有解决问题。我从播放器中删除
MeshCollider并使用单个BoxCollider. 此时MeshCollider场景中不再有任何 s。这并没有解决问题。两者
Rigidbody都设置为连续碰撞检测。
我想知道 UNity3d 物理系统是否可以正常工作:/
