基于云计算的物理引擎数据处理系统技术方案

技术编号:29984568 阅读:25 留言:0更新日期:2021-09-08 10:23
本发明专利技术涉及一种基于云计算的物理引擎数据处理系统,包括云服务器,所述云服务器包括数据库、处理器和存储有计算机程序的存储器,所述数据库中包括预设的物理对象信息列表,所述物理对象信息列表包括对象id、对象形态、对象类型标识和碰撞分组字符串字段,其中,所述对象形态包括长方体、球体、胶囊体或平面,所述对象类型标识为“1”或“0”,“1”表示公有物理对象,“0”表示私有物理对象;所述碰撞分组字符串为预设M位的二进制字符串。本发明专利技术提高了物理引擎的数据处理效率和精确度。引擎的数据处理效率和精确度。引擎的数据处理效率和精确度。

【技术实现步骤摘要】
基于云计算的物理引擎数据处理系统


[0001]本专利技术涉及数据处理
,尤其涉及一种基于云计算的物理引擎数据处理系统。

技术介绍

[0002]现有的云游戏采用虚拟机技术,在云服务器运行多个虚拟机,在各个虚拟机里启动云游戏,每一用户的物理对象数据维护一个进程。当物理引擎对物理对象的数据处理的过程中,需要进行多进程访问,并将每一用户将场景中的所有物理对象数据计算一遍,而同一场景中的公共物理对象数据是相同的,针对每一用户对公共物理对象数据进行一次计算需要耗费大量的CPU和GPU计算资源,且计算后还需要针对场景中的不同用户进行数据同步处理,数据同步过程的误差也会影响到物理引擎处理数据的精确度,由此可知,如何提高物理引擎的数据处理效率和精确度成为亟待解决的技术问题。

技术实现思路

