一种监控Unity项目资源缺失的方法及系统与流程

文档序号:20366636发布日期:2020-04-11 07:06阅读:364来源:国知局
一种监控Unity项目资源缺失的方法及系统与流程

本发明涉及一种监控unity项目资源缺失的方法及系统,属于计算机技术领域。



背景技术:

现在主流手机游戏都是使用unity引擎开发,大量项目使用svn进行版本控制。游戏用户对游戏品质要求越来越高,手机游戏项目规模越来越大,一个游戏团队由几十人多则几百人组成,游戏项目资源少则几g,多则几十g甚至上百g大小。游戏项目随着人员越来越多,资源量越来越大,经常提交一次资源,会有些关联资源缺失,且不被人察觉,随着时间累积,缺失资源越来越多,问题反追踪成本越来越大,游戏项目管理的成本越来越高。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种监控unity项目资源缺失的方法及系统,包括建立中间库,用于中转待提交的项目资源;将待提交的项目资源上传到中间库,中间库根据项目资源对本地资源文件进行资源完整性检查;调用unity引擎接口,获取项目资源中各个资源的直接关联文件和间接关联文件的文件路径;根据文件路径逐一判断各个资源是否存在对应的关联文件,若是则中间库将该项目资源上传到最终库进行存储,该项目资源即为最终项目资源,否则将缺失的关联文件信息反馈给用户。

本发明解决其问题所采用的技术方案一方面是:一种监控unity项目资源缺失的方法,其特征在于,包括:s100、建立中间库,用于中转待提交的项目资源;s200、将待提交的项目资源上传到中间库,中间库根据项目资源对本地资源文件进行资源完整性检查;s300、调用unity引擎接口,获取项目资源中各个资源的直接关联文件和间接关联文件的文件路径;s400、根据文件路径逐一判断各个资源是否存在对应的关联文件,若是则中间库将该项目资源上传到最终库进行存储,该项目资源即为最终项目资源,否则将缺失的关联文件信息反馈给用户。

进一步的,所述s300还包括:s301、设置查询参数,调用unity引擎接口对项目资源文件进行查询,其中查询参数包括待查询项目资源文件的资源路径以及是否获取间接关联文件路径;s302、执行查询参数,返回指定查询项目资源文件的直接关联文件和间接关联文件的文件路径。

进一步的,所述unity引擎接口为assetdatabase.getdependencies。

进一步的,所述缺失的关联文件信息包括该项目资源文件路径及其缺失的直接关联文件路径和间接关联文件路径。

进一步的,所述s200还包括:s201、将待提交的项目资源上传到中间库,中间库遍历所有项目资源的文件;s202、根据遍历的资源文件生成提交列表,其中提交列表包括资源文件名称以及文件路径。

进一步的,所述提交列表还包括资源文件对应的全局唯一标识符。

本发明解决其问题所采用的技术方案一方面是:一种监控unity项目资源缺失的系统,其特征在于,包括:中转模块,用于建立中间库,中转待提交的项目资源;上传模块,用于将待提交的项目资源上传到中间库,中间库根据项目资源对本地资源文件进行资源完整性检查;接口抛出模块,用于调用unity引擎接口,获取项目资源中各个资源的直接关联文件和间接关联文件的文件路径;检索对比模块,用于根据文件路径逐一判断各个资源是否存在对应的关联文件,若是则中间库将该项目资源上传到最终库进行存储,该项目资源即为最终项目资源,否则将缺失的关联文件信息反馈给用户。

进一步的,所述上传模块还包括:遍历单元,用于遍历所有项目资源的文件;列表生成单元,用于根据遍历的资源文件生成提交列表,其中提交列表包括资源文件名称以及文件路径。

进一步的,所述遍历单元还包括标识子单元,用于获取项目资源文件的全局唯一标识符。

进一步的,所述接口抛出模块还包括:设置单元,用于设置查询参数,调用unity引擎接口对项目资源文件进行查询,其中查询参数包括待查询项目资源文件的资源路径以及是否获取间接关联文件路径;执行单元,用于执行查询参数,返回指定查询项目资源文件的直接关联文件和间接关联文件的文件路径。

本发明的有益效果是:通过在中间库中及时监控并反馈unity项目资源缺失,保证每次的资源提交都是完整的,没有资源缺失,让潜在问题最早被解决掉,避免错误的积累,随着时间推移解决错误成本越来越高,这样提高游戏开发效率降低开发成本。

附图说明

