首先还是简单先说下网格碰撞器,网格碰撞器的碰撞判断处理效果肯定是最好的,但同时也是最费资源的,不管是你买的模型还是你项目组美工给你的模型,导入你unity中时应该同时会导入你的网格模型,一般凡是塔楼或者楼梯等等会允许玩家与之互动的模型都会直接用mesh网格碰撞体,这个会严格与你的模型吻合,从而进行交互。
但是大部分会为了节省资源从而让美工出一份外观大致一致但是线要少数倍甚至数十倍的网格模型,从而既能达到碰撞,又能节省资源。
但是也存在某些地形是用不了也不需要网格碰撞器的,例如湖水,悬崖,如果你没有设置游泳或者滑翔伞的话你肯定不希望玩家跳下去,这时候肯定大部分人就用空物体,然后添加盒碰撞体或者胶囊碰撞体去解决问题。
很多时候明明碰撞体都加上了,但玩家仍然很轻松就穿了过去,这时就要预留碰撞体,把碰撞体的宽度拉长,例如湖的四周,湖面上方就可以用来拉长你的碰撞体,否则当你的碰撞体宽度过小而主角或npc速度过快这一帧的碰撞检测还没来及就穿过去了。