2D游戏中常见的碰撞检测处理(仅碰撞体)【持续更新】

本文介绍了2D游戏中基本的碰撞检测方法,包括圆形碰撞体、轴对齐包围盒(AABB)、逐像素碰撞检测和方向包围盒(OBB)。详细阐述了各类碰撞体的原理和应用场景,探讨了其优缺点以及在游戏开发中的应用。
摘要由CSDN通过智能技术生成

 


写在前面

嗯...打算开始每天写点啥了,不知道能坚持多久。

准备以一周为单位来进行更新,周一~周三写一些图形方面的内容,四~六是和图形没有什么太大关联的内容(意会就好),周日作为一个更新重点试着写一些乱七八糟的东西。

那么就这样开始更新了w~

 


在现今的游戏中,碰撞检测可以说是一个基础的不能再基础的技术。它关乎能否正确判断玩家的攻击有没有击中目标,判断玩家有没有踩在地板上,判断某两个物体有没有碰撞在一起,进而衍生出其它的各种行为。

而碰撞检测是建立在碰撞体上的。碰撞体是对一个物体“边界”的确切描述,它描述了每个需要进行碰撞检测的物体的边界,并依靠数学方法判断这些边界是否相交,进而产生碰撞检测的结果。

(“老鹰用爪子抓到了兔子”)

如上图所示,代表老鹰爪子的两个蓝色圆和代表兔子的淡黄色圆“相交”了,由此我们判定鹰抓到了兔子,进行一系列的后续操作。在这个过程中,我们不在意鹰的爪子具体是什么样子的,而只在意它的边界在哪里。在这个例子中,边界就是一个单纯的圆形。

在电子游戏发展早期,碰撞体和实际的轮廓之间还存在着巨大的差异,只是能够概括其大概的边界而已。尽管现在我们有许多丰富的手段来让我们的碰撞体尽可能的接近真实的外形,但多数情况下并不会这么做——归根结底,这么做没给游戏的真实程度带来什么太大的提升,反而还糟蹋了游戏的运行速度。

那让我们从一个最基本的开始吧。

1)圆形碰撞体

圆形碰撞体可以说是最简单的一种碰撞体,其计算速度也是最快的,算法也非常容易理解。

回想一下初中数学中关于两圆“相交”的定义:两圆圆心的距离大于半径和,我们就可以按照它来判断两圆是否相交。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值