碰撞遍历的优化
1,逐单位两两检测,时间复杂度O(N^2),只适用于少量单位检测,性能随着单位数量增加呈二次曲线下降
2,分阶段检测,broad phase和narrow phase,即粗筛和细筛
3,粗筛使用aabb检测,不旋转,简单的整数加减,性能很高。快速筛选出可能碰撞单位进行细筛
4,narrow phase,基本形状分为圆,矩形,多边形三种,碰撞检测见另文“碰撞检测相关”
5,broad phase使用的算法决定了整个碰撞遍历的性能
6,broad phase阶段使用四叉树
优点:实现简单
缺点:检测单位集中于parent node区域时,检测数量剧增,导致表现不稳定
7,broad phase阶段使用aabb-tree
基于二叉树,查找,更新效率都比较理想。实测500单位随机分布碰撞检测,手机帧率可达60