1.本技术涉及计算机技术领域,具体涉及一种游戏数据处理方法、装置、计算机设备及存储介质。
背景技术:
2.遮挡剔除,指的是当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染的技术。遮挡剔除的运行将通过在场景中使用一个虚拟的摄像机来创建一个物体潜在可视性状态的层级。这些数据可以实时让每个摄像机来区分物体是否可见,并且只有可见的物体才会被渲染,由此降低绘制调用(drawcalls)的数量并增加游戏的运行效率。
3.相关技术中,在对场景进行渲染时,首先将场景划分为若干体积较小的立方体区域,然后计算每个区域的可见集,根据对应区域的可见集,对于不可见物体不进行渲染。当区域的数量很多时,可见集的数量也会很多,会增大资源消耗,因此,设计了一种暴力聚类算法,也即对于所有可见集,计算两两之间的差距,然后不断选择差距最小的可见集进行合并,由于计算可见集之间的差距需要一定时间,当可见集数量较多时,需要进行多次计算,消耗大量计算时间,从而影响可见集的聚合效率。
技术实现要素:
4.本技术实施例提供一种游戏数据处理方法、装置、计算机设备及存储介质,可以提高对虚拟场景的可见集的处理效率。
5.本技术实施例提供了一种游戏数据处理方法,包括:
6.获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度;
7.从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域;
8.获取所述临近子区域对应的待合并可见集,所述待合并可见集包括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度;
9.确定所述目标可见集与所述待合并可见集的差异值;
10.将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。
11.相应的,本技术实施例还提供了一种游戏数据处理装置,包括:
12.第一获取单元,用于获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度;
13.第一确定单元,用于从所述子区域中确定与所述目标子区域临近的子区域,得到
至少一个临近子区域;
14.第二获取单元,用于获取所述临近子区域对应的待合并可见集,所述待合并可见集包括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度;
15.第二确定单元,用于确定所述目标可见集与所述待合并可见集的差异值;
16.合并单元,用于将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。
17.在一些实施例中,第二确定单元包括:
18.第一获取子单元,用于获取所述指定虚拟场景中每一物体在所述目标可见集中对应的第一可见度,以及在所述待合并可见集中对应的第二可见度;
19.比较子单元,用于将每一物体对应的第一可见度与第二可见度分别与指定可见度进行比较,得到比较结果;
20.第一确定子单元,用于基于所述比较结果确定所述差异值。
21.在一些实施例中,第一确定子单元具体用于:
22.从所述比较结果中确定第一可见度大于所述指定可见度且第二可见度小于所述指定可见度,或者第一可见度小于所述指定可见度且第二可见度大于所述指定可见度的物体的数量,得到所述差异值。
23.在一些实施例中,合并单元包括:
24.第二确定子单元,用于确定不大于所述预设差异值的差异值对应的待合并可见集,得到目标待合并可见集;
25.第一合并子单元,用于将所述目标可见集与所述目标待合并可见集进行合并,得到所述聚合后可见集。
26.在一些实施例中,第一合并子单元具体用于:
27.从每一物体在所述目标可见集中对应的第一可见度与在所述目标待合并可见集中对应的第二可见度中,确定每一物体对应的最大可见度;
28.基于所有物体的最大可见度构建新的可见集,得到所述聚合后可见集。
29.在一些实施例中,第一合并子单元具体用于:
30.根据所述目标可见集与每一目标待合并可见集的差异值的大小对所述多个目标待合并可见集进行排序,得到所述多个目标待合并可见集对应的排序序列;
31.基于所述排序序列依次将所述目标可见集与每一目标待合并可见集进行组合;
32.直至完成对所述目标可见集与所有目标待合并可见集进行组合,得到所述聚合后可见集。
33.在一些实施例中,该装置还包括:
34.第三获取单元,用于获取与所述待合并可见集的第一差异值满足所述预设条件的其他可见集;
35.计算单元,用于计算所述目标可见集与所述其他可见集的第二差异值。
36.在一些实施例中,合并单元包括:
37.第二合并子单元,用于将满足所述预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,以及将满足所述预设条件的第二差异值对应的所述目标可见集
与所述其他可见集进行合并,得到所述聚合后可见集。
38.在一些实施例中,第一确定单元包括:
39.第二获取子单元,用于获取所述目标子区域在所述指定虚拟场景中的第一位置信息,以及所述指定虚拟场景中其他子区域的第二位置信息;
40.第三确定子单元,用于根据所述第一位置信息与所述第二位置信息确定与所述目标子区域相邻的其他子区域,得到所述临近子区域。
41.在一些实施例中,第三确定子单元具体用于:
42.基于所述第一坐标与每一所述第二坐标在所述坐标系中的位置关系,确定与所述第一坐标相邻的第二坐标对应的其他子区域,得到所述临近子区域。
43.在一些实施例中,该装置还包括:
44.第四获取单元,用于获取所述目标可见集的历史合并信息;
45.执行单元,用于若所述历史合并信息指示所述目标可见集为未合并可见集,则执行步骤将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并。
46.在一些实施例中,该装置还包括:
47.处理单元,用于基于所述聚合后可见集对所述指定虚拟场景中的物体进行渲染处理。
48.相应的,本技术实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本技术实施例任一提供的游戏数据处理方法。
49.相应的,本技术实施例还提供了一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的游戏数据处理方法。
50.本技术实施例通过确定当前需要进行可见度处理的目标子区域,根据目标子区域与其他子区域在虚拟场景中的位置关系,选取与目标子区域临近的临近子区域,进一步的,根据目标子区域对应的可见集与临近子区域对应的可见集的差距从临近子区域中确定临近子区域,然后将与目标子区域的可见集的差距小于指定差距的临近子区域的可见集与目标子区域可见集进行聚合处理,得到聚合后可见集,作为目标子区域与临近子区域共同的可见集,减少计算可见集差距的次数,从而减少计算可见集差距的总时间,从而提高对虚拟场景的可见集的处理效率。
附图说明
51.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1为本技术实施例提供的一种游戏数据处理方法的流程示意图。
53.图2为本技术实施例提供的另一种游戏数据处理方法的流程示意图。
54.图3为本技术实施例提供的一种游戏数据处理方法的应用场景示意图。
55.图4为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
56.图5为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
57.图6为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
58.图7为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
59.图8为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
60.图9为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。
61.图10为本技术实施例提供的一种游戏数据处理装置的结构框图。
62.图11为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
64.本技术实施例提供一种游戏数据处理方法、装置、存储介质及计算机设备。具体地,本技术实施例的游戏数据处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(pc,personalcomputer)、个人数字助理(personaldigitalassistant,pda)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
65.例如,该计算机设备可以是服务器,该服务器可以获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度,从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域,获取临近子区域对应的待合并可见集,待合并可见集包括在临近子区域中指定虚拟场景中的至少一个物体的可见度,确定目标可见集与待合并可见集的差异值,将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集。
66.基于上述问题,本技术实施例提供第一种游戏数据处理方法、装置、计算机设备及存储介质,可以提高对虚拟场景的可见集的处理效率。
67.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
68.本技术实施例提供一种游戏数据处理方法,该方法可以由终端或服务器执行,本技术实施例以游戏数据处理方法由服务器执行为例来进行说明。
69.请参阅图1,图1为本技术实施例提供的一种游戏数据处理方法的流程示意图。该游戏数据处理方法的具体流程可以如下:
70.101、获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集。
71.在本技术实施例中,指定虚拟场景指的是通过软件程序按照一定比例构造的现实场景的模型,可以通过显示设备进行显示,指定虚拟场景可以为三维场景。
72.其中,在通过显示设备显示指定虚拟场景时,需要对虚拟场景中的物体进行渲染。
渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息,将三维场景中的模型,按照设定好的环境、灯光、材质及渲染参数,二维投影成数字图像的过程。
73.具体的,在对指定虚拟场景中的物体进行渲染处理时,根据采集指定虚拟场景的画面的位置从指定虚拟场景的所有物体中选取部分物体进行渲染,而对于被遮挡的物体,也即采集画面未显示的物体,无需进行渲染,以节省处理资源的占用。
74.由于指定虚拟场景中可能存在较多物体,为了方便计算出需要渲染的物体,可以将指定虚拟场景划分为多个子区域,指定虚拟场景可以为三维场景,则该多个子区域可以为互不相交、形状相同的立方体区域。
75.例如,可以构建指定虚拟场景的三维坐标系,包括x轴,y轴,z轴方向,每一子区域可以使用两个坐标(x
min
,y
min
,z
min
)和(x
max
,y
max
,z
max
)来描述,表示该子区域包含且仅包含满足以下表达式的坐标点(x,y,z),条件为x
min
≤x<x
max
且y
min
≤y<y
max
且z
min
≤y<z
max
。每个区域互不相交,也就是说,指定虚拟场景中的任一个点要么不属于任何子区域,要么属于恰好1个区域。
76.其中,指定虚拟场景中的每一物体在每一子区域都对应有一个可见度,该可见度指的是物体在子区域位置进行观察的可见程度,当观察的位置和方向在一个区域内变化时,可以被观察到的物体也会随之变化。通过某种估计方法,可以估计出每个物体被观察到的可见程度,简称为可见度。可见度的取值区间可以为[0.0,1.0]的实数表示,数值越小表示越不容易被观察到,反之表示容易被观察到。
[0077]
例如,指定虚拟场景中可以包括:物体a,物体b,物体c,将指定虚拟场景划分为:第一子区域,第二子区域,第三子区域,计算物体a在第一子区域的可见度可以为:0.1,在第二子区域的可见度可以为:0.5,在第三子区域的可见度可以为:0.3;计算物体b在第一子区域的可见度可以为:0.24,在第二子区域的可见度可以为:0.7,在第三子区域的可见度可以为:0.3;计算物体c在第一子区域的可见度可以为:0.8,在第二子区域的可见度可以为:0.65,在第三子区域的可见度可以为:0.31。
[0078]
其中,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度。也即将所有物体的被观察到的程度排列成一维列表,称为可见集。
[0079]
例如,目标子区域可以为第一子区域,在第一子区域中,物体a的可见度可以为:0.1,物体b的可见度可以为:0.24,物体c的可见度可以为:0.8,进一步的,根据每一物体在第一子区域中的可见度得到目标可见集为:[0.1,0.24,0.8]。
[0080]
当观察位置处于目标子区域时,可规定一个常数,可见程度小于该常数的物体视为在该目标子区域不可见,即在渲染过程中不进行绘制;反之视为该物体在该目标子区域可见,进行绘制。从而降低渲染开销。
[0081]
比如对于上述例子,选择0.25作为常数,则物体a和物体b在目标子区域是不可见的,因为物体a与物体b的可见度均小于0.25;物体c在目标子区域是可见的,因为物体c的可见度大于0.25。由于减少了绘制的内容,场景画面的绘制效率可以得到提升。
[0082]
102、从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域。
[0083]
其中,临近子区域指的是在指定虚拟场景中与目标子区域距离较近的子区域。
[0084]
在一些实施例中,为了选取与目标子区域临近的子区域,步骤“从子区域中确定与
目标子区域临近的子区域,得到至少一个临近子区域”,可以包括以下操作:
[0085]
获取目标子区域在指定虚拟场景中的第一位置信息,以及指定虚拟场景中其他子区域的第二位置信息;
[0086]
根据第一位置信息与第二位置信息确定与目标子区域相邻的其他子区域,得到临近子区域。
[0087]
其中,第一位置信息指的是目标子区域在指定虚拟场景的坐标系中的位置,第二位置信息指的是指定虚拟场景中除目标子区域以外的其他子区域在指定虚拟场景的坐标系中的位置。
[0088]
进一步的,可以根据目标子区域以及其他子区域在指定虚拟场景的坐标系中的位置,选取与目标子区域临近的其他子区域,从而得到临近子区域。
[0089]
在一些实施例中,基于指定虚拟场景构建指定坐标系,则第一位置信息包括目标子区域在指定坐标系中的第一坐标,第二位置信息包括每一子区域在指定坐标系中的第二坐标,为了快速确定临近子区域,步骤“根据第一位置信息与第二位置信息确定与目标子区域相邻的其他子区域,得到临近子区域”,可以包括以下操作:
[0090]
基于第一坐标与每一第二坐标在坐标系中的位置关系,确定与第一坐标相邻的第二坐标对应的其他子区域,得到临近子区域。
[0091]
具体的,在上述步骤中提到指定坐标系中每一子区域可以使用两个坐标(x
min
,y
min
,z
min
)和(x
max
,y
max
,z
max
)来描述,也即最小坐标到最大坐标的坐标范围。由于子区域在指定坐标系中为立体区域,则相邻的子区域共用区域边,则可以从每一其他子区域的第二坐标中,确定与目标子区域的坐标范围存在相同坐标点的其他子区域,将该其他子区域作为目标子区域的临近子区域。
[0092]
103、获取临近子区域对应的待合并可见集。
[0093]
其中,待合并可见集包括在临近子区域中指定虚拟场景中的至少一个物体的可见度。
[0094]
例如,临近子区域可以为第二子区域,在第二子区域中,物体a的可见度可以为:0.5,物体b的可见度可以为:0.7,物体c的可见度可以为:0.65,进一步的,根据每一物体在第二子区域中的可见度得到待合并可见集为:[0.5,0.7,0.65]。
[0095]
104、确定目标可见集与待合并可见集的差异值。
[0096]
其中,差异值用于衡量目标可见集与待合并可见集之间是否可以进行合并,差异值越小,表示物体在目标可见集中的可见度与在待合并可见集中的可见度差距越小,则可以将目标可见集与待合并可见集进行合并;反之,差异值越大,表示物体在目标可见集中的可见度与待合并可见集中的可见度差距越大,则不能将目标可见集与待合并可见集进行合并。
[0097]
在一些实施例中,为了计算差异值的准确性,步骤“确定目标可见集与待合并可见集的差异值”,可以包括以下操作:
[0098]
获取指定虚拟场景中每一物体在目标可见集中对应的第一可见度,以及在待合并可见集中对应的第二可见度;
[0099]
将每一物体对应的第一可见度与第二可见度分别与指定可见度进行比较,得到比较结果;
[0100]
基于比较结果确定差异值。
[0101]
比如上述举例中提到,指定虚拟场景中包括:物体a,物体b,物体c,将指定虚拟场景划分为:第一子区域,第二子区域,第三子区域。目标子区域可以为第一子区域,目标可见集分别包括物体a、物体b以及物体c的第一可见度,可以为:[0.1,0.24,0.8];待合并可见集分别包括物体a、物体b以及物体c的第二可见度,可以为:[0.5,0.7,0.65]。
[0102]
其中,指定可见度用于判定是否对物体进行渲染的可见度标准,当物体的可见度大于或者等于该指定可见度时,可以对该物体进行渲染处理;若该物体的可见度小于该指定可见度时,则无需对该物体进行渲染处理。比如,指定可见度可以为0.5。
[0103]
进一步的,将每一物体在不同可见集中的可见度分别与指定可见度进行比较,得到比较结果,然后根据比较结果得到目标可见集与待合并可见集的差异值。
[0104]
在一些实施例中,为了提高对于可见集进行合并的准确性,步骤“基于比较结果确定差异值”,可以包括以下操作:
[0105]
从比较结果中确定第一可见度大于指定可见度且第二可见度小于指定可见度,或者第一可见度小于指定可见度且第二可见度大于指定可见度的物体的数量,得到差异值。
[0106]
通过上述将每一物体的第一可见度与第二可见度分别与指定可见度进行比较,得到的比较结果包括:物体a的第一可见度小于指定可见度,第二可见度等于指定可见度;物体b的第一可见度小于指定可见度,第二可见度大于指定可见度;物体c的第一可见度大于指定可见度,第二可见度大于指定可见度。
[0107]
进一步的,结合比较结果得到第一可见度大于指定可见度且第二可见度小于指定可见度,或者第一可见度小于指定可见度且第二可见度大于指定可见度的物体的数量可以为:2,从而得到差异值为2。
[0108]
105、将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集。
[0109]
其中,预设条件为:不大于预设差异值。
[0110]
在一些实施例中,为了提高可见集的合并效率,步骤“将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集”,可以包括以下操作:
[0111]
确定不大于预设差异值的差异值对应的待合并可见集,得到目标待合并可见集;
[0112]
将目标可见集与目标待合并可见集进行合并,得到聚合后可见集。
[0113]
在本技术实施例中,在指定虚拟场景中,与目标子区域相邻的邻接区域可以为多个,比如,可以将指定虚拟场景划分为:第一子区域,第二子区域,第三子区域,第四子区域,第五子区域,第六子区域等,其中,目标子区域可以为:第一子区域,与第一子区域相邻的临近子区域可以包括:第三子区域,第四子区域,第五子区域。
[0114]
其中,第一子区域对应的可见集可以为:第一可见集,也即目标可见集;第三可见集第三子区域对应的可见集可以为:第三可见集;第四子区域对应的可见集可以为:第四可见集;第五子区域对应的可见集可以为:第五可见集。
[0115]
进一步的,计算目标子区域与每一临近子区域的可见集的差异值,得到目标可见集与第三可见集的差异值可以为:2,目标可见集与第四可见集的差异值可以为:1,目标可见集与第五可见集的差异值可以为:1。
[0116]
例如,预设差异值可以为:1,则满足预设条件的差异值也即不大于预设差异值的
差异值为:1,由于目标可见集与第四可见集的差异值为:1,目标可见集与第五可见集的差异值为:1,则可以确定目标待合并可见集为:第四可见集和第五可见集。然后,将目标可见集与目标待合并可见集进行合并,即可以得到聚合后可见集。
[0117]
在一些实施例中,为了提高可见集的合并效果,步骤“将目标可见集与目标待合并可见集进行合并,得到聚合后可见集”,可以包括以下操作:
[0118]
从每一物体在目标可见集中对应的第一可见度与在目标待合并可见集中对应的第二可见度中,确定每一物体对应的最大可见度;
[0119]
基于所有物体的最大可见度构建新的可见集,得到聚合后可见集。
[0120]
例如,目标可见集包括各物体的第一可见度,可以为:[0.2,0.75,0.8],目标待合并可见集包括各物体的第二可见度,可以为:[0.5,0.64,0.76]。其中,物体a的第一可见度为:0.2,第二可见度为:0.5,则可以确定物体a对应的最大可见度为:0.5;物体b的第一可见度为:0.74,第二可见度为:0.64,则可以确定物体b对应的最大可见度为:0.74;物体c的第一可见度为:0.8,第二可见度为:0.76,则可以确定物体c对应的最大可见度为:0.8,然后,根据每一物体对应的最大可见度构建新的可见集,得到聚合后可见集可以为:[0.5,0.74,0.8]。
[0121]
在一些实施例中,当需要与目标可见集进行合并的目标待合并可见集的数量为多个,为了提高可见集的合并效率,步骤“将目标可见集与目标待合并可见集进行合并,得到聚合后可见集”,可以包括以下操作:
[0122]
根据目标可见集与每一目标待合并可见集的差异值的大小对多个目标待合并可见集进行排序,得到多个目标待合并可见集对应的排序序列;
[0123]
基于排序序列依次将目标可见集与每一目标待合并可见集进行组合;
[0124]
直至完成对目标可见集与所有目标待合并可见集进行组合,得到聚合后可见集。
[0125]
在本技术实施例中,可以采用优先队列对多个目标待合并可见集进行排列,在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出(firstin,largestout)的行为特征,优先队列通常采用堆数据结构来实现。
[0126]
具体的,优先队列是0个或多个元素的集和,每个元素都有一个优先权或值,对优先队列执行的操作有1)查找;2)插入一个新元素;3)删除。在最小优先队列(minpriorityqueue)中,查找操作用来搜索优先权最小的元素,删除操作用来删除该元素;对于最大优先队列(maxpriorityqueue),查找操作用来搜索优先权最大的元素,删除操作用来删除该元素。优先权队列中的元素可以有相同的优先权,查找与删除操作可根据任意优先权进行。
[0127]
具体的,根据目标可见集与每一目标待合并可见集的差异值的大小对多个目标待合并可见集进行排序,可以是根据差异值由小到大的顺序对目标待合并可见集进行排序,然后将与目标合并及差异值较小的目标待合并可见集优先进行合并。
[0128]
进一步的,将排序后的多个目标待合并可见集插入优先队列,得到排序序列,在该优先队列中,设置与目标合并及差异值较小的目标待合并可见集对应的优先权值较高,也即优先进行合并处理。然后将优先队列中的目标待合并可见集按照优先权顺序依次与目标可见集进行合并,直至完成目标可见集与所有目标待合并可见集的合并,得到聚合后可见
集。
[0129]
例如,目标待合并可见集可以包括:第三可见集,第四可见集以及第五可见集,进一步的,根据各目标待合并可见集与目标可见集的差异值由小到大进行排序,得到排序序列可以为:第三可见集、第四可见集、第五可见集。
[0130]
然后,将目标可见集按照排序序列依次与目标待合并可见集进行合并,包括:首先将目标可见集与第三可见集进行合并,生成第一合并可见集,然后将第一合并可见集与第四可见集进行合并,得到第二合并可见集,然后将第二合并可见集与第五可见集进行合并,得到聚合后可见集。以此,完成将目标可见集与多个目标待合并可见集的合并。
[0131]
在一些实施例中,为了避免对可见集重复进行合并操作,在步骤“将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并”之前,还可以包括以下步骤:
[0132]
获取目标可见集的历史合并信息;
[0133]
若历史合并信息指示目标可见集为未合并可见集,则执行步骤将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并。
[0134]
其中,历史合并消息包括当前时刻之前,目标可见集对应的可见集合成信息。比如,历史合并消息可以包括当前时刻之前,目标可见集已进行可见集合并处理,则表示目标可见集为已合并可见集;或者,历史合并消息中未包括目标可见集进行可见集合并处理的信息,则表示目标可见集为未合并可见集。
[0135]
进一步的,为了避免对目标可见集的重复进行合并操作,在当目标可见集的历史合并信息指示目标可见集为未合并可见集时,可以执行步骤将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并。
[0136]
另一种情况,若当目标可见集的历史合并信息指示目标可见集为已合并可见集,则无需对目标可见集进行合并,可以直接基于目标可见集执行后续操作,可以提高可见集的使用效率。
[0137]
在一些实施例中,在完成对目标可见集的合成处理之后,可以根据得到的聚合后可见集执行相应操作,则该方法还可包括以下步骤:
[0138]
基于聚合后可见集对指定虚拟场景中的物体进行渲染处理。
[0139]
在本技术实施例中,得到的聚合后可见集可以作为目标子区域与与该目标子区域的可见集进行合并的邻接子区域共同的可见集,也即对于多个子区域共用一个可见集,减少了对于存储空间的需求。
[0140]
进一步的,在目标子区域的观察位置对指定虚拟场景中的物体进行渲染时,可以基于聚合后可见集中每一物体对应的可见度确定需要渲染的物体,然后对需要进行渲染的物体进行渲染操作。
[0141]
在本技术实施例中,对于包含n个物体,m个子区域的指定虚拟场景,一共需要n
×
m个实数表示这些子区域的可见集,数据量比较大。因此,考虑将可见集归类,合并。
[0142]
例如,原本有10个子区域,每个子区域对应1个可见集,因此共有10个可见集。通过本方案的可见集合并处理,可将10个可见集归为5类。将每类中的可见集进行合并,得到新的可见集。每个类对应1个(新的)可见集,并且每个可见集只需要存储一份数据即可。以此,可以降低对存储空间的需求。
[0143]
在一些实施例中,为了避免漏掉与目标可见集差异值满足合并条件的可见集,在
步骤“将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集”之前,还可以包括以下步骤:
[0144]
获取与待合并可见集的第一差异值满足预设条件的其他可见集;
[0145]
计算目标可见集与其他可见集的第二差异值;
[0146]
则步骤“将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集”,可以包括以下操作:
[0147]
将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,以及将满足预设条件的第二差异值对应的目标可见集与其他可见集进行合并,得聚合后可见集。
[0148]
其中,第一差异值指的是待合并可见集与其他可见集的差异值。
[0149]
其中,其他可见集指的是与待合并可见集的第一差异值不大于预设差异值的可见集。
[0150]
进一步的,计算目标可见集与其他可见集的差异值,得到第二差异值,然后将满足预设条件的第二差异值对应的目标可见集与其他可见集进行合并。
[0151]
例如,目标可见集可以为v,待合并可见集可以为u,其他可见集可以为i,也即m
i,u
≠inf,m
i,v
=inf,若m
i,v
m
u,v
的和较小(也即小于一设定值),则可以追加计算m
i,v
的真实值,从而查找出其他符合与目标可见集进行合并的其他可见集。其中,m
x,y
表示与可见集x处于相同划分单元的可见集和与可见集y处于相同划分单元的可见集之间的最大差异值。
[0152]
在本技术实施例中,通过追加计算目标可见集与可能满足合并条件的其他可见集的差异值,得到与目标可见集进行合并的更全面的可见集,进一步保证可见集合并结果的准确性。
[0153]
本技术实施例公开了一种游戏数据处理方法,该方法包括:获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度;从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域;获取临近子区域对应的待合并可见集;确定目标可见集与待合并可见集的差异值;将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集,从而可以提高对虚拟场景的可见集的处理效率。
[0154]
根据上述介绍的内容,下面将举例来进一步说明本技术的游戏数据处理方法。请参阅图2,图2为本技术实施例提供的另一种游戏数据处理方法的流程示意图,以该游戏数据处理方法应用于虚拟游戏场景为例,具体流程可以如下:
[0155]
201、服务器获取虚拟游戏场景划分得到的每一子区域子在虚拟游戏场景坐标系中的位置信息。
[0156]
在本技术实施例中,可以将虚拟游戏场景划分为多个互不相交,形状相同的立方体区域,也即得到多个子区域。虚拟游戏场景可以为三维场景,基于该虚拟游戏场景可以创建三维正交坐标系。
[0157]
例如,请参阅图3,图3为本技术实施例提供的一种游戏数据处理方法的应用场景示意图。在图3所示的三维正交坐标系中,由x,y,z三个坐标轴组成。其中,y轴的方向为竖直向上。在xz平面上,将一个矩形区域沿平行于坐标轴的方向分割为若干行,若干列的大小相同的方格。
[0158]
具体的,对于虚拟游戏场景对应的三维正交坐标系,每一子区域在该三维正交坐标系中对应一个立方体区域。
[0159]
例如,请参阅图4,图4为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。在图4所示的虚拟游戏场景对应的三维正交坐标系中,有n个互不相交、形状相同的立方体区域。每个区域在xz平面上的投影是上述矩形方格中的一个。每一子区域对应有一个可见集。
[0160]
其中,位置信息指的是每一子区域在坐标系中的空间位置。
[0161]
202、服务器根据位置信息生成包含所有子区域的二维列表。
[0162]
例如,请参阅图5,图5为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。图5示出了虚拟游戏场景中多个子区域在坐标系中的位置,在竖直方向上共包括两层,下层y=0,上层y=10。它们的x坐标从左到右依次为:10,20,30,40;z坐标从后到前依次为:10,20,30。每个区域对应的可见集编号标记在立方体中,这个编号也可以视为是子区域的编号。
[0163]
进一步的,可以确定有4种本质不同的x坐标和3种本质不同的z坐标。因此,可以构建一个4
×
3的表格。然后,依次检查每个子区域。首先是编号为1的区域,x坐标为10,在所有x坐标中是第4大的;z为10,在所有z坐标中是第3大的。因此,它的编号填入单元格(3,1)中。
[0164]
接下来,是编号为2的区域,x坐标为20,在所有x坐标中是第3大的;z为10,在所有z坐标中是第3大的。因此,它的编号填入单元格(3,2)中。再然后,是编号为3的区域,x坐标为30,在所有x坐标中是第2大的;z为10,在所有z坐标中是第3大的。因此,它的编号填入单元格(3,3)中。
[0165]
以此类推,最后可以得到如下的表格:
[0166]
91011,18125,156,1678,1712,133,144
[0167]
203、服务器根据二维列表确定与指定区域临近的子区域,得到临近子区域。
[0168]
通过上述构建二维列表的方式,能够方便地查询一个子区域周围的临近子区域。
[0169]
例如,想要查询编号为7的子区域周围的单元格是哪些。可以先按照x=30是第2大,z=20是第2大,找到单元格(2,3)。那么,单元格(2
±
1,3
±
1)中的元素就是编号为7的子区域相邻的邻近子区域。在实际应用中,可能查找范围更大的区域,则可以采用形如(x
±
k,y
±
k)的形式。
[0170]
204、服务器计算指定区域与每一临近子区域的可见集差距。
[0171]
在本技术实施例中,可以将可见集抽象为一个节点,节点上的数字表示可见集的编号。
[0172]
例如,请参阅图6,图6为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。在图6中,假设有8个可见集,图上结点的位置表示各个可见集离散化之后的位置。假设查找的范围就是1。
[0173]
具体的,对于可见集1而言,需要和可见集2,可见集5,可见集6分别计算差距。对于可见集2而言,它需要和可见集1,可见集5,可见集6,可见集3,可见集7分别计算差距。对于可见集3而言,它需要和可见集2,可见集6,可见集7,可见集4,可见集8分别计算差距。以此
类推,最终,每个点都和周围(曼哈顿)距离不超过1的可见集计算了差距。这样做,大大减少了计算差距的次数。例如,可见集1和可见集3,可见集4,可见集7,可见集8就没有计算过差距。
[0174]
205、服务器将满足合并条件的可见集差距对应的临近子区域的可见集与指定区域的可见集进行合并,得到合并后可见集。
[0175]
在本技术实施例中,构造一张包含m个顶点的无向图,编号从1开始。顶点i对应可见集i。
[0176]
其中,顶点是可见集的抽象,边是可见集之间的差距的抽象。在目前,边权的值是可见集之间的差距。
[0177]
那么,有可能有以下几种情况。
[0178]
第一种:存在边,且边权小于等于预设条件的限制。
[0179]
第二种:存在边,且边权大于预设条件的限制。
[0180]
第三种:没有边,不妨视为存在边权为无穷大(记为inf,可选取100000007等适当的大数)的边;出现这种情况的原因是没有实际计算差异值,而不是差异值特别大。
[0181]
例如,请参阅图7,图7为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。在图7中,边的属性包括两个端点u,v和边权w。随着算法的进行,边权表示分别和u,v处于同一划分单元的可见集间差距的最大值。起初,图中不含有任何边。
[0182]
如图7所示,使用稀疏矩阵m记录边权。当查询边(u,v)的权值时,若该边不存在,则返回无穷大inf;否则返回真实值,记为m
u,v
。
[0183]
由于图在起初没有边,所以矩阵也是空的。因为图是无向图,则m
u,v
=m
v,u
,使用优先队列q维护边的顺序。q的元素为形如(u,v,w)的三元组,表示端点为u,v权为w的边。每次弹出的是当时w最小(或之一)的三元组。需要注意,如果在加入三元组之后边权发生了变化,队列中的记录不随之变化。因此在弹出后,需比较w和m
u,v
,确认该记录是否过时。起初,由于没有边,则q也是空的。
[0184]
在算法执行过程中,需要查询与指定的顶点,以权值不超过预设条件的限制,记为l的边相邻,或曾经以满足该条件的边相邻的顶点是哪些。这种需求适合使用邻接表,记为p。
[0185]
然后,由于需求涉及到分类、划分,则适合使用并查集。考虑到在算法过程中,需要检查与指定的顶点处于同一划分单元的其它顶点有哪些,那么要对传统并查集进行修改,通过牺牲合并划分单元的时间复杂度,换取查询指定划分单元中的所有元素的功能。
[0186]
具体的,在将可见集进行合并之前,从优先队列q中弹出三元组(u,v,w)。不断执行以下步骤,直到队列为空。
[0187]
如果u,v在并查集中处于同一个划分单元,就跳过这个三元组。如果当时图中边(u,v)的权已经不等于w,说明该三元组已经过期,也跳过。此外的情况,由于优先队列的性质,此时选取的是在当前,连接两个划分单元的权最短的边。
[0188]
例如,请参阅图8,图8为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图,对于边(u,v),通过邻接表p可以高效找到那些与u以权值不超过l的边相邻或曾经相邻的顶点,通过查询当前的权值可筛选出在当前,与顶点u以权值不超过l的边相邻的顶点。
[0189]
关注m
i,u
m
u,v
的和足够小且m
i,v
=inf的点i。它表示分别和i,v处于同一划分单元的可见集间差距的最大值。因此,需要确认v,i不在同一个划分单元。计算所有分别来自v所在的划分单元和来自i所在的划分单元中的点对x,y对应的可见集x,y的差距。
[0190]
具体的,将所有差距的最大值赋值给m
i,v
。如果发现m
i,v
小于差距限制l,那么,也需要将(i,v,m
i,v
)加入优先队列,并将i,v分别加入邻接表p的对应行。此处设置一种优化方式,先观察m
x,y
≠inf是否存在超过l的;如果存在,就无需计算了;另外,一旦某个差距超过了l,也立刻停止计算。交换u,v的身份,重复执行此步骤。
[0191]
然后,合并u,v所在的两个划分单元。
[0192]
例如,请参阅图9,图9为本技术实施例提供的另一种游戏数据处理方法的应用场景示意图。通过p找到u相邻的顶点。对于顶点i,查询m
i,v
和m
i,u
,如果二者的最大值是inf,则需要将这两个值都设置为大于l的值;否则,将m
i,u
设置为最大值,将m
i,v
设置为大于l的值,另外,再将修改过的(i,u,m
i,u
)加入优先队列q。最后,找到v相邻的顶点,跳过在此步骤处理过的顶点,将剩余顶点与v的边权设置为大于l的值。
[0193]
最后,遍历区间[1,m]上的整数。假设遍历到i,则通过并查集查询i所在的划分单元中的全部元素。计算以这些元素为序号的可见集的合并结果,作为新的可见集,分配编号。并将旧的可见集编号对应到新分配的编号,从而对应到新可见集上。
[0194]
本技术实施例公开了一种游戏数据处理方法,该方法包括:服务器获取虚拟游戏场景划分得到的每一子区域子在虚拟游戏场景坐标系中的位置信息,根据位置信息生成包含所有子区域的二维列表,根据二维列表确定与指定区域临近的子区域,得到临近子区域,计算指定区域与每一临近子区域的可见集差距,将满足合并条件的可见集差距对应的临近子区域的可见集与指定区域的可见集进行合并,得到合并后可见集。以此,可以节省可见集计算开销,从而提高虚拟游戏场景中基于可见集进行场景渲染的效率。
[0195]
为便于更好的实施本技术实施例提供的游戏数据处理方法,本技术实施例还提供一种基于上述游戏数据处理方法的游戏数据处理装置。其中名词的含义与上述游戏数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
[0196]
请参阅图10,图10为本技术实施例提供的一种游戏数据处理装置的结构框图,该装置包括:
[0197]
第一获取单元301,用于获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度;
[0198]
第一确定单元302,用于从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域;
[0199]
第二获取单元303,用于获取所述临近子区域对应的待合并可见集,所述待合并可见集包括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度;
[0200]
第二确定单元304,用于确定所述目标可见集与所述待合并可见集的差异值;
[0201]
合并单元305,用于将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。
[0202]
在一些实施例中,第二确定单元304可以包括:
[0203]
第一获取子单元,用于获取所述指定虚拟场景中每一物体在所述目标可见集中对应的第一可见度,以及在所述待合并可见集中对应的第二可见度;
[0204]
比较子单元,用于将每一物体对应的第一可见度与第二可见度分别与指定可见度进行比较,得到比较结果;
[0205]
第一确定子单元,用于基于所述比较结果确定所述差异值。
[0206]
在一些实施例中,第一确定子单元具体可以用于:
[0207]
从所述比较结果中确定第一可见度大于所述指定可见度且第二可见度小于所述指定可见度,或者第一可见度小于所述指定可见度且第二可见度大于所述指定可见度的物体的数量,得到所述差异值。
[0208]
在一些实施例中,合并单元305可以包括:
[0209]
第二确定子单元,用于确定不大于所述预设差异值的差异值对应的待合并可见集,得到目标待合并可见集;
[0210]
第一合并子单元,用于将所述目标可见集与所述目标待合并可见集进行合并,得到所述聚合后可见集。
[0211]
在一些实施例中,第一合并子单元具体可以用于:
[0212]
从每一物体在所述目标可见集中对应的第一可见度与在所述目标待合并可见集中对应的第二可见度中,确定每一物体对应的最大可见度;
[0213]
基于所有物体的最大可见度构建新的可见集,得到所述聚合后可见集。
[0214]
在一些实施例中,第一合并子单元具体可以用于:
[0215]
根据所述目标可见集与每一目标待合并可见集的差异值的大小对所述多个目标待合并可见集进行排序,得到所述多个目标待合并可见集对应的排序序列;
[0216]
基于所述排序序列依次将所述目标可见集与每一目标待合并可见集进行组合;
[0217]
直至完成对所述目标可见集与所有目标待合并可见集进行组合,得到所述聚合后可见集。
[0218]
在一些实施例中,该装置还可以包括:
[0219]
第三获取单元,用于获取与所述待合并可见集的第一差异值满足所述预设条件的其他可见集;
[0220]
计算单元,用于计算所述目标可见集与所述其他可见集的第二差异值。
[0221]
在一些实施例中,合并单元305可以包括:
[0222]
第二合并子单元,用于将满足所述预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,以及将满足所述预设条件的第二差异值对应的所述目标可见集与所述其他可见集进行合并,得到所述聚合后可见集。
[0223]
在一些实施例中,第一确定单元302可以包括:
[0224]
第二获取子单元,用于获取所述目标子区域在所述指定虚拟场景中的第一位置信息,以及所述指定虚拟场景中其他子区域的第二位置信息;
[0225]
第三确定子单元,用于根据所述第一位置信息与所述第二位置信息确定与所述目标子区域相邻的其他子区域,得到所述临近子区域。
[0226]
在一些实施例中,第三确定子单元具体可以用于:
[0227]
基于所述第一坐标与每一所述第二坐标在所述坐标系中的位置关系,确定与所述
第一坐标相邻的第二坐标对应的其他子区域,得到所述临近子区域。
[0228]
在一些实施例中,该装置还可以包括:
[0229]
第三获取单元,用于获取所述目标可见集的历史合并信息;
[0230]
执行单元,用于若所述历史合并信息指示所述目标可见集为未合并可见集,则执行步骤将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并。
[0231]
在一些实施例中,该装置还可以包括:
[0232]
处理单元,用于基于所述聚合后可见集对所述指定虚拟场景中的物体进行渲染处理。
[0233]
本技术实施例公开了一种游戏数据处理装置,通过第一获取单元301获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度。第一确定单元302从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域。第二获取单元303获取所述临近子区域对应的待合并可见集,所述待合并可见集包括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度。第二确定单元304确定所述目标可见集与所述待合并可见集的差异值。合并单元305将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。以此,可以提高对虚拟场景的可见集的处理效率。
[0234]
相应的,本技术实施例还提供一种计算机设备,该计算机设备可以为服务器。如图11所示,图11为本技术实施例提供的计算机设备的结构示意图。该计算机设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0235]
处理器501是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备500进行整体监控。
[0236]
在本技术实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
[0237]
获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度;从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域;获取临近子区域对应的待合并可见集,待合并可见集包括在临近子区域中指定虚拟场景中的至少一个物体的可见度;确定目标可见集与待合并可见集的差异值;将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集。
[0238]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0239]
可选的,如图11所示,计算机设备500还包括:触控显示屏503、射频电路504、音频
电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0240]
触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、引导信息、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
[0241]
射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
[0242]
音频电路505可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路504以发送给比如另一计算机设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
[0243]
输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0244]
电源507用于给计算机设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0245]
尽管图11中未示出,计算机设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
[0246]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0247]
由上可知,本实施例提供的计算机设备,获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度;从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域;获取临近子区域对应的待合并可见集,待合并可见集包括在临近子区域中指定虚拟场景中的至少一个物体的可见度;确定目标可见集与待合并可见集的差异值;将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集。
[0248]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0249]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种游戏数据处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
[0250]
获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,目标可见集包括在目标子区域中指定虚拟场景中的至少一个物体的可见度;
[0251]
从子区域中确定与目标子区域临近的子区域,得到至少一个临近子区域;
[0252]
获取临近子区域对应的待合并可见集,待合并可见集包括在临近子区域中指定虚拟场景中的至少一个物体的可见度;
[0253]
确定目标可见集与待合并可见集的差异值;
[0254]
将满足预设条件的差异值对应的目标可见集与待合并可见集进行合并,得到聚合后可见集,并将聚合后可见集作为目标子区域和临近子区域共同的可见集。
[0255]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0256]
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
[0257]
由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种游戏数据处理方法中的步骤,因此,可以实现本技术实施例所提供的任一种游戏数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0258]
以上对本技术实施例所提供的一种游戏数据处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种游戏数据处理方法,其特征在于,所述方法包括:获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度;从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域;获取所述临近子区域对应的待合并可见集,所述待合并可见集包括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度;确定所述目标可见集与所述待合并可见集的差异值;将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。2.根据权利要求1所述的方法,其特征在于,所述确定所述目标可见集与所述待合并可见集的差异值,包括:获取所述指定虚拟场景中每一物体在所述目标可见集中对应的第一可见度,以及在所述待合并可见集中对应的第二可见度;将每一物体对应的第一可见度与第二可见度分别与指定可见度进行比较,得到比较结果;基于所述比较结果确定所述差异值。3.根据权利要求2所述的方法,其特征在于,所述基于所述比较结果确定所述差异值,包括:从所述比较结果中确定第一可见度大于所述指定可见度且第二可见度小于所述指定可见度,或者第一可见度小于所述指定可见度且第二可见度大于所述指定可见度的物体的数量,得到所述差异值。4.根据权利要求1所述的方法,其特征在于,所述预设条件包括不大于预设差异值;所述将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,包括:确定不大于所述预设差异值的差异值对应的待合并可见集,得到目标待合并可见集;将所述目标可见集与所述目标待合并可见集进行合并,得到所述聚合后可见集。5.根据权利要求4所述的方法,其特征在于,所述将所述目标可见集与所述目标待合并可见集进行合并,得到所述聚合后可见集,包括:从每一物体在所述目标可见集中对应的第一可见度与在所述目标待合并可见集中对应的第二可见度中,确定每一物体对应的最大可见度;基于所有物体的最大可见度构建新的可见集,得到所述聚合后可见集。6.根据权利要求4所述的方法,其特征在于,所述目标待合并可见集的数量为多个;所述将所述目标可见集与所述目标待合并可见集进行合并,得到所述聚合后可见集,包括:根据所述目标可见集与每一目标待合并可见集的差异值的大小对所述多个目标待合并可见集进行排序,得到所述多个目标待合并可见集对应的排序序列;基于所述排序序列依次将所述目标可见集与每一目标待合并可见集进行组合;直至完成对所述目标可见集与所有目标待合并可见集进行组合,得到所述聚合后可见
集。7.根据权利要求1所述的方法,其特征在于,在所述将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集之前,还包括:获取与所述待合并可见集的第一差异值满足所述预设条件的其他可见集;计算所述目标可见集与所述其他可见集的第二差异值;所述将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,包括:将满足所述预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,以及将满足所述预设条件的第二差异值对应的所述目标可见集与所述其他可见集进行合并,得到所述聚合后可见集。8.根据权利要求1所述的方法,其特征在于,所述从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域,包括:获取所述目标子区域在所述指定虚拟场景中的第一位置信息,以及所述指定虚拟场景中其他子区域的第二位置信息;根据所述第一位置信息与所述第二位置信息确定与所述目标子区域相邻的其他子区域,得到所述临近子区域。9.根据权利要求8所述的方法,其特征在于,所述第一位置信息包括所述目标子区域在指定坐标系中的第一坐标,所述第二位置信息包括每一子区域在指定坐标系中的第二坐标,所述指定坐标系为基于所述指定虚拟场景构建的坐标系;所述根据所述第一位置信息与所述第二位置信息确定与所述目标子区域相邻的其他子区域,得到所述临近子区域,包括:基于所述第一坐标与每一所述第二坐标在所述坐标系中的位置关系,确定与所述第一坐标相邻的第二坐标对应的其他子区域,得到所述临近子区域。10.根据权利要求1所述的方法,其特征在于,在所述将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并之前,还包括:获取所述目标可见集的历史合并信息;若所述历史合并信息指示所述目标可见集为未合并可见集,则执行步骤将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并。11.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:基于所述聚合后可见集对所述指定虚拟场景中的物体进行渲染处理。12.根据权利要求1所述的方法,其特征在于,所述多个子区域为互不相交、形状相同的立方体区域。13.一种游戏数据处理装置,其特征在于,所述装置包括:第一获取单元,用于获取指定虚拟场景划分出的多个子区域中目标子区域对应的目标可见集,所述目标可见集包括在所述目标子区域中所述指定虚拟场景中的至少一个物体的可见度;第一确定单元,用于从所述子区域中确定与所述目标子区域临近的子区域,得到至少一个临近子区域;第二获取单元,用于获取所述临近子区域对应的待合并可见集,所述待合并可见集包
括在所述临近子区域中所述指定虚拟场景中的至少一个物体的可见度;第二确定单元,用于确定所述目标可见集与所述待合并可见集的差异值;合并单元,用于将满足预设条件的差异值对应的所述目标可见集与所述待合并可见集进行合并,得到聚合后可见集,并将所述聚合后可见集作为所述目标子区域和所述临近子区域共同的可见集。14.一种计算机设备,包括存储器,处理器及存储在存储器上并在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至12任一项所述的游戏数据处理方法。15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至12任一项所述的游戏数据处理方法。
技术总结
本申请实施例公开了一种游戏数据处理方法、装置、计算机设备及存储介质。本方案通过确定当前需要进行可见度处理的目标子区域,根据目标子区域与其他子区域在虚拟场景中的位置关系,选取与目标子区域临近的临近子区域,进一步的,根据目标子区域对应的可见集与临近子区域对应的可见集的差距从临近子区域中确定临近子区域,然后将与目标子区域的可见集的差距小于指定差距的临近子区域的可见集与目标子区域可见集进行聚合处理,得到聚合后可见集,作为目标子区域与临近子区域共同的可见集,减少计算可见集差距的次数,从而减少计算可见集差距的总时间,从而提高对虚拟场景的可见集的处理效率。见集的处理效率。见集的处理效率。
技术研发人员:张颖鹏 王瑀治
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.02.16
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-13106.html