碰撞控制方法及装置制造方法及图纸

技术编号:14188391 阅读:43 留言:0更新日期:2016-12-15 00:05
本发明专利技术公开了一种碰撞控制方法及装置。其中,该方法包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取第一控制对象的本体信息,其中,本体信息包括第一本体信息和第二本体信息,第一本体信息用于表示第一控制对象的骨骼,第二本体信息用于表示第一控制对象中除骨骼外的、且被骨骼驱动的一组碰撞体;控制骨骼和一组碰撞体执行碰撞动作。本发明专利技术解决了采用现有的碰撞控制方法所导致的准确性较低的技术问题。

Collision control method and device

The invention discloses a collision control method and a device. Among them, the method comprises: obtaining a first control object collision action game in the client to be executed; the ontology acquisition information, the first control object of the ontology information comprises a first body and second body information information, the first body information is used to represent the first control object of the skeleton, a set of collision of second body information for said first control the object in addition to the bone, and bone is driven; bones and a set of collision collision enforcement action. The invention solves the technical problems of low accuracy caused by the existing collision control method.

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种碰撞控制方法及装置
技术介绍
在传统的3D角色扮演类游戏应用中,主要是利用角色之间的能量数值来判定胜负,而在3D动作类游戏应用中,则往往是依赖于角色之间战斗时产生的碰撞,通过精确的碰撞计算所产生的结果判定战斗的胜负。对于网络游戏来说,因为同时战斗的角色数量远多于单机游戏,同时又有网络传输导致的同步问题,所以网络游戏实现良好的战斗体验是非常困难的。此外,为了实现精确的碰撞判定,通常需要用专业的第三方引擎来实现碰撞判定计算,但是因为碰撞判定的运算量巨大,建模复杂,第三方引擎通常是在客户端上使用。但是这样做会存在两个问题:首先是由于网络延迟的存在,不同客户端计算的结果会有差异;其次,客户端如果被黑客恶意修改后,就可以进行作弊,破坏了游戏的公平性。因此,为了保证不同客户端之间感受的一致性,同时为了防止作弊,动作类网络游戏的碰撞判定通常是放在服务器端来进行计算的。但是,目前市场上服务器端常用的做法是简化3D建模,通常采用体素(Volume Pixel,Voxel)的建模方式,体素Voxel的概念是从二维空间的最小单位像素衍伸而来。像素用于描述二维的影像,是二维空间上的最小单位。而体素用于描述三维空间上的立体的对象,是三维空间分割上的最小单位。服务器端用体素Voxel来建立3D模型,虽然较为粗糙(由于在该3D模型中访问的最小单位是一个格子,而不是一个点,所以只能称为伪3D),但可以对3D世界中的物体进行近似的模拟。服务器端基于Voxel建立的3D模型的碰撞检测非常简单,结合图1所示(为了方便观察,用2D图像来表示,3D原理与2D相同)),其步骤包括:(1).对于每个物体(如图1斜纹阴影部分),建立一个长方体(如图1所示方框)包围;(2).对于每对物体,首先检测长方体是否相交,如果相交,则表示这两个物体已经很靠近或有重合(如图1点纹阴影部分)。(3)再检测在两个长方体相交部分中两个物体的体素是否相碰(如图1横纹阴影部分)。然而上述碰撞检测却存在如下缺点:(1).与2D的像素Pixel动画一样,3D的体素Voxel动画也是预先设定好的,这样一个角色只能做有限的动作,因此其运动轨迹是固定和规则的,很难模拟显示世界中真实动作的不规则运动轨迹。因此,通常只能检测到角色(或者武器等物体)在规则运动范围内的碰撞,很难对不规则运动轨迹进行模拟和计算,因此大大降低了玩家操作的体验,如图2所示。(2).与像素Pixel模型的基本单元是长方体类似,体素Voxel的基本单元是立方体。在服务器端为了减少计算量,立方体不可能做得太小,这样将导致很难做到精确的碰撞计算,如图3所示沿着斜向直线(图3所示带箭头的直线)运动,会与多个立方体相碰,但是图3斜线所标明的几个立方体已经与直线偏差得较远了,所以如果立方体较大的话,碰撞计算判定的效果也就非常不准确。也就是说,采用现有技术提供的基于体素Voxel来建立3D模型进行碰撞控制时,为了减少计算量,用于碰撞计算的立方体不可能做得太小,这样将难以保证碰撞控制过程的准确性。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种碰撞控制方法及装置,以至少解决采用现有的碰撞控制方法所导致的准确性较低的技术问题。根据本专利技术实施例的一个方面,提供了一种碰撞控制方法,包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取上述第一控制对象的本体信息,其中,上述本体信息包括第一本体信息和第二本体信息,上述第一本体信息用于表示上述第一控制对象的骨骼,上述第二本体信息用于表示上述第一控制对象中除上述骨骼外的、且被上述骨骼驱动的一组碰撞体;控制上述骨骼和上述一组碰撞体执行上述碰撞动作根据本专利技术实施例的另一方面,还提供了一种碰撞控制装置,包括:第一获取单元,用于获取游戏客户端中的第一控制对象所要执行的碰撞动作;第二获取单元,用于获取上述第一控制对象的本体信息,其中,上述本体信息包括第一本体信息和第二本体信息,上述第一本体信息用于表示上述第一控制对象的骨骼,上述第二本体信息用于表示上述第一控制对象中除上述骨骼外的、且被上述骨骼驱动的一组碰撞体;第一控制单元,用于控制上述骨骼和上述一组碰撞体执行上述碰撞动作。在本专利技术实施例中,服务器在获取到游戏客户端中的第一控制对象所要执行的碰撞动作后,通过获取该第一控制对象的本体信息,其中,本体信息包括用于表示第一控制对象的骨骼的第一本体信息,及用于表示第一控制对象中除骨骼外的、且被骨骼驱动的一组碰撞体的第二本体信息,以控制上述骨骼和一组碰撞体执行上述碰撞动作。也就是说,通过对游戏客户端中的第一控制对象进行简化,利用简化后与第一控制对象匹配的骨骼和一组碰撞体来执行碰撞动作,从而达到了减少在碰撞判定过程的计算量,提高计算的准确性的目的,以克服现有技术中基于体素建立的模型进行碰撞判定的过程中,难以在减少计算量的情况下保证碰撞判定的准确性的问题,进而实现提高对第一控制对象的碰撞控制的准确性的效果。此外,通过简化第一控制对象得到与第一控制对象匹配的骨骼和一组碰撞体,还将大大节省服务器对碰撞控制的处理开销,从而达到缩短处理时间,达到实时同步控制的目的,进而实现提高碰撞控制效率的效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据现有技术的一种碰撞控制方法的示意图;图2是根据现有技术的另一种碰撞控制方法的示意图;图3是根据现有技术的又一种碰撞控制方法的示意图;图4是根据本专利技术实施例的一种可选的碰撞控制方法的应用环境示意图;图5是根据本专利技术实施例的另一种可选的碰撞控制方法的应用环境示意图;图6是根据本专利技术实施例的一种可选的碰撞控制方法的流程图;图7是根据本专利技术实施例的一种可选的碰撞控制方法的示意图;图8是根据本专利技术实施例的另一种可选的碰撞控制方法的流程图;图9是根据本专利技术实施例的又一种可选的碰撞控制方法的流程示意图;图10是根据本专利技术实施例的又一种可选的碰撞控制方法的流程示意图;图11是根据本专利技术实施例的另一种可选的碰撞控制方法的示意图;图12是根据本专利技术实施例的一种可选的碰撞控制装置的示意图;图13是根据本专利技术实施例的一种可选的碰撞控制服务器的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地本文档来自技高网
...
碰撞控制方法及装置