[0003]本专利技术目的在于,提供一种基于云计算的物理引擎数据处理系统,提高了物理引擎的数据处理效率和精确度。
[0004]根据本专利技术一方面,提供了一种基于云计算的物理引擎数据处理系统,包括云服务器,所述云服务器包括数据库、处理器和存储有计算机程序的存储器,所述数据库中包括预设的物理对象信息列表,所述物理对象信息列表包括对象id、对象形态、对象类型标识和碰撞分组字符串字段,其中,所述对象形态包括长方体、球体、胶囊体或平面,所述对象类型标识为“1”或“0”,
ꢀ“
1”表示公有物理对象,“0”表示私有物理对象;所述碰撞分组字符串为预设M位的二进制字符串,能够发生碰撞的两个物理对象的碰撞分组字符串按位与的结果不为零,不能发生碰撞的两个物理对象的碰撞分组字符串按位与的结果为零,当所述处理器执行所述计算机程序时,实现以下步骤:步骤S1、所述云服务器接收游戏启动指令,并分配一个进程;步骤S2、实时获取当前场景帧的物理对象信息,并加入所述进程中,所述物理对象信息包括物理对象id、对象形态、运动参数和坐标信息;步骤S3、基于预设的包围体结构和当前场景帧的物理对象信息构建包围体层次树结构;步骤S4、基于所述包围体层次树结构确定所有候选碰撞对,生成候选碰撞对集合,所述候选碰撞对由两个物理对象组成;步骤S5、基于每一所述候选碰撞对中两个物理对象的对象类型标识、碰撞分组字符串以及预设的相交检测算法从所述候选碰撞对集合中筛选出目标碰撞集合;步骤S6、基于上一场景帧的碰撞参数、物理对象信息与当前场景帧的物理对象信息确定所述目标碰撞集合中每一目标物理对象碰撞参数,并赋值给当前场景帧对应的物体进行驱动。
[0005]本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本专利技术提供的一种基于云计算的物理引擎数据处理系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:本专利技术通过设置物理对象信息列表将云游戏物理对象分为公有物理对象和私有物理对象,并将所有物理对象的数据维护在同一进程中,使得场景中的公有物理对象数据仅存储一份,无需重复存储。基于同一进程使得数据处理过程中,无需进行多进程访问,直接在统一进程中访问,且公有物理对象数据仅需处理一次,提高了物理引擎的数据处理效率。此外,基于物理对象信息列表能够进一步对候选碰撞对进行过滤,减少计算量,提高了物理引擎的数据处理的精确度。
[0006]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0007]图1为本专利技术实施例提供的云计算的物理引擎数据处理系统示意图。
具体实施方式
[0008]为更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术提出的一种基于云计算的物理引擎数据处理系统的具体实施方式及其功效,详细说明如后。
[0009]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
[0010]本专利技术实施例提供了一种基于云计算的物理引擎数据处理系统,如图1所示,包括云服务器,所述云服务器包括数据库、处理器和存储有计算机程序的存储器。所述数据库中包括预设的物理对象信息列表,所述物理对象信息列表包括对象id、对象形态、对象类型标识和碰撞分组字符串字段。其中,对象id能够标识用户id,所述对象形态包括长方体、球体、胶囊体或平面,所述对象类型标识为“1”或“0”,“1”表示公有物理对象,“0”表示私有物理对象。所述碰撞分组字符串为预设M位的二进制字符串,能够发生碰撞的两个物理对象的碰撞分组字符串按位与的结果不为零,不能发生碰撞的两个物理对象的碰撞分组字符串按位与的结果为零,M可以取16或32等,碰撞分组字符串每一位上具体设置0或1,根据预设的碰撞分组和碰撞场景来具体设定。以碰撞分组字符串为32位字符串为例,第一物理对象对应的碰撞分组字符串为00000000000000000000000000000001,第二物理对象对应的碰撞分组字符串为00000000000000000000000000000010,第三物理对象对应的碰撞分组字符串为00000000000000000000000000000011,则第一物理对象和第二物理对象不能碰撞,不属于一个碰撞分组,而第一物理对象和第二物理对象均能与第三物理对象碰撞,因此,第一物理对象和第三物理对象属于一个碰撞分组,第二物理对象和第三物理对象属于一个碰撞分组。
[0011]当所述处理器执行所述计算机程序时,实现以下步骤:步骤S1、所述云服务器接收游戏启动指令,并分配一个进程;进程是系统进行资源分配和调度的基本单位,对于游戏用户来说,一个场景中大部分资源是相同的,为了统一分配资源、计算,当进程容量足够时,作为一种优选实施例,将场景里的多用户数据放在单个进程中,提高数据处理的效率和准确度。
[0012]步骤S2、实时获取当前场景帧的物理对象信息,并加入所述进程中,所述物理对象信息包括物理对象id、对象形态、运动参数和坐标信息;步骤S3、基于预设的包围体结构和当前场景帧的物理对象信息构建包围体层次树结构;步骤S4、基于所述包围体层次树结构确定所有候选碰撞对,生成候选碰撞对集合,所述候选碰撞对由两个物理对象组成;步骤S5、基于每一所述候选碰撞对中两个物理对象的对象类型标识、碰撞分组字符串以及预设的相交检测算法从所述候选碰撞对集合中筛选出目标碰撞集合;步骤S6、基于上一场景帧的碰撞参数、物理对象信息与当前场景帧的物理对象信息确定所述目标碰撞集合中每一目标物理对象碰撞参数,并赋值给当前场景帧对应的物体进行驱动。
[0013]其中,碰撞参数具体包括碰撞时间、碰撞位置、碰撞物理对象的线速度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云计算的物理引擎数据处理系统,其特征在于,包括云服务器,所述云服务器包括数据库、处理器和存储有计算机程序的存储器,所述数据库中包括预设的物理对象信息列表,所述物理对象信息列表包括对象id、对象形态、对象类型标识和碰撞分组字符串字段,其中,所述对象形态包括长方体、球体、胶囊体或平面,所述对象类型标识为“1”或“0”,
ꢀ“
1”表示公有物理对象,“0”表示私有物理对象;所述碰撞分组字符串为预设M位的二进制字符串,能够发生碰撞的两个物理对象的碰撞分组字符串按位与的结果不为零,不能发生碰撞的两个物理对象的碰撞分组字符串按位与的结果为零,当所述处理器执行所述计算机程序时,实现以下步骤:步骤S1、所述云服务器接收游戏启动指令,并分配一个进程;步骤S2、实时获取当前场景帧的物理对象信息,并加入所述进程中,所述物理对象信息包括物理对象id、对象形态、运动参数和坐标信息;步骤S3、基于预设的包围体结构和当前场景帧的物理对象信息构建包围体层次树结构;步骤S4、基于所述包围体层次树结构确定所有候选碰撞对,生成候选碰撞对集合,所述候选碰撞对由两个物理对象组成;步骤S5、基于每一所述候选碰撞对中两个物理对象的对象类型标识、碰撞分组字符串以及预设的相交检测算法从所述候选碰撞对集合中筛选出目标碰撞集合;步骤S6、基于上一场景帧的碰撞参数、物理对象信息与当前场景帧的物理对象信息确定所述目标碰撞集合中每一目标物理对象碰撞参数,并赋值给当前场景帧对应的物体进行驱动。2.根据权利要求1所述的系统,其特征在于,所述步骤S2包括:步骤S21、获取当前场景帧的共有物理对象信息和已经存在于游戏场景中的用户对应的私有对象信息,加入所述进程中;步骤S22、接收新用户加入指令,采集新用户对应的私有物理对象信息和共有物理对象信息,并加入所述进程中。3.根据权利要求2所述的系统,其特征在于,所述步骤S22还包括:步骤S221、判断当前进程是否能够容纳所述新用户对应的私有物理对象信息和共有物理对象信息,若是,则将新用户对应的私有物理对象信息和共有物理对象信息加入所述进程中,否则,新增一个进程,并将当前进程是否能够容纳所述新用户对应的私有物理对象信息和共有物理对象信息加入所述新增进程中,然后基于原始进程和新增进程执行后续操作。4.根据权利要求1所述的系统,其特征在于,所述步骤S3包括:步骤S31、获取所述进程中当前场景帧的物理对象的第一最小包围体,作为所述包围体层次树结构的根节点,将所述第一最小包围体作为待处理包围体;步骤S32、以所述待处理包围体中心为坐标系原点构建三维坐标系,从X轴、Y轴和Z轴中选取一个轴作为划分线,获取所述待处理包围体中位于所述划分线左侧的所有物理对象的
最小包围体,作为所述待处理包围体的左侧子节点,获取所述待处理包围体中位于所述划分线右侧的所有物理对象的最小包围体,作为所述待处理包围体的右侧子节点,分别将所述待处理包围体的左侧子节点和右侧子节点对应的最小包围体作为所述待处理包围体;步骤S33、判断所述待处理包围体中物理对象的个数是否大于1,若大于,返回步骤S32,否则,结束流程。5.根据权利要求4所述的系统,其特征在于,步骤S32中,从X轴、Y...

【专利技术属性】
技术研发人员:王银辉郭建君孙华庆
申请(专利权)人:北京蔚领时代科技有限公司
类型:发明
国别省市:

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

1