一种自动动态输出游戏贴图合适度的方法和系统

文档序号:1480954 发布日期:2020-02-28 浏览:15次 >En<

阅读说明:本技术 一种自动动态输出游戏贴图合适度的方法和系统 (Method and system for automatically and dynamically outputting game map with appropriate fitness ) 是由 刘美智 杨明邦 姚杨煜 易罗阳 于 2019-10-30 设计创作,主要内容包括:本发明涉一种自动动态输出游戏贴图合适度的方法和系统,用于实现:S10,接入游戏程序,调用游戏场景中的虚拟摄像机或人工智能角色对游戏场景进行逐步加载;S20,在游戏场景加载时对游戏程序场景模型对应的贴图使用进行着色和检测处理,将检测数据写入可读缓存;S30,读取所述可读缓存中贴图检测数据,对检测数据进行合适度计算,得到贴图合适度;S40,将所述贴图对应的合适度及其贴图标识写入文件。本发明的有益效果为:在人工或机器人跑遍游戏地图后,自动记录所有贴图资源路径和大小合适度信息,开发或美术人员针对不合适贴图信息进行尺寸调整,以降低手机游戏安装包大小、降低游戏运行时内存要求、提高游戏流畅性的目的。(The invention relates to a method and a system for automatically and dynamically outputting a game map with proper fitting, which are used for realizing the following steps: s10, accessing a game program, and calling a virtual camera or an artificial intelligent role in a game scene to gradually load the game scene; s20, coloring and detecting the map corresponding to the game program scene model when the game scene is loaded, and writing the detected data into the readable cache; s30, reading the mapping detection data in the readable cache, and carrying out appropriate calculation on the detection data to obtain appropriate mapping; and S40, writing the appropriateness corresponding to the map and the map identification thereof into a file. The invention has the beneficial effects that: after the game map is run by a human or a robot, the path and the appropriate size information of all the mapping resources are automatically recorded, and development or art personnel adjust the size of the inappropriate mapping information so as to achieve the purposes of reducing the size of a mobile game installation package, reducing the memory requirement during game operation and improving the game fluency.)

一种自动动态输出游戏贴图合适度的方法和系统

技术领域

本发明的技术方案涉及***领域,特别涉及一种自动动态输出游戏贴图合适度的方法和系统。

背景技术

目前***广受大众欢迎,游戏的重度倾向已经越来越明显,对手机硬件要求越来越高,玩家对游戏的画面效果要求也越来越高。游戏渲染中极其重要的一种资源是贴图,安装包或运行内存大小很大一部分是贴图,贴图太小会导致画面模糊,贴图太大又影响游戏性能,如安装包大、内存要求高、运行卡顿等,所以合适大小的贴图是游戏制作重要环节。开发人员制作贴图后,贴图大小不一定合适,可能大了,可能小了。

发明内容

本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种***贴图自适应输出方法及系统,运行游戏,遍历游戏,将不合适的贴图文件名及合适度信息保存在文件中,并通过交互界面显示,方便修改。

本发明的技术方案包括一种自动动态输出游戏贴图合适度的方法,其特征在于,该方法包括以下步骤:S10,接入游戏程序,调用游戏场景中的虚拟摄像机或人工智能角色对游戏场景进行逐步加载;S20,在游戏场景加载时对游戏程序场景模型对应的贴图使用进行着色和检测处理,将检测数据写入可读缓存;S30,读取所述可读缓存中贴图检测数据,对检测数据进行合适度计算,得到贴图合适度;S40,将所述贴图对应的合适度及其贴图标识写入文件。

根据所述的自动动态输出游戏贴图合适度的方法,其中步骤S10具体包括:当接入游戏程序时,在游戏场景中自动生成一个或多个人工智能角色自动根据扫描策略对游戏场景进行逐步加载,直至完成所有场景的加载,其中所述扫描策略为根据游戏场景进行逐区块扫描,直至完成对场景的全部扫描。

在一个优选的实施方案中,该方法还包括调用游戏程序的虚拟摄像机对游戏场景进行扫描。

在一个优选的实施方案中,该方法还包括通过手动对游戏场景进行自定义扫描。

根据所述的自动动态输出游戏贴图合适度的方法,其中步骤S20具体包括:S21,创建用于检测贴图像素点纹理的着色器,所述着色器用于对贴图像素点数据进行读取;S22,着色器根据贴图像素点的数据构建对应的颜色编码贴图,所述颜色编码贴图包括多个纹理映射,其中每个纹理映射设置对应的颜色和透明度;S23,根据贴图像素点数据中原始贴图坐标与原始纹理尺寸计算被检测贴图着色后的贴图坐标,并采样对应的纹理映射的颜色和透明度;S24,将所述步骤S23采集的透明度数据写入可读缓存。

根据所述的自动动态输出游戏贴图合适度的方法,其中步骤S23具体包括:根据公式以下对被检测贴图着色后的贴图坐标进行计算,其中,被检测贴图着色后的贴图坐标=原始贴图坐标*原始纹理尺寸/8,得到颜色编码贴图的贴图坐标并采样颜色,进一步,获取采样颜色对应贴图的透明度。

根据所述的自动动态输出游戏贴图合适度的方法,其中步骤S30具体包括:加载可读缓存中的贴图检测数据的每个像素点纹理数据,使用算法对检测数据进行分析,包括:计算单个像素点的合适度,为(xi-0.4)*log2N,其中xi为对应像素点的纹理合适度信息,log2N为纹理映射个数,N为分辨率;计算贴图中所有像素合适度的总和R,计算贴图的合适度为P,其中P=R/pixelNum,其中pixelNum为像素总数。

