[发明专利]一种获取Unity3D资源引用关系的方法及系统在审
申请号: | 201911063866.6 | 申请日: | 2019-11-04 |
公开(公告)号: | CN111078309A | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 潘亚楠;陈凯武;李爱华 | 申请(专利权)人: | 珠海西山居移动游戏科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/50 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 郑晨鸣 |
地址: | 519000 广东省珠海市高新区唐*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 unity3d 资源 引用 关系 方法 系统 | ||
本发明的技术方案包括一种获取Unity3D资源引用关系的方法及系统,用于实现:对根据引擎系统提供的接口获取指定资源文件的哈希值以及该资源文件与其他资源文件的直接依赖并计算出递归依赖;并将该资源的依赖关系和哈希值另存为可读文件;通过获更新后的资源文件哈希值与对应的资源文件的哈希值进行对比,若哈希值一致,则该资源缓存有效,依赖关系不变,若哈希值不一致,则重新获取该资源的依赖关系,同时更新到可读文件中。本发明的有益效果为:解决每次打包都需要重复调用Unity3D提供的接口带来的耗时较长的问题,在有必要时才重新获取依赖关系。同时在依赖关系发生变化时可动态更新,在加快速度的同时保证资源引用关系的正确性。
技术领域
本发明涉及一种获取Unity3D资源引用关系的方法及系统,属于计算机技术领域。
背景技术
在u3d项目开发阶段,需要对AssetBundle进行打包时,由于需要获取资源的依赖关系生成最后所有资源的BundleName,故资源引用关系获取的时间直接影响了打包时间。
一般的项目开发中,在需要获取资源的引用关系时,一般是直接调用u3d提供的AssetDatabase.GetDependencies(string pathName,bool recursive)函数获取当前资源的全部直接引用关系,然后根据直接引用关系,再获取递归引用关系。但在实际使用中,AssetDatabase.GetDependencies非常耗时,尤其是在第一次获取资源资源的直接依赖时速度非常慢,将会延长项目的开发周期。
发明内容
为解决上述问题,本发明的目的在于提供一种获取Unity3D资源引用关系的方法及系统,包括打开项目文件,根据引擎系统提供的引用关系接口获取指定资源文件的与其他资源文件的直接依赖;根据该资源的直接依赖进行计算得到该资源的递归依赖;根据引擎系统提供的哈希接口计算该资源的哈希值,并将该资源的依赖关系和哈希值另存为可读文件;重复执行上述步骤,直到获取项目文件中所有资源文件的依赖关系和哈希值;在一定周期内再次获取该项目文件中所有资源文件的哈希值,并打开可读文件获取资源的依赖关系和哈希值,与对应的资源文件的哈希值进行对比,若哈希值一致,则该资源缓存有效,依赖关系不变,若哈希值不一致,则通过上述步骤重新获取该资源的依赖关系,同时更新到可读文件中。
本发明解决其问题所采用的技术方案一方面是:一种获取Unity3D资源引用关系的方法,其特征在于,包括:S100、打开项目文件,根据引擎系统提供的引用关系接口获取指定资源文件的与其他资源文件的直接依赖;S200、根据该资源的直接依赖进行计算得到该资源的递归依赖;S300、根据引擎系统提供的哈希接口计算该资源的哈希值,并将该资源的依赖关系和哈希值另存为可读文件;S400、重复执行步骤S100到S300,直到获取项目文件中所有资源文件的依赖关系和哈希值;S500、在一定周期内再次获取该项目文件中所有资源文件的哈希值,并打开可读文件获取资源的依赖关系和哈希值,与对应的资源文件的哈希值进行对比,若哈希值一致,则该资源缓存有效,依赖关系不变,若哈希值不一致,则通过步骤S100到S300重新获取该资源的依赖关系,同时更新到可读文件中,其中一定周期可自定义。
进一步的,所述引用关系接口为AssetDatabase.GetDependencies接口。
进一步的,所述哈希接口为AssetDatabase.GetAssetDependencyHash接口。
进一步的,所述可读文件为json文件。
进一步的,所述可读文件包括资源文件名称、该资源文件的依赖关系和哈希值。
进一步的,所述S100还包括设置缓存目录,用于存放步骤S300生成的可读文件和打包资源文件后的打包文件。
进一步的,还包括将更新后的可读文件后对应的资源文件进行打包处理,得到项目安装包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海西山居移动游戏科技有限公司,未经珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911063866.6/2.html,转载请声明来源钻瓜专利网。