游戏场景加载方法、装置、存储介质及设备与流程



1.本发明涉及计算机技术领域,具体涉及游戏场景加载方法、装置、存储介质及设备。


背景技术:



2.随着游戏技术的不断发展,游戏界面显示越来越精细,游戏场景的显示也更加真实,使玩家可以身临其境地体验游戏带来的视觉冲击,大大提高了游戏的真实感和体验感。
3.当前的游戏场景加载,多数使用原生的场景加载,并没有严格的加载时序;在场景跳转的过程中进行全量的场景物件加载,可能存在跳转过久或者优先加载非必要内容的情况。该场景加载方式不仅需要大量的时间实现场景加载,还可能在跳转过程中存在视野空窗的问题。


技术实现要素:



4.基于此,本发明提供一种游戏场景加载方法、装置、存储介质及设备,能够缩短游戏场景加载的时间,也避免视野空窗情况的发生。
5.第一方面,本发明提供一种游戏场景加载方法,包括:
6.获取游戏待加载场景中所有场景元素以及玩家的初始位置;
7.根据各个场景元素的顶点确定场景元素包围盒、场景元素包围盒尺寸以及场景元素的尺寸;
8.将所有场景元素包围盒组成游戏待加载场景的包围盒;
9.根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块尺寸级别,所述场景元素尺寸级别与场景块尺寸级别一一对应;
10.将所述游戏待加载场景的包围盒按照场景块尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同;
11.将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交;
12.若是,所述场景块包含所述场景元素;
13.对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。
14.第二方面,本发明提供一种游戏场景加载装置,包括:
15.场景获取模块,用于获取游戏待加载场景中所有场景元素以及玩家的初始位置;
16.尺寸计算模块,用于根据各个场景元素的顶点确定场景元素包围盒、场景元素包
围盒的尺寸以及场景元素的尺寸;
17.场景包围盒确定模块,用于将所有场景元素包围盒组成游戏待加载场景的包围盒;
18.等级划分模块,用于根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块的尺寸级别,所述场景元素尺寸级别与场景块的尺寸级别一一对应;
19.场景块划分模块,用于将所述游戏待加载场景的包围盒按照场景尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同;
20.场景块-元素划分模块,用于将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交;若是,所述场景块包含所述场景元素;
21.场景元素加载模块,用于对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。
22.第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项游戏场景加载方法的步骤。
23.第四方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,执行第一方面中任一项游戏场景加载方法。
24.采用上述技术方案的有益效果为:本技术根据玩家的位置、加载等级、目标视角以及场景块的大小按照不同的优先级别进行游戏场景加载,能够更快地加载离玩家近、并且在目标视角内的场景,缩短场景加载的时间,避免玩家在跳转过程中出现视野空窗的情况。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
26.图1为本技术一个实施例中游戏场景加载方法示意图;
27.图2为本技术一个实施例中游戏场景中场景元素包围盒示意图;
28.图3为本技术一个实施例中场景块加载等级示意图;
29.图4为本技术一个实施例中玩家目标视角示意图;
30.图5为本技术一个实施例中玩家位置移动后场景块加载等级示意图;
31.图6为本技术一个实施例中游戏场景加载装置示意图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。为了更详细说明本发明,下面结合附图对本发明提供的,进行具体地描述。
33.随着游戏技术的不断发展,在游戏进行的过程中需要对游戏场景不断进行加载,使游戏场景可以随着游戏人物的移动而发生跳转,给玩家以身临其境地体验游戏带来的视觉冲击;现有游戏场景跳转过程中进行全量的场景元素加载,整个过程需要耗费较长的时间,但是大部分加载的场景元素在场景跳转后并不需要用到,并且对大量的场景元素进行加载,容易出现跳转过久或跳转过程中出现视野空窗的问题。
34.本技术实施例提供了游戏场景加载方法的具体应用场景。该应用场景包括实施例提供的带有显示屏的终端设备,终端设备包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。用户对终端设备进行操作,终端设备执行本发明的场景加载方法,并在显示屏上展示加载的场景界面,具体过程请参见场景加载方法实施例。
35.基于此,本发明实施例提供了一种游戏场景加载方法,以该方法应用于终端设备为例进行说明,结合附图1示出的游戏场景加载方法示意图。
36.步骤s101:获取游戏待加载场景中所有场景元素以及玩家的初始位置。
37.所述游戏待加载场景中大量的场景元素,例如游戏场景中出现的大楼、路边的树木、街道的摆设甚至地面上的草都属于游戏待加载场景中的场景元素,各个待加载的场景元素的大小以及位置并不相同。
38.玩家的初始位置可根据具体的游戏视角中摄像机的设置确定。在第一人称视角的游戏场景中,摄像机被安放在玩家控制角内部,视野范围一般为控制角的前方,视野范围较窄,游戏沉浸感较强。在第三人称视角的游戏场景中,摄像机被安放在玩家控制角的身后,视野范围一般为控制角的周围,视野范围较广阔。在本发明实施例中,不对摄像机的具体安放位置进行区分,以游戏开始时刻,玩家所在的坐标位置作为玩家的初始位置。
39.步骤s102:根据各个场景元素的顶点确定场景元素包围盒、场景元素包围盒尺寸以及场景元素的尺寸。
40.具体地,本发明实施例使用场景元素包围盒尺寸作为场景元素大小的衡量标准,根据场景元素包围盒尺寸表示场景元素大小的步骤如下:
41.步骤s201:根据场景元素所有顶点的坐标值,筛选各个维度坐标最大值和坐标最小值;
42.步骤s202:计算各个维度坐标最大值和坐标最小值的差值,得到场景元素包围盒尺寸;
43.步骤s203:根据所述场景元素包围盒尺寸计算得到场景元素的尺寸。
44.以场景元素为三维元素为例,结合附图2所示,该场景元素有多个顶点连接成三角面构成,在不考虑顶点连接的情况下,获取该场景元素的顶点坐标值,分别为顶点a(-1,1,0),顶点b(0,-1,0)以及顶点c(1,0.5,0);筛选x轴的坐标最大值1、x轴的坐标最小值-1、y轴的坐标最大值1、y轴的坐标最小值-1、z轴的坐标最大值0、z轴的坐标最小值0,并记为该场景元素的最大坐标为(1,1,0)、该场景元素的最小坐标为(-1,-1,0);计算各个维度坐标最大值和坐标最小值的差值,得到场景元素包围盒尺寸为(2,2,0);而场景元素包围盒尺寸的模即为场景元素的尺寸,该场景元素的尺寸为2。
45.步骤s103:将所有场景元素包围盒组成游戏待加载场景的包围盒。
46.由于通过场景元素的顶点可得到场景元素包围盒,而场景元素分布在游戏待加载场景的各个区域,因此可采用所有场景元素包围盒组成一个更大的包围盒来表示游戏待加载场景的体积。
47.步骤s104:根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块尺寸级别,所述场景元素尺寸级别与场景块的尺寸级别一一对应。
48.具体地,根据场景元素的尺寸范围按照由大到小的方式划分n个级别的场景元素尺寸级别,将场景元素划分成不同场景元素尺寸级别;并以n个级别的场景元素尺寸级别为依据,对应设置n个级别的场景块尺寸级别。例如,根据场景元素的尺寸范围划分三个场景元素尺寸级别,分别为大、中、小三个等级;根据各个场景元素的具体尺寸,将场景元素划分为三个场景元素尺寸级别;并以三个场景元素尺寸级别为依据,对应设置三个级别的场景块尺寸,分别为巨大、中型和小型三个等级。那么对应尺寸较大的场景元素会被划分至大场景元素尺寸级别中,大场景元素尺寸级别对应巨大级别的场景块尺寸级别。
49.步骤s105:将所述游戏待加载场景的包围盒按照场景块尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同。
50.例如,设置有巨大、中型和小型三个场景块尺寸级别,其中巨大场景块尺寸级别为80*80、中型场景块尺寸级别为40*40、小型场景块尺寸级别为20*20,按照上述三个场景块尺寸级别分别多次对游戏待加载场景的包围盒进行划分,得到至少一个场景块的包围盒。当按照巨大场景块尺寸级别对游戏待加载场景的包围盒进行划分时,得到的场景块包围盒均为80*80;当按照中型场景块尺寸级别对游戏待加载场景的包围盒进行划分时,得到的场景块包围盒均为40*40;当按照小型场景块尺寸级别对游戏待加载场景的包围盒进行划分时,得到的场景块包围盒均为20*20。
51.步骤s106:将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交,若是,所述场景块包含所述场景元素。
52.其中,各个场景块尺寸级别划分的场景块中场景元素的加载按不同的频率并行加载。
53.例如,游戏待加载场景中包括由若干颗草、若干个箱子以及若干栋大楼,一颗草的尺寸为2、一个箱子的尺寸为25、一栋大楼的尺寸为80,根据上述场景元素的尺寸范围划分三个场景元素尺寸级别,为(0,20,40),其中[0,20]为小尺寸场景元素级别的尺寸范围、[20,40]为中尺寸场景元素级别的尺寸范围、[40,+∞)为大尺寸场景元素级别的尺寸范围;与上述场景元素尺寸级别对应的场景块级别为(20,40,80),小尺寸场景元素级别对应的小型场景块尺寸级别为20*20,中尺寸场景元素级别对应的中型场景块尺寸级别为40*40,大尺寸场景元素级别对应的大型场景块尺寸级别为80*80;则一棵草对应的场景块尺寸级别为20*20、一个箱子对应的场景块尺寸级别为40*40、一栋大楼对应的场景块尺寸级别为80*80。
[0054]
对于小尺寸场景元素级别的场景元素,按照场景元素的尺寸(例如一颗草的尺寸
为2)、场景元素的位置坐标、场景块尺寸级别(具体为20*20)以及场景块的位置坐标,确定该场景元素尺寸级别的场景元素包围盒与该小型场景块尺寸级别划分的场景块包围盒是否相交,若是,则该场景块包含该场景元素。
[0055]
依此类推,对于中尺寸场景元素级别的场景元素,按照场景元素的尺寸(例如一个箱子的尺寸为25)、场景元素的位置坐标、场景块尺寸级别(具体为40*40)以及场景块的位置坐标,确定该场景元素尺寸级别的场景元素包围盒与该中型场景块尺寸级别划分的场景块包围盒是否相交,若是,则该场景块包含该场景元素。
[0056]
对于大尺寸场景元素级别的场景元素,按照场景元素的尺寸(例如一栋大楼的尺寸为80)、场景元素的位置坐标、场景块尺寸级别(具体为80*80)以及场景块的位置坐标,确定该场景元素尺寸级别的场景元素包围盒与该大型场景块尺寸级别划分的场景块包围盒是否相交,若是,则该场景块包含该场景元素。
[0057]
进一步,由于在场景加载中大型场景元素一般不会发生明显的变化,而小型场景元素会在周围视野中发生明显的改变,按照加载场景元素的大小设置不同的加载频率,可在保持游戏场景显示质量的同时,减少不必要的游戏场景元素加载。具体为,对于大型尺寸级别场景块包含的场景元素的加载频率为30fps,中型尺寸级别场景块包含的场景元素的加载频率为40fps,小型尺寸级别场景块包含的场景元素的加载频率为60fps。三种尺寸级别场景块的加载频率并不相同,并且可设置三种尺寸级别场景块并行加载、互不影响。
[0058]
步骤s107:对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。
[0059]
如附图3所示,以玩家的初始位置所在的场景块的加载等级作为起始加载等级,记为loadlevel 0,中心场景块周围一圈场景块的加载等级记为loadlevel 1,再往外一圈场景块的加载等级记为loadlevel2。在场景加载过程中,首先对loadlevel 0场景块的场景元素进行加载,然后在对loadlevel 1场景块的场景元素进行加载,其次再在对loadlevel2场景块的场景元素进行加载。也就是说在场景元素加载中,以玩家初始位置所在场景块为中心,向外依次不断加载,确保玩家所在位置及其周围的场景被优先加载。
[0060]
本发明实施例根据玩家的位置、加载等级、场景内出现的场景元素尺寸大小以及场景块的大小按照不同的优先级别进行场景加载,能够针对变化较快的场景元素进行加载,同时更快地加载距离玩家较近的场景元素,减少不必要场景元素的加载,缩短游戏场景加载的时间,避免玩家在跳转过程中出现视野空窗的情况。
[0061]
本技术上述实施例为对于一般游戏场景中场景元素加载的优先级设置,但是在场景元素加载过程中还会受到玩家位置移动以及玩家视角的影响,针对该部分的进一步改进实施例如下:
[0062]
结合附图4,针对玩家视角的影响,该游戏场景加载方法还包括:
[0063]
步骤s301:获取玩家的目标视角。
[0064]
本发明实施例以摄像机的视角作为玩家的目标视角,以unity为例,通过调用camera.transform.forward得到玩家目标视角的三维向量。
[0065]
步骤s302:在相同加载等级中,优先加载所述目标视角内场景块包含的场景元素。
[0066]
以玩家的所在的场景块为起点,玩家的目标视角为方向,如附图4所示箭头的方向
为玩家的目标视角方向,在每个加载等级中,优先加载玩家目标视角方向的场景块,而后开始轮询加载周围的场景块。
[0067]
上述设定实现的是按照玩家的目标视角进行加载,并不会有超前加载的设定。考虑到在实际游戏中玩家的目标视角以及位置随时会发生改变,只是保证在相同加载等级中,目标视角内的场景元素优先被加载,以更好地避免游戏过程中的视野空窗。
[0068]
例如,游戏固定加载的顺序是从北到南,但是当玩家进入场景后迅速地将视角旋转到南方,若按固定的加载顺序必然会出现很多的视野破绽,然而在上述方案的调整下,可在固定加载顺序的基础上,优先对玩家目标视角内的场景元素进行加载,减少视野破绽的出现。又如待加载场景中小尺寸级别的场景元素因为对应的场景块尺寸更小,需要加载的次数更多,相对更新较慢;在目标视角内优先加载的情况下,能够让玩家目标视角内的小尺寸级别场景元素更快地出现,有利于提高玩家的游戏体验。
[0069]
针对玩家位置移动的影响,该游戏场景加载方法还包括:
[0070]
步骤s401:当玩家的位置发生移动时,判断玩家所在位置的场景块是否发生改变。
[0071]
步骤s402:若玩家所在位置的场景块发生改变,则获取玩家移动后位置所在场景块的编码。
[0072]
其中,场景块的编码包括横向编码和纵向编码。
[0073]
步骤s403:计算玩家移动后位置所在场景块的编码与玩家初始位置所在场景块的编码的差值。
[0074]
步骤s404:根据所述差值对所述加载等级进行平移调整。
[0075]
具体地,玩家所在的场景块的尺寸为m,玩家的位置发生移动,当玩家所在位置的场景块发生改变时,例如玩家初始位置(x1,y1)所在场景块的编码为(a1,b1)、玩家移动后位置(x2,y2)所在场景块的编码为(a2,b2),其中,场景块的编码是通过玩家的位置坐标与所在场景块尺寸相除之后向上取整得到的;计算并比较|a
1-a2|和|b
1-b2|,选取|a
1-a2|和|b
1-b2|中的最大值作为差值,根据差值与原来的场景块加载等级相减运算,得到平移调整后的加载等级。
[0076]
例如,玩家的位置发生移动时,判断玩家所在位置的场景块发生改变,结合附图3和附图5,其中附图3表示玩家初始位置场景块的加载等级,附图5表示玩家位置移动后场景块的加载等级;以地图左下角的第一个点为(0,0),玩家的初始位置为(50,50),玩家移动后的位置为(70,50),玩家所在的场景块尺寸为20,玩家初始位置所在场景块的编码为[50/2,50/2]、即为(3,3),玩家移动后的位置所在场景块的编码为[70/20,50/20],即为(4,3);也就是说玩家所在位置的场景块从第三行第三列的场景块移动至第四行第三列的场景块,则计算场景块编码的差值为1,根据差值对加载等级进行平移调整,即玩家位置发生移动前,以编码(3,3)的场景块的加载等级作为loadlevel 0,并向周围扩展第一圈场景块的加载等级为loadlevel 1,向周围扩展第二圈场景块的加载等级为loadlevel2;在玩家位置发生移动后,按差值1对加载等级进行平移调整,以编码(4,3)的场景块的加载等级作为loadlevel 0,那么编码(3,3)的场景块的加载等级为loadlevel|0-1|,即为loadlevel 1,其他场景块平移后的加载等级可以此类推得到。
[0077][0078]
[0079]
上述游戏场景加载方法相对于一般游戏场景读取的速度更快,加快场景的加载速度,增强游戏体验,减少视野空窗,在分级合理、场景块数量合理的情况下,减少对游戏场景加载的压力。
[0080]
应该理解的是,虽然附图1的流程图中各个步骤按照箭头额定指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以按其他的顺序执行。而且附图1中的至少一部分步骤可以包括多个子步骤或者子阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0081]
上述本发明公开的实施例中详细描述了场景加载方法,对于本发明公开的上述方法可以采用多种形式的设备实现,因此本发明还公开了对应上述方法的游戏场景加载装置,结合附图6,下面给出具体的实施例进行详细说明。
[0082]
场景获取模块601,用于获取游戏待加载场景中所有场景元素以及玩家的初始位置。
[0083]
尺寸计算模块602,用于根据各个场景元素的顶点确定场景元素包围盒、场景元素包围盒的尺寸以及场景元素的尺寸。
[0084]
场景包围盒确定模块603,用于将所有场景元素包围盒组成游戏待加载场景的包围盒。
[0085]
等级划分模块604,用于根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块的尺寸级别,所述场景元素尺寸级别与场景块的尺寸级别一一对应。
[0086]
场景块划分模块605,用于将所述游戏待加载场景的包围盒按照场景尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同。
[0087]
场景块-元素划分模块606,用于将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交;若是,所述场景块包含所述场景元素。
[0088]
场景元素加载模块607,用于对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。
[0089]
进一步地,针对玩家视角发生改变时,所述游戏场景加载装置还包括:
[0090]
视角获取模块,用于获取玩家的目标视角。
[0091]
视角加载模块,用于在相同加载等级中,优先加载所述目标视角内场景块包含的场景元素。
[0092]
另外,针对玩家位置发生改变时,所述游戏场景加载装置还包括:
[0093]
场景块改变判断模块,用于当玩家的位置发生移动时,判断玩家所在位置的场景块是否发生改变;
[0094]
编码获取模块,用于若玩家所在位置的场景块发生改变,则获取玩家移动后位置
所在场景块的编码;
[0095]
差值计算模块,用于计算玩家移动后位置所在场景块的编码与玩家初始位置所在场景块的编码的差值;
[0096]
加载等级调整模块,用于根据所述差值对所述加载等级进行平移调整。
[0097]
关于游戏场景加载装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或者部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或者独立于终端设备的处理器中,也可以以软件形式存储于终端设备的存储器中,以便处理器调用执行以上各个模块对应的操作。
[0098]
在一个实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面游戏场景加载方法的步骤。
[0099]
所述计算机可读存储介质可以是诸如闪存、eeprom(电可擦除可编只读程存储器)、eprom(可擦除可编只读程存储器)、硬盘或者rom之类的电子存储器。可选的,计算机可读存储介质包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入这一个或者多个计算机程序产品中,所述程序代码可以以适当形式进行压缩。
[0100]
在一个实施例中,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行上述游戏场景加载方法的步骤。
[0101]
所述计算机设备包括存储器、处理器以及一个或多个计算机程序,其中一个或多个计算机程序可以被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述游戏场景加载方法。
[0102]
处理器可以包括一个或多个处理核。处理器利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行计算机设备的各种功能和处理数据。可选地,处理器可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器可集成中央处理器(central processing unit,cpu)、埋点数据的上报验证器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块通信芯片进行实现。
[0103]
存储器可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器可用于存储指令、程序、代码、代码集或指令集。存储器可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储终端设备在使用中所创建的数据等。
[0104]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施
例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:


