一种共享资源方法技术

技术编号:25881542 阅读:13 留言:0更新日期:2020-10-09 23:10
本发明专利技术公开了一种共享资源方法,S1.获取资源组合预制体,导出资源组合预制体中的原预制体的信息;S2.向资源池发送需要显示原预制体的申请以及原预制体的信息;S3.资源池通过判断资源池内是否已有所述步骤S2的原预制体对应的资源组合预制体以及所述资源组合预制体的空闲状况,如果存在空闲的原预制体对应的资源组合预制体,则返回原预制体对应的资源,否则加载资源组合预制体,然后创建并返回原预制体对应的资源;S4.显示原预制体,原预制体在显示结束后由资源池进行回收,终止原预制体对应的异步加载。本发明专利技术的优点在于,避免重复读取资源组合预制体,使得资源利用率最大化,同时采用低CPU性能成本的多层次细节技术。

【技术实现步骤摘要】
一种共享资源方法
本专利技术涉及信息
,更具体地,涉及一种共享资源方法。
技术介绍
在当今各种类型的游戏运行的过程中,都会涉及大量的资源加载需要。在大多数的情况下,资源的需求都是动态而非固定情况下发生,导致游戏程序频繁的加载增加资源去满足画面显示的需要,同时也就增加了对游戏运行的效率影响。如果游戏采用世界地图的话,除了大量的资源加载负担外,还会有很高的渲染负担,例如同屏幕的资源数量很高。现有的技术方案是利用所用游戏引擎提供的资源预制体机制,经过美术手段准备好资源组合预制体,再结合技术手段去建立游戏运行时的资源池,以最大程度提高资源复用率,也减少资源被反复生成的目的。现有的预制体经常由多个部分组成,而资源池在对预制体回收时,地图可能仍然要展示与预制体的其中一部分相同的模型,但此时由于预制体被完全回收,导致该部分无法被利用,除非预制体再次被重新加载到地图中。典型的现有技术如专利申请(申请号:201811359443.4,专利技术名称:一种预制体开发方法、装置、设备及介质)所记载,将美术资源组合为目标预制体后,按类型将预制体存储至相应的存储路径下,在调用时直接根据预制体类型在存储路径下获取预制体,不对已读取的资源进行重复利用,导致资源利用率不高。在专利申请(申请号:201710777986.7,专利技术名称:一种超大地图场景资源的存储方法及存储装置)中,通过获取地图场景资源和将其分类,并以地图索引筛查出被调用的地图场景预制体,并将它们进行保存。该专利申请同样是根据分类进行预制体的存储和读取,在存储方面进行优化,而运行时仍然采用一般的按需读取方式。现有的技术方案还利用多层次细节(LevelOfDetail)技术,当玩家视角对应的摄像机距离地图较远时,采用低精度的版本渲染资源,反之则采用精度高的版本渲染资源,以此去降低同屏幕需要渲染的顶点数量。如果多层次细节技术直接与预制体机制搭配使用,则要在预制体组合里,增加在不同层级上应该要显示的模型版本,然后通过游戏引擎提供的多层次细节组件控制实现。这会增加预制体的文件大小、读取时间及内存占用,而且引入的控制组件也会增加实时性能上的负担。
技术实现思路
本专利技术为克服上述现有技术所述的缺陷,提高预制体的资源利用率,降低多层次细节技术带来的性能负担,提供一种将资源利用率最大化的共享资源方法。为解决上述技术问题,本专利技术的技术方案如下:一种共享资源方法,包括以下步骤:S1.获取资源组合预制体,导出资源组合预制体中的原预制体的信息;S2.向资源池发送需要显示原预制体的申请以及原预制体的信息;S3.资源池通过判断资源池内是否已有所述步骤S2的原预制体对应的资源组合预制体以及所述资源组合预制体的空闲状况,如果存在空闲的原预制体对应的资源组合预制体,则返回原预制体对应的资源,否则加载资源组合预制体,然后创建并返回原预制体对应的资源;S4.显示原预制体,原预制体在显示结束后由资源池进行回收,终止原预制体的异步加载。上述方法的原理为:首先重组资源组合预制体的相关数据至每个原预制体的信息;游戏在进行时,尤其是最初加载和用户移动视角时,需要加载新的原预制体,因此向资源池发出相关的需求申请;资源池首先判断其中有无可供使用的资源组合预制体,用于直接向游戏的上层应用返回资源组合预制体,否则进行新的加载,然后根据设定的流程创建原预制体以供显示;原预制体在显示完成后,即可由资源池回收至资源组合预制体,该操作可被通知至游戏程序的其他部分,尤其是终止正在进行的、原预制体对应的加载。进一步地,所述原预制体的信息包括网格、材质、贴图、预制组合内的位置、旋转角度和尺寸。进一步地,所述资源池在加载资源组合预制体时,如果资源组合预制体中存在已加载的原预制体,则仅加载指向已加载的原预制体的索引。进一步地,所述步骤S3中显示创建原预制体对应的资源的具体过程如下:向资源池申请空闲模型,根据先前加载的资源组合预制体以及预制组合内的位置、旋转角度和尺寸信息,在空闲模型上创建原预制体。进一步地,所述步骤S4中显示结束的判断条件是:如果原预制体显示超出预设时间并且原预制体没有被通过索引而引用显示在其他地方,则原预制体被认定为显示结束。进一步地,在所述步骤S3中创建并返回原预制体对应的资源后,终止原预制体对应的异步加载。进一步地,在终止原预制体对应的异步加载之前,检测是否存在相同的原预制体正在进行的异步加载、或者是否存在基于需要显示相同的原制体申请而进行的、没有其他原预制体显示需求的资源组合预制体的异步加载,如果是,则终止异步加载进一步地,终止异步加载是强制终止正在进行的异步加载的进程。进一步地,原预制体的信息还包括多层次细节信息,其中,所述多层次细节信息以索引的方式包括每个层次所展示的模型资源信息,所述层次是摄像头与地表之间的距离的范围。进一步地,当原预制体被加载时,根据摄像机与地表之间的距离判断当前所处的层次,根据与层次对应的模型资源信息加载模型;当摄像机相对于地表而移动时,如果摄像机与地表之间的距离超过先前所处的层次,则归还先前的模型至资源池,根据与当前所处的层次对应的模型资源信息加载模型。进一步地,被归还到资源池的模型分配到不被渲染的渲染层,用于避免触发代码逻辑组件、动画组件和粒子组件。进一步地,所述原预制体的信息和资源组合预制体的信息采用json数据格式。与现有技术相比,本专利技术技术方案的有益效果是:本专利技术利用含有预制体的资源组合预制体,首先导出预制体本身以及在资源组合预制体中的相关信息,在需要显示时,向资源池发出申请,资源池可优先从其中查看是否有空闲的预制体并返回,避免重复读取资源组合预制体,使得资源利用率最大化;另一方面,在资源利用率最大化的前提下,通过索引的方式记录原预制体在多层次细节下与各个距离对应的模型,并且使得暂时不需使用的模型避免消耗CPU算力,降低性能成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为共享资源方法的流程示意图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。一种共享资源方法,如图1所示,首先获取资源组合预制体,导出资源组合预制体中的原预制体的信息,其中原预制体的信息包括网格、材质、贴图、预制组合内的位置、旋转角度和尺寸。以基于Unity3D的游戏为例,当游戏需要显示原预制体时,创建以SharedAsset(共享资源)为基类的资源池管理器,游戏的上层应用通过创建以RecycleUnit(回收本文档来自技高网
...

【技术保护点】
1.一种共享资源方法,其特征在于,包括以下步骤:/nS1.获取资源组合预制体,导出资源组合预制体中的原预制体的信息;/nS2.向资源池发送需要显示原预制体的申请以及原预制体的信息;/nS3.资源池通过判断资源池内是否已有所述步骤S2的原预制体对应的资源组合预制体以及所述资源组合预制体的空闲状况,如果存在空闲的原预制体对应的资源组合预制体,则返回原预制体对应的资源,否则加载资源组合预制体,然后创建并返回原预制体对应的资源;/nS4.显示原预制体,原预制体在显示结束后由资源池进行回收,终止原预制体对应的异步加载。/n

【技术特征摘要】
1.一种共享资源方法,其特征在于,包括以下步骤:
S1.获取资源组合预制体,导出资源组合预制体中的原预制体的信息;
S2.向资源池发送需要显示原预制体的申请以及原预制体的信息;
S3.资源池通过判断资源池内是否已有所述步骤S2的原预制体对应的资源组合预制体以及所述资源组合预制体的空闲状况,如果存在空闲的原预制体对应的资源组合预制体,则返回原预制体对应的资源,否则加载资源组合预制体,然后创建并返回原预制体对应的资源;
S4.显示原预制体,原预制体在显示结束后由资源池进行回收,终止原预制体对应的异步加载。


2.根据权利要求1所述的共享资源方法,其特征在于,所述原预制体的信息包括网格、材质、贴图、预制组合内的位置、旋转角度和尺寸。


3.根据权利要求2所述的共享资源方法,其特征在于,所述资源池在加载资源组合预制体时,如果资源组合预制体中存在已加载的原预制体,则仅加载指向已加载的原预制体的索引。


4.根据权利要求2所述的共享资源方法,其特征在于,所述步骤S3中显示创建原预制体对应的资源的具体过程如下:
向资源池申请空闲模型,根据先前加载的资源组合预制体以及预制组合内的位置、旋转角度和尺寸信息,在空闲模型上创建原预制体。


5.根据权利要求1所述的共享资源方法,其特征在于,所述步骤S4中显示结束的判断条件是:如果原预...

【专利技术属性】
技术研发人员:郭耀琦
申请(专利权)人:广州尊游软件科技有限公司
类型:发明
国别省市:广东;44

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

1