1.花花草草,灌木丛,片状树叶,布幅等等不作碰撞检测(实际上是由模型的数据定义,模型若不定义Polygon soup则该模型无碰撞检测).
2.可移动的玩家,NPC,Mobs之间不作碰撞检测(出于游戏设计和服务器性能考虑).
3.地形系统上的碰撞检测:可基于高度图实现.人站立在地形三角片的插值高度点上,若行走坡度太陡(从一个三角片到另一个相邻的三角片)则禁止行走.由于地形本质是基于等分的2维网格,很容易从人的平面位置算出所处网格位置,从而得到该网格处的地形高度,进而精确地计算所站立的三角片的点高度.
4.野外场景: 由角色所处的512*512的MapArea始,采用4叉树包围球/包围盒层次裁减该MapArea内的物体.
5.室内场景: 由角色所处的BSP节点开始,采用BSP层次裁减该Portal内的物体.(室内场景处理技术在Camac手里基本已成定型).
6.角色周围可能的碰撞物体: 先作OBB包围盒粗略检测,然后是 Polygon soup 精确的三角片对人物圆柱体碰撞检测,这样角色才可以站在凹凸不平的投石车上,可以走在桥面上,可以跳到船舱面上,可以进入类电梯的内凹物体(游戏编程精粹1有文讲述三角片碰撞).
7.模型的Polygon soup是简化的物理模型形状.
8.AI寻路基于地形三角片?方形网格!?BSP的portal?
9.此间台风大作,呼啸肆意,书以记之.