最近在用unity做一个机械虚拟装配的应用,里面有很多不太规则的零件要做碰撞检测,研究了一段时间发现unity中的MeshColider效果还是不太好,查了下知网发现很多人都是用层次包围盒算法来做出比较贴合物体的包围盒,不知道这种方法到底能不能在unity中通过脚本来实现,可否有指导下给个思路,最好是能提供个范例代码让我研究一下,感激不尽!!
可以用八叉树做空间的层次包围盒
具体原理就是在3D空间中进行划分
当物体进入到一个空间节点的时候,检查在其中的零件的碰撞关系,然后再查看子节点空间,一直查找到没有叶子节点为止
这个算法可以减少,搜索空间中的物体碰撞的消耗,因为你有很多零散的零件,只需要查找空间中的一小部分就可以了
如果你是说要贴合模型的话,因为meshcolider比较消耗性能,可以使用AABB包围盒,或者OBB,都是有算法可以计算的,可以去找