游戏引擎之物理碰撞检测原理(AABB算法)

在游戏或者仿真虚拟环境中需要模拟现实中的物理碰撞,由于模型边缘复杂,在精确度不高的游戏中经常把它处理为正方体盒子,然后再检测物理碰撞,常用的算法为AABB碰撞盒算法

先遍历模型所有顶点遍历所有顶点,然后再不同方向上分别找出最大最小值来构成AABB盒子的最大最小顶点,模型就被处理成如下图的粗模型:

游戏引擎之物理碰撞检测原理(AABB算法)_第1张图片

下面给出一个简化的原理图

游戏引擎之物理碰撞检测原理(AABB算法)_第2张图片

如果物品没有发生碰撞的时候X轴上的顺序为X1,X2,X3,X4,但是X3和X2发生了交换,说明在X轴方向上面,物体坐标重合

只有当两个轴的顺序发生交换的时候,说明两个图形有相交的部分

同理,在三维空间下,三个轴都有相交的部分,说明两个盒子发生了穿透

你可能感兴趣的:(游戏引擎,虚幻,c++)