优化冲突检测的常用方法是使用空间分区对对象进行分类/管理。
这种方法的总体思路是,您要构建一棵代表空间的树,然后根据对象的位置将其放入该树中。计算碰撞时,将遍历树。这样,您将需要执行的计算比使用蛮力方法少得多,因为您将忽略分支中除遍历对象之外的所有对象。Minecraft和类似的应用可能使用八叉树进行碰撞(也可能用于渲染)。
最常见的空间分区结构是BSP树,kd树(BSP
树的一种特殊类型)。比较简单的方法是在开始时使用统一的空间分区-
将空间分成与轴对齐的两半。
我发现的关于碰撞的最佳资源是本书。它应阐明您对该主题的所有问题。
那是您想做对的事。如果要快速进行操作,则可以对角色周围的颜色缓冲区进行采样,或者仅在移动方向上进行采样,以确定障碍物是否在附近。