1.一种游戏场景加载方法,其特征在于,包括:获取游戏待加载场景中所有场景元素以及玩家的初始位置;根据各个场景元素的顶点确定场景元素包围盒、场景元素包围盒尺寸以及场景元素的尺寸;将所有场景元素包围盒组成游戏待加载场景的包围盒;根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块尺寸级别,所述场景元素尺寸级别与场景块尺寸级别一一对应;将所述游戏待加载场景的包围盒按照场景块尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同;将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交;若是,所述场景块包含所述场景元素;对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。2.如权利要求1所述的游戏场景加载方法,其特征在于,还包括:所述各个场景块尺寸级别划分的场景块中场景元素的加载按不同的频率并行加载。3.如权利要求1所述的游戏场景加载方法,其特征在于,还包括:获取玩家的目标视角;在相同加载等级中,优先加载所述目标视角内场景块包含的场景元素。4.如权利要求3所述的游戏场景加载方法,其特征在于,还包括:当玩家的位置发生移动时,判断玩家所在位置的场景块是否发生改变;若玩家所在位置的场景块发生改变,则获取玩家移动后位置所在场景块的编码;计算玩家移动后位置所在场景块的编码与玩家初始位置所在场景块的编码的差值;根据所述差值对所述加载等级进行平移调整。5.如权利要求1所述的游戏场景加载方法,其特征在于,所述根据各个场景元素的顶点确定场景元素包围盒尺寸以及场景元素的尺寸,包括:根据场景元素所有顶点的坐标值,筛选各个维度的坐标最大值和坐标最小值;计算各个维度坐标最大值和坐标最小值的差值,得到场景元素包围盒尺寸;根据所述场景元素包围盒尺寸计算得到场景元素的尺寸。6.一种游戏场景加载装置,其特征在于,包括:场景获取模块,用于获取游戏待加载场景中所有场景元素以及玩家的初始位置;尺寸计算模块,用于根据各个场景元素的顶点确定场景元素包围盒、场景元素包围盒的尺寸以及场景元素的尺寸;场景包围盒确定模块,用于将所有场景元素包围盒组成游戏待加载场景的包围盒;等级划分模块,用于根据场景元素的尺寸,将场景元素划分成不同场景元素尺寸级别,并根据所述场景元素尺寸级别得到场景块的尺寸级别,所述场景元素尺寸级别与场景块的
尺寸级别一一对应;场景块划分模块,用于将所述游戏待加载场景的包围盒按照场景尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒,以及每次生成的场景块包围盒尺寸相同;场景块-元素划分模块,用于将相同场景元素尺寸级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,判断该场景元素尺寸级别的场景元素包围盒与对应场景块尺寸级别划分的场景块包围盒是否相交;若是,所述场景块包含所述场景元素;场景元素加载模块,用于对各个场景块尺寸级别划分的场景块,以所述初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以所述初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。7.如权利要求6所述的游戏场景加载装置,其特征在于,还包括:视角获取模块,用于获取玩家的目标视角;视角加载模块,用于在相同加载等级中,优先加载所述目标视角内场景块包含的场景元素。8.如权利要求7所述的游戏场景加载装置,其特征在于,还包括:场景块改变判断模块,用于当玩家的位置发生移动时,判断玩家所在位置的场景块是否发生改变;中心坐标获取模块,用于若玩家所在位置的场景块发生改变,则获取玩家移动后位置所在场景块的编码;移动值计算模块,用于计算玩家移动后位置所在场景块的编码与玩家初始位置所在场景块的编码的差值;加载等级调整模块,用于根据所述差值对所述加载等级进行平移调整。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项游戏场景加载方法的步骤。10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时,执行权利要求1-5中任一项游戏场景加载方法。

技术总结


本申请提供游戏场景加载方法、装置、存储介质及设备,包括:将场景元素划分成不同场景元素尺寸级别,并根据场景元素尺寸级别得到场景块尺寸级别;将游戏待加载场景的包围盒按照场景块的尺寸级别进行多次划分,每次划分按照同一尺寸级别进行,且每次生成至少一个场景块包围盒;将相同场景元素级别的场景元素,按照场景元素的尺寸、场景元素的位置、场景块尺寸级别以及场景块的位置,确定每个场景块包含的场景元素;以初始位置所在的场景块作为中心,将游戏待加载场景划分为若干个加载等级,以初始位置所在场景块的加载等级为起始加载等级,按加载等级加载每个场景块包含的场景元素。该方法能够提高场景元素加载的效率,减少出现视野空窗的情况。野空窗的情况。野空窗的情况。


技术研发人员:

郭家明 刘旭军 陈伟聪 张纯涛 周晓明

受保护的技术使用者:

广东趣炫网络股份有限公司

技术研发日:

2022.11.25

技术公布日:

2023/2/23

本文发布于:2024-09-20 17:55:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/58011.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:场景   元素   加载   尺寸
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议