在3D游戏开发中碰撞检测普遍采用的算法是轴对齐矩形边界框(Axially Aligned Bounding Box, AABB)包装盒方法,其基本思想是用一个立方体或者球体完全包裹住3D物体对象,然后根据包装盒的距离...性质三:当射线与这三个候选面中的一个发生交叉之后,射线Ray的原点到这个面的距离要比到其他几个面的距离要长。...)当交叉后,可以看出t2>t1。
...根据性质二判断,即射线与AABB碰撞的条件是max(t1,t2,t3)<=min(t4,t5,t6)。
----
碰撞检测算法公式推导
求取t值的公式推导如下:
?...("TDPoint", ["x", "y","z"])
# AABB有最大和最小点组成,数据结构为{max=TDPoint,min=TDPoint}
# Ray由原点和方向组成,其中方向矢量为1,数据结构为