一种游戏图集动态规划合并的方法及系统技术方案

技术编号:30100760 阅读:20 留言:0更新日期:2021-09-18 09:05
本发明专利技术提供了一种游戏图集动态规划合并的方法,所述方法包括以下步骤:步骤S1、将多张图片放到一个文件数组列表;步骤S2、取出文件数组列表图片按图片的边长形成一个集合S;步骤S3、从集合S中选出边长最小的两个图片;步骤S4、对选取的两张图图片合并成一个新的图片;步骤S5、记录集合S的合并信息,以便使用时定位图片区域;步骤S6、重新计算这个拼接在一起图片的边长,并更新到集合S中;本发明专利技术能够实现游戏动态规划图集合并。戏动态规划图集合并。戏动态规划图集合并。

【技术实现步骤摘要】
一种游戏图集动态规划合并的方法及系统


[0001]本专利技术涉及计算机
,特别是一种游戏图集动态规划合并的方法及系统。

技术介绍

[0002]图集是一个图片的集合,方便界面控件选择图片,而且可以在集合范围内随意改变图片,在生成游戏界面控件时也可以很方便地分配图片。
[0003]在游戏中,经常会使用到图集,而不是具体的图片,如果游戏中都使用到具体的图片,那么必然每张图片都对应一个图片文件。而使用这些图片文件组合而成的图集的话,仅仅对应一张图集的纹理。
[0004]合成图集时会去除每张图片周围的空白区域,加上可以在整体上实施各种优化算法,合成图集后可以大大减少游戏包体和内存占用。合成图集还可以减少网络申请的次数(假设10张图片申请10次,合并成图集后,只需要申请两次,一次是合成的大图集,另一次是记录图集合并信息的配置文件)。合成图集还将大大减少DrawCall次数,(每次CPU准备数据并通知GPU进行渲染的过程就称之为一个DrawCall,如果DrawCall数量过多就会导致CPU进行大量计算,进而导致CPU的过载,影响游戏运行效率),提高游戏运行效率。合成图集还能减少文件开关次数,加块加载速度(文件读写的步骤:首先建立通道,然后建立数据存储空间,然后开始读写数据,关闭流。合并图集后10个图片文件合成一个图集文件,肯定会减少流的开启和关闭的次数,自然省去了不少加载时间)。
[0005]但是有时提供的多个图片集合需要美术制作人员手工合成,整张图集需要一个个进行摆放,非常麻烦。
专利技术内容
[0006]为克服上述问题,本专利技术的目的是提供一种能够实现游戏动态规划图集合并的方法。
[0007]本专利技术采用以下方案实现:一种游戏图集动态规划合并的方法,所述方法包括以下步骤:
[0008]步骤S1、将多张图片放到一个文件数组列表;
[0009]步骤S2、取出文件数组列表图片按图片的边长形成一个集合S;
[0010]步骤S3、从集合S中选出边长最小的两个图片;
[0011]步骤S4、对选取的两张图图片合并成一个新的图片;
[0012]步骤S5、记录集合S的合并信息,以便使用时定位图片区域;
[0013]步骤S6、重新计算这个拼接在一起图片的边长,并更新到集合S中。
[0014]进一步的,所述步骤S1进一步具体为:将需要用到的多张图片放到一个文件夹中,遍历文件夹并且把读到的文件加入到文件数组列表。
[0015]进一步的,所述步骤S2进一步具体为:取出文件数组列表的图片,并把这多张图片按图片的边长排列,以边长从小到大排列,若边长一样,则以面积从小到大排列,形成集合
S。
[0016]进一步的,所述步骤S3进一步具体为:从集合S中选出边长最小且相等边长的两个图片,若选择的两个图片最小边长相同,则选择面积最小的图片。
[0017]本专利技术还提供了一种游戏图集动态规划合并的系统,包括集合模块、取出模块、选取模块、合并模块、记录模块和计算模块;所述集合模块,即将多张图片放到一个文件数组列表;所述取出模块,即取出文件数组列表图片按图片的边长形成一个集合S;所述选取模块,即从集合S中选出边长最小的两个图片;所述合并模块,即对选取的两张图图片合并成一个新的图片;所述记录模块,即记录集合S的合并信息,以便使用时定位图片区域;所述计算模块,即重新计算这个拼接在一起图片的边长,并更新到集合S中。
[0018]进一步的,所述集合模块进一步具体为:将需要用到的多张图片放到一个文件夹中,遍历文件夹并且把读到的文件加入到文件数组列表。
[0019]进一步的,所述取出模块进一步具体为:取出文件数组列表的图片,并把这多张图片按图片的边长排列,以边长从小到大排列,若边长一样,则以面积从小到大排列,形成集合S。
[0020]进一步的,所述选取模块进一步具体为:从集合S中选出边长最小且相等边长的两个图片,若选择的两个图片最小边长相同,则选择面积最小的图片。
[0021]本专利技术的有益效果在于:本专利技术由于最大限度把多张图片合并成一个图集,有助于减少减少DrawCall次数,(每次CPU准备数据并通知GPU进行渲染的过程就称之为一个DrawCall,如果DrawCall数量过多就会导致CPU进行大量计算,进而导致CPU的过载,影响游戏运行效率),提高游戏运行效率,减少包体,减少网络申请次数,减少文件打开次数,更能合理有效地使用图像资源,让游戏用户获得更好的游戏享受。
附图说明
[0022]图1是本专利技术的方法流程示意图。
[0023]图2是本专利技术的系统原理框图。
[0024]图3为合并新图片第一实施例的结构示意图。
[0025]图4为合并新图片第二实施例的结构示意图。
[0026]图5为合并新图片第三实施例的结构示意图。
[0027]图6为计算拼接图片边长的示意图。
[0028]图7为图片拼接结果最终示意图。
具体实施方式
[0029]下面结合附图对本专利技术做进一步说明。
[0030]请参阅图1所示,本专利技术的一种游戏图集动态规划合并的方法,所述方法包括以下步骤:
[0031]步骤S1、将多张图片放到一个文件数组列表;
[0032]步骤S2、取出文件数组列表图片按图片的边长形成一个集合S;
[0033]步骤S3、从集合S中选出边长最小的两个图片;
[0034]步骤S4、对选取的两张图图片合并成一个新的图片;
[0035]步骤S5、记录集合S的合并信息,以便使用时定位图片区域;
[0036]步骤S6、重新计算这个拼接在一起图片的边长,并更新到集合S中。
[0037]下面通过一具体实施例对本专利技术作进一步说明:
[0038]1、将需要用到的多张图片放到一个文件夹中,遍历文件夹并且把读到的文件加入到文件数组列表;
[0039]2、取出文件数组列表的图片,并把这多张图片按图片的边长(长、宽)排列(以边长从小到大排列,如果边长一样,则以面积从小到到排列)形成一个集合S;
[0040]3、从集合S中选出(步骤2中已经按边长从小到大排列,选取过程是从集合S中取出前两张)边长最小,且相近(相等优先)边长的两个图片,若待选择的两个图片最小的边长相同,则选择面积最小的图片;
[0041]4、把步骤3中选取后的两个图片拼接成一张新的图片;
[0042]5、记录本次图集合并信息,以便使用时定位(记录合并的两张图边在新图中的位置)图片区域;
[0043](5

1)编号3,7组成一个新图形11(如图3),全并后的新图集需要记录编号3,7在当前图形的位置,因为编号3,7等长等宽,合并后编号3在新图形中占了左半部分,编号7在新图形中占了右半部分。
[0044](5

2),编号8,10组成一个新图形12(如图4),全并后的新图集需要记录编号8,10在当前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏图集动态规划合并的方法,其特征在于,所述方法包括以下步骤:步骤S1、将多张图片放到一个文件数组列表;步骤S2、取出文件数组列表图片按图片的边长形成一个集合S;步骤S3、从集合S中选出边长最小的两个图片;步骤S4、对选取的两张图图片合并成一个新的图片;步骤S5、记录集合S的合并信息,以便使用时定位图片区域;步骤S6、重新计算这个拼接在一起图片的边长,并更新到集合S中。2.根据权利要求1所述的一种游戏图集动态规划合并的方法,其特征在于:所述步骤S1进一步具体为:将需要用到的多张图片放到一个文件夹中,遍历文件夹并且把读到的文件加入到文件数组列表。3.根据权利要求1所述的一种游戏图集动态规划合并的方法,其特征在于:所述步骤S2进一步具体为:取出文件数组列表的图片,并把这多张图片按图片的边长排列,以边长从小到大排列,若边长一样,则以面积从小到大排列,形成集合S。4.根据权利要求1所述的一种游戏图集动态规划合并的方法,其特征在于:所述步骤S3进一步具体为:从集合S中选出边长最小且相等边长的两个图片,若选择的两个图片最小边长相同,则选择面积最小的图片。5.一种游戏图集动态规划合并的系统,其特征在于...

【专利技术属性】
技术研发人员:刘德建张延锋柳旭辉郑成龙陈宏展
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

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

1