【技术保护点】
一种碰撞控制方法,其特征在于,包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取所述第一控制对象的本体信息,其中,所述本体信息包括第一本体信息和第二本体信息,所述第一本体信息用于表示所述第一控制对象的骨骼,所述第二本体信息用于表示所述第一控制对象中除所述骨骼外的、且被所述骨骼驱动的一组碰撞体;控制所述骨骼和所述一组碰撞体执行所述碰撞动作。

【技术特征摘要】
1.一种碰撞控制方法,其特征在于,包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取所述第一控制对象的本体信息,其中,所述本体信息包括第一本体信息和第二本体信息,所述第一本体信息用于表示所述第一控制对象的骨骼,所述第二本体信息用于表示所述第一控制对象中除所述骨骼外的、且被所述骨骼驱动的一组碰撞体;控制所述骨骼和所述一组碰撞体执行所述碰撞动作。2.根据权利要求1所述的方法,其特征在于,所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作包括:根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画。3.根据权利要求2所述的方法,其特征在于,所述根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画包括:在所述动作类型指示为攻击类型时,则按照大于第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;在所述动作类型指示为非攻击类型时,则按照小于等于所述第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画。4.根据权利要求3所述的方法,其特征在于,所述在所述动作类型指示为攻击类型时,则按照大于第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画包括:在处于所述攻击类型所指示的攻击的攻击过程中,则按照大于第二预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;在处于所述攻击的攻击准备过程中或攻击防御过程中,则按照小于等于所述第二预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;其中,所述第二预定区域大于所述第一预定阈值。5.根据权利要求2所述的方法,其特征在于,所述根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画包括:每隔与所述预定频率对应的时间间隔,获取所述第一控制对象执行所述碰撞动画的执行进度;计算在所述执行进度所述骨骼的位置;根据所述骨骼的位置更新所述一组碰撞体在所述碰撞动画中的位置。6.根据权利要求1所述的方法,其特征在于,在所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作之后,还包括:检测所述第一控制对象是否与第二控制对象发生碰撞;在检测出所述第一控制对象与所述第二控制对象发生碰撞后,获取所述碰撞的动作状态;根据所述碰撞的动作状态获取与所述第一控制对象所要执行的所述碰撞动作匹配的碰撞信息。7.根据权利要求6所述的方法,其特征在于,所述根据所述碰撞的动作状态获取与所述第一控制对象所要执行的所述碰撞动作匹配的碰撞信息包括:在所述动作状态指示处于战斗状态时,则获取与所述第一控制对象所要执行的所述碰撞动作匹配的所述碰撞信息;在所述动作状态指示处于非战斗状态时,则忽略所述第一控制对象所要执行的所述碰撞动作的所述碰撞信息。8.根据权利要求6所述的方法,其特征在于,所述检测所述第一控制对象是否与第二控制对象发生碰撞包括:检测所述第一控制对象所在第一长方体是否与所述第二控制对象所在第二长方体相交;在检测出所述第一控制对象所在第一长方体与所述第二控制对象所在第二长方体相交后,检测所述第一控制对象所在第一凸包体是否与所述第二控制对象所在第二凸包体相交,其中,所述第一凸包体的体积小于所述第一长方体的体积,所述第一凸包体的体积大于所述第一控制对象中的所述一组碰撞体的体积,所述第二凸包体的体积小于所述第二长方体的体积,所述第二凸包体的体积大于所述第二控制对象中的一组碰撞体的体积;在检测出所述第一控制对象所在所述第一凸包体与所述第二控制对象所在所述第二凸包体相交后,检测所述第一控制对象中的所述一组碰撞体是否与所述第二控制对象中的所述一组碰撞体相交;在检测出检测所述第一控制对象中的所述一组碰撞体与所述第二控制对象中的所述一组碰撞体相交后,判定所述第一控制对象与所述第二控制对象发生所述碰撞。9.根据权利要求1所述的方法,其特征在于,在所述获取所述第一控制对象的本体信息之后,还包括:根据所述第一本体信息构建所述骨骼,其中,所述骨骼包括:头部骨骼、躯干骨骼、下肢骨骼;根据所述第二本体信息构建所述一组碰撞体,其中,所述一组碰撞体包括以下至少之一:躯体碰撞体、装备碰撞体,所述躯体碰撞体包括:头部碰撞体、躯干碰撞体、下肢碰撞体。10.根据权利要求1所述的方法,其特征在于,在所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作之后,还包括:控制所述游戏客户端按照服务器的时间线展示所述第一控制对象执行所述碰撞动作。11.根据权利要求10所述的方法,其特征在于,所述控制所述游戏客户端按照服务器的时间线展示所述第一控制对象执行所述碰撞动作包括:通知所述游戏客户端缓存预定时间,以使所述游戏客户端在所述预定时间后按照所述服务器的时间线同步展示所述碰撞动作。12.一种碰撞控制装置,其...

【专利技术属性】
技术研发人员:王竞原
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1