根据所述的自动动态输出游戏贴图合适度的方法,其中步骤S30还包括:将检测的贴图合适度与预设的贴图合适度进行对比,根据对比得到不符合要求的贴图。

本发明的技术方案还包括一种自动动态输出游戏贴图合适度的系统,用于执行上述任意方法,其特征在于:加载模块,用于对游戏程序进行接入,调用游戏场景中的虚拟摄像机或人工智能角色对游戏场景进行逐步加载;着色检测模块,用于在游戏场景加载时对游戏程序场景模型对应的贴图使用进行着色和检测处理,将检测数据写入可读缓存;分析模块,用于读取所述可读缓存中贴图检测数据,对检测数据进行合适度计算,得到贴图合适度;写入模块,用于将所述贴图对应的合适度及其贴图标识写入文件。

本发明的有益效果为:在人工或机器人跑遍游戏地图后,自动记录所有贴图资源路径和大小合适度信息,开发或美术人员针对不合适贴图信息进行尺寸调整,以降低***安装包大小、降低游戏运行时内存要求、提高游戏流畅性的目的。

附图说明

下面结合附图和实施例对本发明进一步地说明;

图1所示为根据本发明实施方式的总体流程图;

图2所示为根据本发明实施方式系统框图;

图3所示为根据本发明实施方式的

具体实施方式

一的流程。

具体实施方式

本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

图1所示为根据本发明实施方式的总体流程图。该流程包括:S10,接入游戏程序,调用游戏场景中的虚拟摄像机或人工智能角色对游戏场景进行逐步加载;S20,在游戏场景加载时对游戏程序场景模型对应的贴图使用进行着色和检测处理,将检测数据写入可读缓存;S30,读取所述可读缓存中贴图检测数据,对检测数据进行合适度计算,得到贴图合适度;S40,将所述贴图对应的合适度及其贴图标识写入文件。

基于上述流程,本发明的技术方案提供了以下更加具体的实施例,包括以下四步:

第一步:在电脑上编写手机可运行的能检测贴图大小合适度的Shader(着色器),此shader把每个像素点的纹理大小合适度信息保存在可写的Buffer中。Shader关键点是,创建可写的Buffer(缓存),创建特定颜色编码贴图,如32*32大小,指定此贴图每miplevel(每个纹理映射)颜色值及透明度,如分别为(0.0,0.0,0.0,0.0)、(0.0,0.0,0.0,0.2)、(0.0,0.0,0.0,0.4)、(0.0,0.0,0.0,0.6)、(0.0,0.0,0.0,0.8)、(0.0,0.0,0.0,1.0),根据公式mipUV(纹理映射的贴图坐标)=originalUV(原始贴图坐标)*originalTextureSize(原始纹理尺寸)/8得到颜色编码贴图的UV坐标并采样颜色,即mipColor(纹理映射的颜色),把mipColor.alpha(纹理映射对应的透明值)值写入Buffer中,其中0.4表示大小合适,值越小表示此像素的原贴图尺寸过小过粗糙,值越大表示此像素的原贴图尺寸过大过精细。

第二步:使用C#语言实现判断贴图大小合适度算法,第一步的Buffer数据保存了当前渲染中每个像素点纹理大小合适度信息,定义统计变量sum,遍历Buffer数据,Buffer[i]记录每个数据,公式sum=sum+(Buffer[i]-0.4)*5,合适度结果定义为result,像素总量为pixelNum,公式result=sum/pixelNum,如果result大于0.9,表示贴图尺寸过大,如果result小于-0.9,表示贴图尺寸过小。

第三步:游戏工程中遍历得到所有Camera,使用Unity Camera的SetReplacementShader()函数,绘制每个物体时强制使用第一步编写的shader渲染着色,且每绘制一个物体,都使用第二步算法处理Buffer数据,可以得到每个物体的贴图资源大小合适度信息,将贴图资源名字和其合适度信息一起写到一个文件进行保存。

第四步:运行游戏,人工或机器人跑遍游戏所有地图,第三步得到的文件自动记录了所有贴图的合适度信息。

图2所示为根据本发明实施方式系统框图。该系统包括:加载模块,用于对游戏程序进行接入,调用游戏场景中的虚拟摄像机或人工智能角色对游戏场景进行逐步加载;着色检测模块,用于在游戏场景加载时对游戏程序场景模型对应的贴图使用进行着色和检测处理,将检测数据写入可读缓存;分析模块,用于读取所述可读缓存中贴图检测数据,对检测数据进行合适度计算,得到贴图合适度;写入模块,用于将所述贴图对应的合适度及其贴图标识写入文件。

图3所示为根据本发明实施方式的具体实施方式一。具体包括步骤S301~S305,如下所示:

S301,Unity游戏项目中实现技术方案第一步中的shader,即textureInfoShader。

S302,定义一个c#接口JudgeTextureSizeSuitable(),实现技术方案第二步中的算法,这个接口返回1表示贴图尺寸过大,返回0表示贴图尺寸合适,返回-1表示贴图尺寸过小。

S303,实现一个c#接口EnableTextureInfoCollect(bool enable)如下,使用Unity接口GameObject.FindObjectsOfType(Camera)获得当前场景中所有camera对象,再依次遍历这些camera对象并使用GameObject.GetComponent<Camera>()获得camera组件,使用Camera.SetReplacementShader(textureInfoShader)接口,使绘制每个物体时强制使用第一步编写的shader渲染着色。

S304,在每个物体被渲染后,调用第二步的接口JudgeTextureSizeSuitable(),并将贴图路径和结果一起输出到文件。

S305,Unity出包并安装游戏到手机,运行游戏,任意的试玩游戏,退出游戏,在游戏目录下会生成一个文件,记录了贴图合适度信息。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:虚拟道具分配方法、装置、设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类