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原 ...
【技术保护点】
一种碰撞控制方法,其特征在于,包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取所述第一控制对象的本体信息,其中,所述本体信息包括第一本体信息和第二本体信息,所述第一本体信息用于表示所述第一控制对象的骨骼,所述第二本体信息用于表示所述第一控制对象中除所述骨骼外的、且被所述骨骼驱动的一组碰撞体;控制所述骨骼和所述一组碰撞体执行所述碰撞动作。
【技术特征摘要】
1.一种碰撞控制方法,其特征在于,包括:获取游戏客户端中的第一控制对象所要执行的碰撞动作;获取所述第一控制对象的本体信息,其中,所述本体信息包括第一本体信息和第二本体信息,所述第一本体信息用于表示所述第一控制对象的骨骼,所述第二本体信息用于表示所述第一控制对象中除所述骨骼外的、且被所述骨骼驱动的一组碰撞体;控制所述骨骼和所述一组碰撞体执行所述碰撞动作。2.根据权利要求1所述的方法,其特征在于,所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作包括:根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画。3.根据权利要求2所述的方法,其特征在于,所述根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画包括:在所述动作类型指示为攻击类型时,则按照大于第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;在所述动作类型指示为非攻击类型时,则按照小于等于所述第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画。4.根据权利要求3所述的方法,其特征在于,所述在所述动作类型指示为攻击类型时,则按照大于第一预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画包括:在处于所述攻击类型所指示的攻击的攻击过程中,则按照大于第二预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;在处于所述攻击的攻击准备过程中或攻击防御过程中,则按照小于等于所述第二预定阈值的频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行所述碰撞动画;其中,所述第二预定区域大于所述第一预定阈值。5.根据权利要求2所述的方法,其特征在于,所述根据所述碰撞动作的动作类型按照预定频率更新所述第一控制对象的所述骨骼和所述一组碰撞体执行与所述碰撞动作匹配的碰撞动画包括:每隔与所述预定频率对应的时间间隔,获取所述第一控制对象执行所述碰撞动画的执行进度;计算在所述执行进度所述骨骼的位置;根据所述骨骼的位置更新所述一组碰撞体在所述碰撞动画中的位置。6.根据权利要求1所述的方法,其特征在于,在所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作之后,还包括:检测所述第一控制对象是否与第二控制对象发生碰撞;在检测出所述第一控制对象与所述第二控制对象发生碰撞后,获取所述碰撞的动作状态;根据所述碰撞的动作状态获取与所述第一控制对象所要执行的所述碰撞动作匹配的碰撞信息。7.根据权利要求6所述的方法,其特征在于,所述根据所述碰撞的动作状态获取与所述第一控制对象所要执行的所述碰撞动作匹配的碰撞信息包括:在所述动作状态指示处于战斗状态时,则获取与所述第一控制对象所要执行的所述碰撞动作匹配的所述碰撞信息;在所述动作状态指示处于非战斗状态时,则忽略所述第一控制对象所要执行的所述碰撞动作的所述碰撞信息。8.根据权利要求6所述的方法,其特征在于,所述检测所述第一控制对象是否与第二控制对象发生碰撞包括:检测所述第一控制对象所在第一长方体是否与所述第二控制对象所在第二长方体相交;在检测出所述第一控制对象所在第一长方体与所述第二控制对象所在第二长方体相交后,检测所述第一控制对象所在第一凸包体是否与所述第二控制对象所在第二凸包体相交,其中,所述第一凸包体的体积小于所述第一长方体的体积,所述第一凸包体的体积大于所述第一控制对象中的所述一组碰撞体的体积,所述第二凸包体的体积小于所述第二长方体的体积,所述第二凸包体的体积大于所述第二控制对象中的一组碰撞体的体积;在检测出所述第一控制对象所在所述第一凸包体与所述第二控制对象所在所述第二凸包体相交后,检测所述第一控制对象中的所述一组碰撞体是否与所述第二控制对象中的所述一组碰撞体相交;在检测出检测所述第一控制对象中的所述一组碰撞体与所述第二控制对象中的所述一组碰撞体相交后,判定所述第一控制对象与所述第二控制对象发生所述碰撞。9.根据权利要求1所述的方法,其特征在于,在所述获取所述第一控制对象的本体信息之后,还包括:根据所述第一本体信息构建所述骨骼,其中,所述骨骼包括:头部骨骼、躯干骨骼、下肢骨骼;根据所述第二本体信息构建所述一组碰撞体,其中,所述一组碰撞体包括以下至少之一:躯体碰撞体、装备碰撞体,所述躯体碰撞体包括:头部碰撞体、躯干碰撞体、下肢碰撞体。10.根据权利要求1所述的方法,其特征在于,在所述控制所述骨骼和所述一组碰撞体执行所述碰撞动作之后,还包括:控制所述游戏客户端按照服务器的时间线展示所述第一控制对象执行所述碰撞动作。11.根据权利要求10所述的方法,其特征在于,所述控制所述游戏客户端按照服务器的时间线展示所述第一控制对象执行所述碰撞动作包括:通知所述游戏客户端缓存预定时间,以使所述游戏客户端在所述预定时间后按照所述服务器的时间线同步展示所述碰撞动作。12.一种碰撞控制装置,其...
【专利技术属性】
技术研发人员:王竞原,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。