Unity3D 网格碰撞器Mesh Collider之间和原型碰撞器(Box Collider等)的碰撞检测

There are some limitations when using the Mesh Collider. Usually, two Mesh Colliders cannot collide with each other. All Mesh Colliders can collide with any primitive Collider. If your mesh is marked as Convex, then it can collide with other Mesh Colliders.
使用网格碰撞器有一些限制条件。通常,两个网格碰撞器之间不会发生碰撞。所有的网格碰撞器可以和任何原型碰撞器碰撞。如果网格标记为凸起的(Convex),那么就可以和其他网格碰撞器碰撞。

举个例子,这是一张模型枪(Mesh Collider),一个模型人物,一个Cube(Box Collider)gameObject.

这里写图片描述
首先我们要导入模型的网格Mesh文件,对于自定义的网格,我们需要在FBX文件的模型这里写图片描述]![这里写图片描述中勾选Generate Colliders选项,然后即会自动在预支体或游戏物体中生成一个Mesh Collider 组件,并添加了Mesh,若没有生成组件,可自行导入。
这个人物被添加了刚体组件(无动力学),但是她不会掉下去,细心的你会发现Plain其实也是一个网格碰撞器并且没有勾选凸起(Convex),那么我们应该在人物模型中勾选这个字段,这里写图片描述,所以我们得出的结论是两个网格碰撞器实现的碰撞条件是在具有刚体的基础上,至少一方需勾选convex。枪与人的模型也是类似,也可以使用public void OnCollisionEnter(Collision collision) 来测试碰撞检测.

猜你喜欢

转载自blog.csdn.net/wzjssssssssss/article/details/54347343