一种资源加载方法、装置、电子设备和存储介质与流程
未命名
10-09
阅读:97
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种资源加载方法、装置、电子设备和存储介质。
背景技术:
2.横板大世界游戏中通常存在很多游戏场景资源,现有技术中在加载游戏场景资源时,全量加载的方案会在进入游戏场景前将游戏场景内的所有资源一并加载入内存,而现有技术中往往采用手动方式进行场景划分,且得到子场景后,需要设置缓冲时间连接不同的子场景,因此,现有技术中的加载方案均会占用过多的内存资源,并导致加载效率低下、游戏卡顿等问题。
技术实现要素:
3.本技术提供了一种资源加载方法、装置、电子设备和存储介质,可以减少内存占用,提高加载效率。
4.一方面,本技术提供了一种资源加载方法,所述方法包括:
5.确定目标视野中包含的目标分割区域;所述目标分割区域为多个原始分割区域中的至少一个分割区域;所述多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;
6.对所述目标分割区域对应的关联资源进行加载;所述关联资源为所述目标分割区域中待加载对象对应的展示资源,所述待加载对象基于所述目标场景区域中包括的多个对象的对象边界信息,以及所述目标分割区域的分割边界信息进行确定。
7.另一方面提供了一种资源加载装置,所述装置包括:
8.目标分割区域确定模块,用于确定目标视野中包含的目标分割区域;所述目标分割区域为多个原始分割区域中的至少一个分割区域;所述多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;
9.关联资源加载模块,用于对所述目标分割区域对应的关联资源进行加载;所述关联资源为所述目标分割区域中待加载对象对应的展示资源,所述待加载对象基于所述目标场景区域中包括的多个对象的对象边界信息,以及所述目标分割区域的分割边界信息进行确定。
10.另一方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述所述的一种资源加载方法。
11.另一方面提供了一种计算机可读存储介质,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述所述的一种资源加载方法。
12.另一方面提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/
指令被处理器执行时实现上述所述的资源加载方法。
13.本技术提供的一种资源加载方法、装置、电子设备和存储介质,所述方法可以基于预设分割配置信息对目标场景区域进行区域分割得到多个原始分割区域,在动态加载的过程中,从多个原始分割区域中确定目标视野中包含的目标分割区域,并对目标分割区域对应的关联资源进行加载,关联资源为目标分割区域中待加载对象对应的展示资源,待加载对象基于目标场景区域中包括的多个对象的对象边界信息,以及目标分割区域的分割边界信息进行确定。该方法可以降低加载时的内存占用,减少加载和内存管理上的资源开销。
附图说明
14.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本技术实施例提供的一种资源加载方法的应用场景示意图;
16.图2为本技术实施例提供的一种资源加载方法的流程图;
17.图3为本技术实施例提供的一种资源加载方法中确定目标分割区域的方法的流程图;
18.图4为本技术实施例提供的一种资源加载方法中关联资源加载时的逻辑运行类图;
19.图5为本技术实施例提供的一种资源加载方法中运行时目标分割区域的加载情况示意图;
20.图6为本技术实施例提供的一种资源加载方法中确定关联资源的方法的流程图;
21.图7为本技术实施例提供的一种资源加载方法中大场景分割工具示意图;
22.图8为本技术实施例提供的一种资源加载方法中执行重分割操作的方法的流程图;
23.图9为本技术实施例提供的一种资源加载方法加入区域分割后的游戏场景的制作流程图;
24.图10为本技术实施例提供的一种资源加载方法中的预处理流程图;
25.图11为本技术实施例提供的一种资源加载方法中增加预处理步骤后基于大场景分割工具划分场景区域的示意图;
26.图12为本技术实施例提供的一种资源加载方法中得到第二资源检测结果;
27.图13为本技术实施例提供的一种资源加载方法中进行渲染配置的流程图;
28.图14为本技术实施例提供的一种资源加载方法中执行区域分割的大场景分割工具的界面示意图;
29.图15为本技术实施例提供的资源加载方法与全量加载方法的数值对比图;
30.图16为本技术实施例提供的一种资源加载装置的结构示意图;
31.图17为本技术实施例提供的一种用于实现本技术实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
32.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.在本技术的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
34.可以理解的是,在本技术的具体实施方式中,涉及到用户信息等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
35.请参见图1,其显示了本技术实施例提供的一种资源加载方法的应用场景示意图,所述应用场景包括加载客户端110、分割客户端120和游戏服务器130,分割客户端120可以基于预设分割配置信息对目标场景区域进行区域分割得到多个原始分割区域,在加载客户端110从游戏服务器130中获取具有原始分割区域的目标场景区域以及对应的展示资源后,加载客户端110执行动态加载的过程中,从多个原始分割区域中确定目标视野中包含的目标分割区域,并对目标分割区域对应的关联资源进行加载。
36.在本技术实施例中,客户端110包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本技术实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、unix、windows等。客户端110包括ui(user interface,用户界面)层,客户端110通过ui层对外提供关联资源的展示,另外,基于api(application programming interface,应用程序接口)将场景获取请求发送给服务器130。
37.请参见图2,其显示了一种资源加载方法,可应用于客户端侧,所述方法包括:
38.s210.确定目标视野中包含的目标分割区域。目标分割区域为多个原始分割区域中的至少一个分割区域,多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;
39.在一些实施例中,在进行资源加载前,可以基于预设分割配置信息,对目标场景区域进行区域分割,可以得到多个原始分割区域。在进行资源加载时,确定目标视野对应的原始分割区域是否发生区域更新,可以将更新后的原始分割区域确定为目标分割区域。
40.在一些实施例中,请参见图3,确定目标视野中包含的目标分割区域包括:
41.s310.获取目标视野对应的操作对象的第一位置信息和第二位置信息,第二位置信息为第一位置信息更新后的位置信息;
42.s320.对比第一位置信息对应的第一原始分割区域和第二位置信息对应的第二原始分割区域,得到区域对比结果;
43.s330.在区域对比结果指示第一原始分割区域和第二原始分割区域不匹配的情况
下,将第二原始分割区域作为目标分割区域。
44.在一些实施例中,获取目标视野对应的操作对象的第一位置信息和第二位置信息,第二位置信息为第一位置信息更新后的位置信息,也就是说,第二位置信息为在第一位置信息之后采集到的位置信息,在游戏场景中,响应于用户输入的移动操作信息,对操作对象执行移动操作,可以将移动前的位置信息作为第一位置信息,将移动后的位置信息作为第二位置信息。
45.对比第一位置信息对应的第一原始分割区域和第二位置信息对应的第二原始分割区域,判断随着位置信息的更新,原始分割区域是否发生更新,可以得到区域对比结果。在区域对比结果指示第一原始分割区域和第二原始分割区域匹配的情况下,可以判断原始分割区域并未发生更新,此时不需要执行加载操作。在区域对比结果指示第一原始分割区域和第二原始分割区域不匹配的情况下,可以判断原始分割区域发生更新,将第二原始分割区域作为目标分割区域,此时需要对目标分割区域执行加载操作。
46.通位置信息确定目标分割区域,并加载目标分割区域中待加载对象对应的关联资源,可以实现动态加载,从而降低加载时的内存占用,提高游戏的流畅性。
47.s220.对目标分割区域对应的关联资源进行加载。关联资源为目标分割区域中待加载对象对应的展示资源,待加载对象基于目标场景区域中包括的多个对象的对象边界信息,以及目标分割区域的分割边界信息进行确定。
48.在一些实施例中,在确定目标分割区域之后,加载目标分割区域对应的关联资源,可以基于关联资源执行渲染操作,得到目标分割区域中的待加载对象。原始分割区域和目标场景区域中的对象间具有的关联关系,该关联关系可以基于多个对象的对象边界信息,以及原始分割区域的分割边界信息进行确定。
49.在一些实施例中,请参见图4,图4为关联资源加载时的逻辑运行类图。如图4所示,关联资源加载时运行的逻辑信息包括数据包(data)、工具包(utility)、内存管理包(runtime)和扩展包(extend)。其中,data用于对目标场景区域中对象的各种基本信息的管理与序列化,data包括基础数据(basedata)、着色器数据(shaderdata)、场景数据(scenedata)、实体数据(entitydata)和资产数据(assetdata)等。其中,scenedata包括图层描述信息(layerdesc)和区域描述信息(sactordata)。
50.utility用于提供各种实用工具,utility包括最近最少使用存储器(lrucache)、最近最少使用的数据存储器(lrumemcache)、比较器(in ts comparer)、区域工具包(sectorutility)和区域调试器(sectordebug)。
51.runtime用于在运行时管理关联资源加载或卸载的逻辑,runtime包括脚本基类(monobehaviour)、依赖逻辑(dependencyproxy)、场景管理逻辑(customscenemanager)、相邻加载逻辑(neighborloader)、参考对象(refobject)和资源加载逻辑(baseresloadproxy),其中,dependencyproxy用于实现目标场景区域中对象对应的各种资源引用计数,customscenemanager为资源管理的主要逻辑,neighborloader为加载相邻原始分割区域的逻辑。refobject包括资产对象(assetobject)、实体对象(entityobject)和区域对象(sectorobject)。extend为关联资源加载时的扩展信息。
52.在一些实施例中,请参见图5,如图5所示为运行时目标分割区域的加载情况示意图。图5中的上半部分为目标视野,图5中的下半部分为目标视野对应的目标分割区域的加
载情况。对应目标视野中操作对象的位置,对目标分割区域中可视范围内的待加载对象进行加载和渲染,对同一目标分割区域,但位于可视范围外的待加载对象可以不进行加载和渲染。
53.在一些实施例中,请参见图6,确定目标视野中包含的目标分割区域之前,该方法还包括:
54.s610.基于多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,确定多个原始分割区域各自对应的待加载对象;每个原始分割区域包含的待加载对象的对象边界信息,与每个原始分割区域的分割边界信息相交;
55.s620.将各自对应的待加载对象的展示资源作为多个原始分割区域各自对应的关联资源。
56.在一些实施例中,基于多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,可以确定多个原始分割区域各自对应的待加载对象。可以对比多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,以确定对象编辑信息和分割边界信息是否相交,得到边界信息对比结果。在边界信息对比结果指示某一对象的对象边界信息和某一原始分割区域的分割边界信息相交的情况下,说明该原始分割区域中需要包含该对象,则可以将该对象确定为该原始分割区域的待加载对象,并将该对象的展示资源作为该原始分割区域对应的关联资源。
57.若某一对象的对象边界信息与两个或两个以上的原始分割区域的分割边界信息均相交,则将该对象作为所有相交的原始分割区域的待加载对象,并将该对象的展示资源作为所有相交的原始分割区域对应的关联资源。例如,某一对象x的对象边界信息x与原始分割区域a的分割边界信息a1相交,同时该对象x的对象边界信息x与原始分割区域b的分割边界信息b1相交,则说明该对象x同时属于原始分割区域a和原始分割区域b,因此需要将对象x既作为原始分割区域a的待加载对象,也作为原始分割区域b的待加载对象。在资源加载时,若目标视野对应的目标分割区域为原始分割区域a,则可以加载对象x对应的关联资源,若目标分割区域从原始分割区域a更新为原始分割区域b,则也可以加载对象x对应的关联资源,从而使得从原始分割区域a更新为原始分割区域b时,可以连贯展示对象x,可以避免出现只将对象x与某一相交的原始分割区域关联导致的对象x突然消失的问题。
58.对象边界信息可以为对象的包围盒信息,包围盒信息为体积稍大且特性简单的几何体,包围盒信息可以用于近似地代替复杂的几何对象。遍历目标场景区域中的对象,确定每个对象的包围盒信息,并将每个对象的包围盒信息与每个原始分割区域的分割边界信息求交,若相交,将与分割边界信息相交的包围盒信息对应的对象作为对应的原始分割区域的待加载对象,增加到对应的原始分割区域的引用中,并可以在该对应的原始分割区域中增加一个计数。
59.在一些实施例中,请参见图7,如图7所示为大场景分割工具示意图。大场景分割工具包括场景编辑类(scenebuildereditor)、场景检查类(customscenechecker)、场景资源构建类(customscenebuilder)和helper类,其中customscenebuilder和其他builder用于将目标场景区域中各个对象对应的展示资源拆分成包含网格、材质等基本信息的配置文件,例如additivescencebuilder可以用于拆分叠加类型的目标场景区域。这些拆分后得到的配置文件可以在资源加载运行时组装成为待加载对象。customscenechecker用于基于预
设的规则,对目标场景区域中各个对象的光照贴图、包围盒信息等资源参数进行检查。helper类则用于管理基本数据与序列化等信息。基于大场景分割工具可以对目标场景区域中各个对象的展示资源进行拆分,得到网格资源组件,并将拆分后的网格资源组件重组为待加载对象,以及对目标场景区域进行场景分割,确定待加载对象关联的原始分割区域的功能。在使用大场景分割工具进行区域分割后,将生成的待加载对象对应的网格资源组件等基础数据保存到对应的文件与组件中,并保存包括原始分割区域的目标场景区域。
60.基于对象边界信息和分割边界信息间的交集,确定原始分割区域对应的待加载对象,可以使得客户端能够执行自动化的区域分割,从而提高了区域分割的效率,避免了人工划分的繁琐及易出错的问题,并提高了游戏开发的效率。
61.在一些实施例中,请参见图8,将各自对应的待加载对象的展示资源作为多个原始分割区域各自对应的关联资源之后,方法还包括:
62.s810.对每个原始分割区域对应的关联资源进行资源检测,得到第一资源检测结果;
63.s820.在第一资源检测结果指示检测不通过的情况下,基于第一资源检测结果,对目标场景区域执行区域重分割操作。
64.在一些实施例中,在区域分割之后,可以对每个原始分割区域对应的关联资源进行资源检测,得到第一资源检测结果。对每个原始分割区域对应的关联资源进行资源检测时,可以进行一些比较复杂的资源检测,例如检测原始分割区域中的待加载对象是不是只由一个拆分后得到的网格资源组件组成,不包括其他网格资源组件。检测原始分割区域中的待加载对象中是否包括多个拆分后得到的网格资源组件,待加载对象中是否具有脚本代码,以及该脚本代码是否被删除。还可以检测原始分割区域中的待加载对象上的网格资源组件的排布顺序是否符合预设顺序。
65.在第一资源检测结果指示检测不通过的情况下,可以基于第一资源检测结果,对目标场景区域执行区域重分割操作。例如,若第一资源检测结果指示原始分割区域中的待加载对象是只由一个拆分后得到的网格资源组件组成,则说明在对目标场景区域执行区域分割操作时,并不需要将该待加载对象单独拆分出来,只需要记录该待加载对象对应的标识信息,此时可以对目标场景区域执行区域重分割操作,在重分割的时候就可以不将该待加载对象单独拆分出来。
66.若第一资源检测结果指示原始分割区域中的待加载对象上的网格资源组件的排布顺序不符合预设顺序,则可以提示用户网络资源组件的排布顺序出错,并对目标场景区域执行区域重分割操作。
67.在一些实施例中,请参见图9,如图9所示为加入区域分割后的游戏场景的制作流程图,美术场景即为目标场景区域,使用大场景分割工具对目标场景区域进行区域分割后,再进行场景规范检查,也就是对每个原始分割区域对应的关联资源进行资源检测,若不符合场景规范则执行重分割操作,若符合场景规范则保存待加载对象对应的光照贴图等基础场景资源和自定义描述文件。其中可以将自定义描述文件转换为二进制的格式,可以在资源加载时运行。
68.对区域分割后得到的待加载对象进行资源检测,可以避免区域分割对展示资源造成的影响,从而提高区域分割的准确性。
69.在一些实施例中,请参见图10,基于多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,确定多个原始分割区域各自对应的待加载对象之前,方法还包括:
70.s1010.对多个对象对应的初始展示资源进行渲染配置,得到预处理后展示资源;
71.s1020.对预处理后展示资源进行资源检测,得到第二资源检测结果;
72.s1030.在第二资源检测结果指示检测通过的情况下,将预处理后展示资源作为多个对象对应的展示资源。
73.在一些实施例中,在区域分割之前,可以对多个对象对应的初始展示资源进行渲染配置,并进行简单的资源检测。基于不同的地形类别,对多个对象对应的初始展示资源配置对应的渲染器,得到预处理后展示资源。并对预处理后展示资源进行资源检测,在本次资源检测时,检测的是预处理后展示资源中各个对象的参数信息,例如光照参数信息、资源参数信息等。在第二资源检测结果指示检测通过的情况下,可以将预处理后展示资源作为多个对象对应的展示资源,在第二资源检测结果指示检测不通过的情况下,可以基于第二资源检测结果,对初始展示资源进行参数处理,修正第二资源检测结果指示的资源检测问题信息。
74.在一些实施例中,请参见图11,如图11所示为增加预处理步骤后基于大场景分割工具划分场景区域的示意图。基于大场景分割区域,可以对多个对象对应的初始展示资源进行渲染配置,在渲染配置之后简单检查场景规范,再对目标场景区域执行区域分割,并在区域分割后保存具有原始分割区域的目标场景区域以及待加载对象对应的网格资源组件等基础数据。
75.在区域分割之前进行渲染配置,可以在动态加载时提高渲染性能,且在区域分割之前可以进行简单的资源检测,避免区域分割时对象边界信息等出现错误导致分割错误,从而提高了区域分割的准确性。
76.在一些实施例中,请参见图12,第二资源检测结果包括光照检测结果和对象检测结果,对预处理后展示资源进行资源检测,得到第二资源检测结果包括:
77.s1210.对预处理后展示资源中各个对象的光照参数信息进行资源检测,得到光照检测结果;
78.s1220.对预处理后展示场景资源中各个对象的资源参数信息进行资源检测,得到对象检测结果;
79.在第二资源检测结果指示检测通过的情况下,将预处理后展示资源作为多个对象对应的展示资源包括:
80.s1230.在光照检测结果指示检测通过,且对象检测结果指示检测通过的情况下,将预处理后展示资源作为多个对象对应的展示资源。
81.在一些实施例中,对预处理后展示资源中各个对象的光照参数信息进行资源检测时,可以检测光照贴图的大小和数量是否超过预设光照参数阈值,得到光照检测结果。对预处理后展示场景资源中各个对象的资源参数信息进行资源检测时,可以检测网格渲染器的数量、网格资源组件的材质大小、材质包围盒大小是否超出预设资源参数阈值,得到对象检测结果。在光照检测结果指示未超过预设光照参数阈值,且对象检测结果指示未超过预设资源参数阈值的情况下,可以将预处理后展示资源作为多个对象对应的展示资源。
82.在光照检测结果指示超过预设光照参数阈值,且对象检测结果指示未超过预设资
源参数阈值的情况下,基于光照检测结果,对初始展示资源进行参数处理。在光照检测结果指示未超过预设光照参数阈值,且对象检测结果指示超过预设资源参数阈值的情况下,基于对象检测结果,对初始展示资源进行参数处理。在光照检测结果指示超过预设光照参数阈值,且对象检测结果指示超过预设资源参数阈值的情况下,基于光照检测结果和对象检测结果,对初始展示资源进行参数处理。
83.光照参数信息可以用于对待加载对象进行光影处理,资源参数信息可以用于对待加载对象与原始分割区域进行关联,通过对光照参数信息和资源参数信息进行检测,可以避免区域分割出现错误,从而提高了区域分割的准确性。
84.在一些实施例中,请参见图13,对多个对象对应的初始展示资源进行渲染配置,得到预处理后展示资源包括:
85.s1310.对初始展示资源中的目标展示资源进行资源分类,得到多种地形类别分别对应的地形展示资源;
86.s1320.对每种地形展示资源进行渲染配置,得到预处理后展示资源。
87.在一些实施例中,目标展示资源可以为地表展示资源,对地表展示资源进行资源分类,得到多种地形类别分别对应的地形展示资源,例如草地地形展示资源、雪地地形展示资源、沙漠地形展示资源等。对每种地形展示资源配置对应的渲染器,可以得到预处理后展示资源。
88.基于地形拆分对象(terrainsplit),可以对目标展示资源进行资源分类,得到多种地形类别分别对应的地形展示资源。在资源分类之前,需要清除初始展示资源中之前的地形拆分对象。在目标展示资源中挂载地形拆分对象,进行地形拆分并创建各种地形类别对应的渲染器,之后删除挂载的地形拆分对象。
89.在区域分割之前基于不同的地形类别,对地形展示资源进行渲染器配置,可以在动态加载时提高渲染性能,从而提高动态加载的效率。
90.在一些实施例中,如图14所示为执行区域分割的大场景分割工具的界面示意图。响应于用户输入的指令触发的场景分割操作信息,执行场景分割操作信息对应的场景分割功能。场景分割操作信息包括预设分割配置信息、渲染配置信息、资源检测信息和场景导出测试信息。预设分割配置信息可以用于设置原始分割区域的大小,渲染配置信息用于对初始展示资源进行渲染配置,资源检测信息用于在区域分割之前和区域分割之前进行场景规范检查,场景导出测试信息用于导出具有原始分割区域的目标场景区域,并测试运行该目标场景区域。
91.在一些实施例中,该资源加载方法可以应用于游戏场景中,对游戏大世界场景进行分割以及动态加载。在游戏场景中,初始展示资源即为初始游戏资源,对多个对象对应的初始游戏资源进行渲染配置,得到预处理后游戏资源,再对预处理后游戏资源进行资源检测,得到初始游戏资源的检测结果。在初始游戏资源的检测结果指示检测通过的情况下,将预处理后游戏资源作为多个对象对应的游戏资源。在对初始游戏资源进行预处理的过程中,可以将初始游戏资源拆分为网格资源组件,基于网格资源组件可以在运行时重组为待加载对象对应的游戏资源。
92.基于预设分割配置信息,对游戏资源对应的目标场景区域进行区域分割,得到多个原始分割区域。
93.对比多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,得到区域对比结果,在区域对比结果指示对象编辑信息和分割边界信息相交的情况下,确定多个原始分割区域各自对应的待加载对象,并将各自对应的待加载对象的展示资源作为多个原始分割区域各自对应的关联资源。
94.在完成区域分割之后,可以对每个原始分割区域对应的关联资源进行资源检测,得到关联资源的检测结果。在关联资源的检测结果指示检测不通过的情况下,基于关联资源的检测结果,可以对目标场景区域执行区域重分割操作。
95.在进行动态加载时,通过目标视野对应的操作对象的当前位置信息和更新后的位置信息分别对应的原始分割区域,可以确定目标视野中包含的目标分割区域。对目标分割区域对应的关联资源进行加载即可完成游戏资源的动态加载。
96.请参见图15,如图15所示为本技术实施例提供的资源加载方法与全量加载方法的数值对比图,使用本技术实施例提供的资源加载方法,在大世界场景中对象数、资源数、场景中内存占用均比全量加载方案有效降低,内存占用从全量加载的96mb降低至26mb,降低了约72.9%内存占用。
97.本技术实施例提供的资源加载方法包括:基于预设分割配置信息对目标场景区域进行区域分割得到多个原始分割区域,在动态加载的过程中,从多个原始分割区域中确定目标视野中包含的目标分割区域,并对目标分割区域对应的关联资源进行加载,关联资源为目标分割区域中待加载对象对应的展示资源,待加载对象基于目标场景区域中包括的多个对象的对象边界信息,以及目标分割区域的分割边界信息进行确定。该方法可以降低加载时的内存占用,减少加载和内存管理上的资源开销,从而可以提高中低端手机上的游戏体验,提高游戏的流畅性。
98.本技术实施例还提供了一种资源加载装置,请参见图16,该装置包括:
99.目标分割区域确定模块1610,用于确定目标视野中包含的目标分割区域;目标分割区域为多个原始分割区域中的至少一个分割区域;多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;
100.关联资源加载模块1620,用于对目标分割区域对应的关联资源进行加载;关联资源为目标分割区域中待加载对象对应的展示资源,待加载对象基于目标场景区域中包括的多个对象的对象边界信息,以及目标分割区域的分割边界信息进行确定。
101.在一些实施例中,该装置还包括:
102.待加载对象确定模块,用于基于多个对象的对象边界信息,以及多个原始分割区域的分割边界信息,确定多个原始分割区域各自对应的待加载对象;每个原始分割区域包含的待加载对象的对象边界信息,与每个原始分割区域的分割边界信息相交;
103.关联资源确定模块,用于将各自对应的待加载对象的展示资源作为多个原始分割区域各自对应的关联资源。
104.在一些实施例中,该装置还包括:
105.第一资源检测模块,用于对每个原始分割区域对应的关联资源进行资源检测,得到第一资源检测结果;
106.重分割模块,用于在第一资源检测结果指示检测不通过的情况下,基于第一资源检测结果,对目标场景区域执行区域重分割操作。
107.在一些实施例中,目标分割区域确定模块包括:
108.位置信息获取单元,用于获取目标视野对应的操作对象的第一位置信息和第二位置信息,第二位置信息为第一位置信息更新后的位置信息;
109.区域对比单元,用于对比第一位置信息对应的第一原始分割区域和第二位置信息对应的第二原始分割区域,得到区域对比结果;
110.目标区域确定单元,用于在区域对比结果指示第一原始分割区域和第二原始分割区域不匹配的情况下,将第二原始分割区域作为目标分割区域。
111.在一些实施例中,该装置还包括:
112.渲染配置模块,用于对多个对象对应的初始展示资源进行渲染配置,得到预处理后展示资源;
113.第二资源检测模块,用于对预处理后展示资源进行资源检测,得到第二资源检测结果;
114.展示资源确定模块,用于在第二资源检测结果指示检测通过的情况下,将预处理后展示资源作为多个对象对应的展示资源。
115.在一些实施例中,第二资源检测结果包括光照检测结果和对象检测结果,第二资源检测模块包括:
116.光照参数检测单元,用于对预处理后展示资源中各个对象的光照参数信息进行资源检测,得到光照检测结果;
117.资源参数检测单元,用于对预处理后展示场景资源中各个对象的资源参数信息进行资源检测,得到对象检测结果;
118.展示资源确定模块包括:
119.展示资源确定单元,用于在光照检测结果指示检测通过,且对象检测结果指示检测通过的情况下,将预处理后展示资源作为多个对象对应的展示资源。
120.在一些实施例中,渲染配置模块包括:
121.地形拆分单元,用于对初始展示资源中的目标展示资源进行资源分类,得到多种地形类别分别对应的地形展示资源;
122.地形渲染配置单元,用于对每种地形展示资源进行渲染配置,得到预处理后展示资源。
123.上述实施例中提供的装置可执行本技术任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的一种资源加载方法。
124.本实施例还提供了一种计算机可读存储介质,存储介质中存储有计算机可执行指令,计算机可执行指令由处理器加载并执行本实施例上述的一种资源加载方法。
125.本实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述资源加载的各种可选实现方式中提供的方法。
126.本实施例还提供了一种电子设备,该电子设备包括处理器和存储器,其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行本实施例上述的一种资源加载方
法。
127.该电子设备可以为计算机终端、移动终端或服务器,该电子设备还可以参与构成本技术实施例所提供的装置或系统。如图17所示,移动终端17或计算机终端17可以包括一个或多个(图中采用1702a、1702b,
……
,1702n来示出)处理器1702(处理器1702可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1704、以及用于通信功能的传输装置1706。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图17所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端17或计算机终端17还可包括比图17中所示更多或者更少的组件,或者具有与图17所示不同的配置。
128.应当注意到的是上述一个或多个处理器1702和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到移动终端17或计算机终端17中的其他元件中的任意一个内。
129.存储器1704可用于存储应用软件的软件程序以及模块,如本技术实施例中所述的方法对应的程序指令/数据存储装置,处理器1702通过运行存储在存储器1704内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种基于自注意力网络的时序行为捕捉框生成方法。存储器1704可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1704可进一步包括相对于处理器1702远程设置的存储器,这些远程存储器可以通过网络连接至移动终端17或计算机终端17。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
130.传输装置1706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端17或计算机终端17的通信供应商提供的无线网络。在一个实例中,传输装置1706包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1706可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
131.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与移动终端17或计算机终端17的用户界面进行交互。
132.本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
133.本实施例中所示出的结构,仅仅是与本技术方案相关的部分结构,并不构成对本技术方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一
点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
134.基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
135.本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本技术的范围。
136.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种资源加载方法,其特征在于,所述方法包括:确定目标视野中包含的目标分割区域;所述目标分割区域为多个原始分割区域中的至少一个分割区域;所述多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;对所述目标分割区域对应的关联资源进行加载;所述关联资源为所述目标分割区域中待加载对象对应的展示资源,所述待加载对象基于所述目标场景区域中包括的多个对象的对象边界信息,以及所述目标分割区域的分割边界信息进行确定。2.根据权利要求1所述的一种资源加载方法,其特征在于,所述确定目标视野中包含的目标分割区域之前,所述方法还包括:基于所述多个对象的对象边界信息,以及所述多个原始分割区域的分割边界信息,确定所述多个原始分割区域各自对应的待加载对象;每个原始分割区域包含的待加载对象的对象边界信息,与所述每个原始分割区域的分割边界信息相交;将所述各自对应的待加载对象的展示资源作为所述多个原始分割区域各自对应的关联资源。3.根据权利要求2所述的一种资源加载方法,其特征在于,所述将所述各自对应的待加载对象的展示资源作为所述多个原始分割区域各自对应的关联资源之后,所述方法还包括:对每个原始分割区域对应的关联资源进行资源检测,得到第一资源检测结果;在所述第一资源检测结果指示检测不通过的情况下,基于所述第一资源检测结果,对所述目标场景区域执行区域重分割操作。4.根据权利要求1所述的一种资源加载方法,其特征在于,所述确定目标视野中包含的目标分割区域包括:获取所述目标视野对应的操作对象的第一位置信息和第二位置信息,所述第二位置信息为所述第一位置信息更新后的位置信息;对比所述第一位置信息对应的第一原始分割区域和所述第二位置信息对应的第二原始分割区域,得到区域对比结果;在所述区域对比结果指示所述第一原始分割区域和所述第二原始分割区域不匹配的情况下,将所述第二原始分割区域作为所述目标分割区域。5.根据权利要求2所述的一种资源加载方法,其特征在于,所述基于所述多个对象的对象边界信息,以及所述多个原始分割区域的分割边界信息,确定所述多个原始分割区域各自对应的待加载对象之前,所述方法还包括:对所述多个对象对应的初始展示资源进行渲染配置,得到预处理后展示资源;对所述预处理后展示资源进行资源检测,得到第二资源检测结果;在所述第二资源检测结果指示检测通过的情况下,将所述预处理后展示资源作为所述多个对象对应的展示资源。6.根据权利要求5所述的一种资源加载方法,其特征在于,所述第二资源检测结果包括光照检测结果和对象检测结果,所述对所述预处理后展示资源进行资源检测,得到第二资源检测结果包括:对所述预处理后展示资源中各个对象的光照参数信息进行资源检测,得到光照检测结
果;对所述预处理后展示场景资源中各个对象的资源参数信息进行资源检测,得到对象检测结果;所述在所述第二资源检测结果指示检测通过的情况下,将所述预处理后展示资源作为所述多个对象对应的展示资源包括:在所述光照检测结果指示检测通过,且所述对象检测结果指示检测通过的情况下,将所述预处理后展示资源作为所述多个对象对应的展示资源。7.根据权利要求5所述的一种资源加载方法,其特征在于,所述对所述多个对象对应的初始展示资源进行渲染配置,得到预处理后展示资源包括:对所述初始展示资源中的目标展示资源进行资源分类,得到多种地形类别分别对应的地形展示资源;对每种地形展示资源进行渲染配置,得到所述预处理后展示资源。8.一种资源加载装置,其特征在于,所述装置包括:目标分割区域确定模块,用于确定目标视野中包含的目标分割区域;所述目标分割区域为多个原始分割区域中的至少一个分割区域;所述多个原始分割区域基于预设分割配置信息对目标场景区域进行区域分割得到;关联资源加载模块,用于对所述目标分割区域对应的关联资源进行加载;所述关联资源为所述目标分割区域中待加载对象对应的展示资源,所述待加载对象基于所述目标场景区域中包括的多个对象的对象边界信息,以及所述目标分割区域的分割边界信息进行确定。9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任一项所述的一种资源加载方法。10.一种计算机可读存储介质,其特征在于,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任一项所述的一种资源加载方法。11.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的资源加载方法。
技术总结
本申请公开了一种资源加载方法、装置、电子设备和存储介质,所述方法包括:基于预设分割配置信息对目标场景区域进行区域分割得到多个原始分割区域,在动态加载的过程中,从多个原始分割区域中确定目标视野中包含的目标分割区域,并对目标分割区域对应的关联资源进行加载,关联资源为目标分割区域中待加载对象对应的展示资源,待加载对象基于目标场景区域中包括的多个对象的对象边界信息,以及目标分割区域的分割边界信息进行确定。该方法可以降低加载时的内存占用,减少加载和内存管理上的资源开销,从而可以提高中低端手机上的游戏体验,提高游戏的流畅性。提高游戏的流畅性。提高游戏的流畅性。
技术研发人员:胡波 余煜 周敬武
受保护的技术使用者:深圳市腾讯网域计算机网络有限公司
技术研发日:2022.03.23
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种具备隐藏式伸缩油烟机的集成灶的制作方法 下一篇:烹饪控制方法和烹饪设备与流程