图1是根据本发明优选实施例的方法流程示意图;

图2是根据本发明优选实施例的系统结构示意图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参照图1,是根据本发明优选实施例的方法流程示意图,

包括:

s100、建立中间库,用于中转待提交的项目资源;

s200、将待提交的项目资源上传到中间库,中间库根据项目资源对本地资源文件进行资源完整性检查;

s300、调用unity引擎接口,获取项目资源中各个资源的直接关联文件和间接关联文件的文件路径;

s400、根据文件路径逐一判断各个资源是否存在对应的关联文件,若是则中间库将该项目资源上传到最终库进行存储,该项目资源即为最终项目资源,否则将缺失的关联文件信息反馈给用户。

s300还包括:s301、设置查询参数,调用unity引擎接口对项目资源文件进行查询,其中查询参数包括待查询项目资源文件的资源路径以及是否获取间接关联文件路径;s302、执行查询参数,返回指定查询项目资源文件的直接关联文件和间接关联文件的文件路径。

nity引擎接口为assetdatabase.getdependencies。

缺失的关联文件信息包括该项目资源文件路径及其缺失的直接关联文件路径和间接关联文件路径。

s200还包括:s201、将待提交的项目资源上传到中间库,中间库遍历所有项目资源的文件;s202、根据遍历的资源文件生成提交列表,其中提交列表包括资源文件名称以及文件路径。

提交列表还包括资源文件对应的全局唯一标识符。

参照图2,是根据本发明优选实施例的系统结构示意图,

包括:中转模块,用于建立中间库,中转待提交的项目资源;上传模块,用于将待提交的项目资源上传到中间库,中间库根据项目资源对本地资源文件进行资源完整性检查;接口抛出模块,用于调用unity引擎接口,获取项目资源中各个资源的直接关联文件和间接关联文件的文件路径;检索对比模块,用于根据文件路径逐一判断各个资源是否存在对应的关联文件,若是则中间库将该项目资源上传到最终库进行存储,该项目资源即为最终项目资源,否则将缺失的关联文件信息反馈给用户。

上传模块还包括:遍历单元,用于遍历所有项目资源的文件;列表生成单元,用于根据遍历的资源文件生成提交列表,其中提交列表包括资源文件名称以及文件路径。

遍历单元还包括标识子单元,用于获取项目资源文件的全局唯一标识符。

接口抛出模块还包括:设置单元,用于设置查询参数,调用unity引擎接口对项目资源文件进行查询,其中查询参数包括待查询项目资源文件的资源路径以及是否获取间接关联文件路径;执行单元,用于执行查询参数,返回指定查询项目资源文件的直接关联文件和间接关联文件的文件路径。

下面举实施例加以说明。

实施例一:

①编写查找unity资源相关联文件的插件,关键接口outputalldependencies(stringtargetfile)。使用unity官方接口assetdatabase.getdependencies(stringpathname,boolrecursive),pathname参数为资源路径,recursive参数为是否获取间接关联文件路径。以目标文件作为第一个输入参数,第二个参数使用默认值true,返回值为这个目标文件所有的直接关联和间接关联文件路径。

②在本地和最终版svn仓库之间建立项目资源svn中间库,项目资源的svn提交传到中间库,并进行资源完整性检查,最后根据检查结果进行处理。使用脚本语言实现以下逻辑:中间库每次接收到svn提交后,触发第一步编写的插件,并以提交列表中每个文件作为输入参数传给outputalldependencies接口,再遍历这个接口返回的所有关联文件路径。如果所有关联文件都存在,表示提交的资源是完整的,然后告知原提交者成功,最后中间库自动继续把这次提交向最终版svn仓库提交,如果有关联文件不存在,则记录所有不存在的文件路径,然后告知原提交者,提交失败,并列出所有缺失的文件路径,最后中间库自动回滚本次提交。

③原提交者如果收到提交失败信息,则可以根据提示的缺少资源文件路径,再加到提交列表后,重新一次新的提交,直到收到中间库发来的提交成功信息,否则重复第三步骤。

实施例二:

①在unity游戏开发项目中部署两个svn仓库,一个作为中间库,另一个作为最终库。

②中间库环境中布置技术方案中第一步编写的插件和第二步的脚本。

③项目人员和原始环境一样进行资源提交,如果收到失败信息,把失败信息中的缺失文件路径添加到原有提交列表,再进行提交,直到收到成功信息。这样保证最终版仓库中每次提交的资源都是完整的,每次都没有缺失遗漏。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1