引擎的碰撞检测

图1

图2

图3

碰撞检测是游戏引擎中最基本的功能,我的引擎中采用的方法是将场景分割为若干个小的方形格子,每个格子分为一个或多个的层,每层表示一个容纳空间,从而近似表示空间的障碍情况,编辑器中生成的碰撞格子如上图(图1是原始场景,图2是生成的碰撞格,图3是场景右边屋内的碰撞格)
其中格子分3种颜色,蓝色表示当前格子与周围的格子能够联通,黄色表示周围存在碰撞格,红色格子表示此格子不能稳定站立物件会下滑或下坠。
在判断碰撞时会判断两个条件:a目标格属于红色格,b目标格与当前格的高度差大于某已设定值。

这种3D碰撞方法在网络游戏中有一定的应用,因为能够实现3D的A星寻路算法

原文地址:https://www.cnblogs.com/crown20/p/2212597.html