[发明专利]一种三维碰撞检测方法无效
申请号: | 201210049318.X | 申请日: | 2012-02-29 |
公开(公告)号: | CN102663825A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 曾金龙;林谋广;李俊 | 申请(专利权)人: | 中山大学 |
主分类号: | G06T19/00 | 分类号: | G06T19/00;G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510006 广东省广州市番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 三维 碰撞 检测 方法 | ||
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种三维碰撞检测方法。
背景技术
碰撞检测是计算机游戏中需要解决的问题之一,它的核心任务是检测游戏场景中两个或多个物体彼此之间是否发生接触或进入。当前,三维几何模型越来越复杂,画面效果越来越逼真,同时人们对交互的实时性、场景的真实性的期望越来越高,这些都对碰撞检测方法提出了较高的要求。
近二十多年来,研究人员在碰撞检测领域中做了相当多有意的工作,提出了一些较成熟的算法,并开发了相应的软件。研究人员根据不同的研究对象,采用了不同的研究方法,由此提出多种多样的碰撞检测算法。下面先对碰撞检测算法从时间和空间的角度对它们做一个划分:(1)基于时间域,可以分为离散和连续的碰撞检测算法。离散碰撞检测算法是指在每一离散的时间点上进行碰撞检测,其优势在于检测速度上,但可能会漏测本该发生的碰撞或者发生物体互相进入的情形;连续碰撞检测算法是指在连续的时间间隔内进行碰撞检测,它的正确性有保证,但计算开销过大,容易在速度方面拖后腿,致使实时性得不到很好满足。(2)基于空间域,可以分为基于物体空间和图像空间的碰撞检测算法。基于物体空间的碰撞检测算法又可以进一步划分为采用一般表示模型的碰撞检测算法和采用空间结构的碰撞检测算法,其中采用空间结构的碰撞检测算法又分空间剖分法(space decomposition)和层次包围体树法(hierarchical bounding volume trees),这两类方法都是通过尽可能减少进行精确求交的物体对或基本几何元素的个数来提高算法效率的。不同的是,空间剖分法(如BSP树)采用对整个场景的层次剖分技术来实现,而层次包围体树法则是对场景中每个物体建构合理的层次包围体树来实现。
目前现有的专利文献中关于碰撞检测方法很多,其中一种在服务器端实现三维游戏碰撞检测的方法,主要包括以下步骤:在三维游戏场景中的物体外面预置一个包围体,所述包围体包围该物体或者物体的主要部分,而且包围体采用的是球状包围体;在游戏玩家的外面预置一个球状包围体,所述包围体包围玩家或者玩家的主要部分,表示包围体的面的数值存储于游戏地图文件中;当玩家移动要与物体进行碰撞时,对玩家包围体的面与物体的包围体的面进行碰撞检测。具体参见图1。
针对目前的现有技术,其存在的缺点是:采用包围球来作为物体和玩家的包围体,适合于长宽高相差不多的物体,而对与长条形的物体,包围球的紧密型不好,这会让游戏不逼真,效果很差,这会出现实际没有碰撞而程序却检测到了碰撞的情况。碰撞检测算法的并行性不足,没有充分挖掘检测算法中可以采用流水线技术进行加速处理。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种三维碰撞检测方法。
一种三维碰撞检测方法,需要先建立场景的一个数据表示结构,即场景树;场景树是由平衡包围树来实现,对游戏场景中的所有物体进行自上而下的构建AABB平衡包围树;包围树中每一个结点是一个包围盒;其特征在于,a.首先建立模型的包围盒,作为包围盒树的根结点;b.其次按照一定的规则将模型分成两个或者多个部分,建立每个部分的包围盒和相应的结点,将这些新结点作为根结点的子结点;然后按照步骤b的方法分裂与每个子结点对应的模型,递归地建立包围盒树。
优选的,本发明采用分治策略自上而下的方法构建游戏场景的包围盒树,进行碰撞检测,引进流水线技术对检测进行加速。
在流水线技术中,问题被分成一系列必须是一个接一个完成的任务,每个任务由独立的进程或处理器执行,采用下列3种计算类型,用流水线方法进行加速:
(1)执行整个问题的多个实例;
(2)必须处理一系列的数据项,而每个数据项需要多次操作;
(3)进程在完成自己的所有内部操作之前能够把下一个进程启动所需的信息向前传送;
将上述三种情况分别定义为类型1、类型2、类型3。
本发明采用AABB平衡包围树的构建过程如下:
(1)对每个物体建立其整体的包围盒,将其作为该物体平衡包围盒树的根结点,此结点包含了组成此物体的所有多边形;
(2)由于使用的是AABB包围盒,采用基于分裂平面的方法将根结点的包围盒划分成左右两个子结点;
分裂平面的选择是使包围盒树平衡的关键,首先确定分裂轴,使用最长轴方法,即选择的方向轴是包围盒在此方向上最长的;而后确定分裂点,选择根结点集合中所有基本几何元素的中心点在分裂轴上的投影,以最小点和最大点为两个中心点,按距离将所有投影点分为两组;将距两中心点等距的点归入含投影点少的一组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210049318.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种蓝盖快定试剂瓶
- 下一篇:非水电解质电池及电池包