本章节介绍如何检测两个对象之间的碰撞。将会介绍如何使用对象的包围体而非对象本身来做碰撞检测,因为这会比检测三角形与三角形的碰撞要更为简单快速。
本章会构建一座由瓶子组成的金字塔,当鼠标点击屏幕时会扔出一个瓶子,若扔出的瓶子碰撞到金字塔上一个或更多瓶子时时,则扔出去的瓶子和被碰撞的瓶子都会消失,同时增加分数。
简介
本章是通过包围体来做两个对象之间的碰撞检测,这里会在包围球和包围盒碰撞测试之间切换。包围盒碰撞测试针对细长形对象更为准确。若是测试两个没有任何凸起的对象之间的碰撞,包围球会更为准确。这两种方式都会介绍,但是大多时候使用包围盒方式多一点。
包围球碰撞测试
可通过对比两个包围球球心距与它们半径和来检测碰撞,若球心距小于半径和,则产生碰撞,反之,则无碰撞。
轴对齐包围盒碰撞测试(AABB)
两个盒子的面和世界空间的轴对齐为轴对齐包围盒(AABB)。AABB的碰撞测试比定向包围盒(O