前言
在大型游戏中在Unity使用物理引擎是十分消耗性能的,特别是在移动端设备中,如果过多的使用物理引擎来进行行为判断,对设备性能消耗是很厉害的,一般情况我们在Unity游戏开发中,会通过算法来进行技能伤害判断,一个较为常见的伤害判断——通过矩形范围敌判断敌人是否在攻击范围之内。
Unity物理引擎的底层实现原理
在2D游戏中,物理引擎判断是否在攻击范围原理是AABB包围盒,
一个2D矩形,中心点到矩形包围边缘最长的距离是对角线, 两个中心点的位置相减获取相对距离L,并与两个中心点到举行包围盒的对角线距离相加,获取最长相交距离a,获取最短相交距离b,通过判断距离向量来确定是否技能范围命中敌人。
在3D游戏中,物理引擎的的判断原理是八象限包围盒,在2DAABB包围盒的基础上进行延伸,