一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Assetbundle资源的浏览和打包方法与流程

2022-02-22 22:30:26 来源:中国专利 TAG:

一种assetbundle资源的浏览和打包方法
技术领域
1.本发明属于供电配置优化技术领域,具体涉及一种assetbundle资源的浏览和打包方法。


背景技术:

2.当前互联网迅速发展,移动互联网从4g向5g过渡,人均使用互联网时间正在逐步增加,移动游戏将继续打破壁垒,将触角伸向世界各地。对于游戏行业来说,游戏作为一种娱乐、社交和释放压力的工具,游戏在社会中发挥着关键作用。随着交互技术的不断改进,游戏比社交应用更具沉浸感,各类游戏的社交功能也越来越趋于成熟及完备,各大游戏厂商已经意识到这一趋势带来的机遇和挑战,积极地推动游戏业内人员不断将软件技术更新换代以提升玩家的游戏体验。
3.assetbundle是unity引擎的一个存档文件,包含可在运行时加载的特定于平台的资源(模型、纹理、预制体、音频剪辑甚至整个场景),也可以加载开发者自定义的二进制文件。assetbundle可以表达彼此之间的依赖关系,例如assetbundle a中的材质可以引用assetbundle b中的纹理。为了通过网络进行有效传递,可以根据用例要求选用内置算法压缩assetbundle(lazm和lz4)。
4.目前,assetbundle资源打包后,常常出现包内资源的冗余,导致游戏包体过大和增加资源访问时间,不利于assetbundle资源的使用。


技术实现要素:

5.针对现有技术存在的缺陷,本发明提供一种assetbundle资源的浏览和打包方法,可有效解决上述问题。
6.本发明采用的技术方案如下:
7.本发明提供一种assetbundle资源的浏览和打包方法,包括以下步骤:
8.步骤1,开发设计具有节点图形化界面的浏览打包工具;每当所述浏览打包工具启动时,所述浏览打包工具根据预绑定的与unity引擎存储的assetbundle资源文件夹的接口,读取当前最新的所述unity引擎存储的assetbundle资源文件夹,获得所述assetbundle资源文件夹的节点目录;
9.其中,所述节点目录包括assetbundle资源文件夹包括的各级节点信息以及各级节点信息之间的关联关系;其中,每级节点信息包括:节点名称、节点路径信息、节点对应的资源类型以及与该节点具有依赖关系的关联节点信息;其中,所述关联节点信息包括关联节点名称以及关联节点路径信息;
10.步骤2,所述浏览打包工具将所述assetbundle资源文件夹的节点目录按设计方式展示在所述浏览打包工具的对应界面部分,实现对所述assetbundle资源文件夹的预览功能,具体包括:
11.步骤2.1,所述浏览打包工具的节点图形化界面划分为四个区域,分别为:
assetbundle列表展示窗口、assetbundle详细信息展示窗口、资源列表展示窗口和资源详细信息展示窗口;
12.所述assetbundle列表展示窗口,用于通过对所述assetbundle资源文件夹的节点目录进行分析后,以树形结构折叠显示方式,展示所述assetbundle资源文件夹的各级节点;另外,根据所述节点目录,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行分析,如果某些节点包含的资源具有重复和冗余,或者,如果某个节点内包含的资源为空,则对该节点标记警告提示信息;
13.所述assetbundle详细信息展示窗口,用于当所述assetbundle列表展示窗口中的某级节点被点击时,获得并展示所述节点的详细信息;所述节点的详细信息包括:节点占用磁盘的总容量、节点所依赖的其他节点的名称和路径、节点所关联的提示信息;其中,所述提示信息包括:警告提示信息或错误提示信息;
14.所述资源列表展示窗口,用于当所述assetbundle列表展示窗口中的最底层级的节点被点击时,以列表方式展示所述节点包括的资源信息;其中,所述资源信息包括资源名称、资源类型和资源占用磁盘的总容量;另外,根据所述节点目录,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行分析,如果某个资源包含在多个节点中,则表示该资源为重复冗余的资源,则对该资源标记警告提示信息;
15.所述资源详细信息展示窗口,用于当所述资源列表展示窗口中的某个资源被点击时,显示所述资源的详细信息;其中,所述资源的详细信息,包括:资源路径、资源警告提示信息和资源错误提示信息;
16.步骤2.2,当所述资源列表展示窗口显示的资源被标记警告提示信息时,如果为重复冗余的资源,则针对每种重复冗余的资源,在资源列表展示窗口新建共享文件夹;将重复冗余的资源移动到所述共享文件夹;然后,将同种所有重复冗余的资源均删除,并在删除位置建立指向共享文件夹的指针,实现资源共享;
17.步骤3,所述浏览打包工具根据对所述assetbundle资源文件夹的预览功能,实现对所述assetbundle资源文件夹的打包:
18.步骤3.1,构建资源打包发布到的目标平台;
19.步骤3.2,设置资源打包统一存储路径和资源打包参数;
20.步骤3.3,将统一存储路径中最外层文件夹内的所有数据清空;
21.步骤3.4,根据所述assetbundle资源文件夹的预览窗口,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行读取分析和去冗余操作,得到最终打包完成的assetbundle资源文件夹,并将所述打包完成的assetbundle资源文件夹按步骤3.2设置的统一存储路径,保存到目标文件夹;
22.步骤3.5,将所述目标文件夹保存的assetbundle资源文件夹发布到步骤3.1配置的目标平台;
23.步骤4,退出所述浏览打包。
24.优选的,步骤3.2中,所述资源打包参数包括:压缩格式。
25.优选的,步骤3.4具体为:
26.判断所述assetbundle资源文件夹的预览窗口是否具有资源冗余的警告提示信息,如果没有,则直接根据所述assetbundle资源文件夹的预览窗口展示的所述assetbundle资源文件夹的各级节点,从所述unity引擎存储的assetbundle资源文件夹加载到对应资源;
27.如果有,则判断所述assetbundle资源文件夹的预览窗口是否已建立资源共享,解决资源冗余问题,如果没有,则根据资源重复冗余的警告提示信息,在从所述unity引擎存储的assetbundle资源文件夹加载资源时,针对重复冗余的资源,不进行重复加载,只加载一次并标记为共享资源;并在原资源对位位置建立指针指向共享资源;如果有,则直接根据资源列表展示窗口显示的资源信息以及共享资源信息,从所述unity引擎存储的assetbundle资源文件夹加载对应资源。
28.本发明提供的一种assetbundle资源的浏览和打包方法具有以下优点:
29.1)具有unity引擎存储的assetbundle资源文件夹的目录预览功能;针对加载assetbundle资源文件夹中所有资源过于耗时问题,在预览资源时,仅加载并预览资源路径和资源类型信息,并不加载真正的资源;只有在进行资源打包时,才加载真正的资源;提高预览速度,降低预览时占用的存储空间;
30.2)在资源打包过程中,实现资源去冗余操作,从而降低资源包体积,缩短资源包访问时间。
附图说明
31.图1为本发明提供的一种assetbundle资源的浏览和打包方法的流程示意图;
32.图2为本发明提供的浏览打包工具的节点图形化界面的窗口布局图。
具体实施方式
33.为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
34.本发明提供一种assetbundle资源的浏览和打包方法,是一种基于节点图形化界面操作assetbundle资源的浏览和打包方法,即可以预览assetbundle资源文件夹目录以及关联资源,还可以在经过去冗余后打包生成可供游戏平台直接加载使用的资源包,降低资源包体积,缩短资源包访问时间。本发明提出基于节点图形化界面操作assetbundle资源的打包方法、界面化资源浏览,有效解决assetbundle资源打包和预览关联资源,且兼容unity2018、unity2019以上版本的addressable。
35.本发明提供一种assetbundle资源的浏览和打包方法,参考图1,包括以下步骤:
36.步骤1,开发设计具有节点图形化界面的浏览打包工具;每当所述浏览打包工具启动时,所述浏览打包工具根据预绑定的与unity引擎存储的assetbundle资源文件夹的接口,读取当前最新的所述unity引擎存储的assetbundle资源文件夹,获得所述assetbundle资源文件夹的节点目录;
37.也就是说,本发明提供的浏览打包工具,每次只要浏览打包工具重新启动,即会读
取当前最新的unity引擎存储的assetbundle资源文件夹,另外,为防止加载资源占用时间过长的问题,在assetbundle资源文件夹预览时,只需要加载到assetbundle资源文件夹的节点目录即可,并不对真正占用空间较多的资源进行加载。只要在进行后续资源打包操作时,才会加载资源。
38.其中,所述节点目录包括assetbundle资源文件夹包括的各级节点信息以及各级节点信息之间的关联关系;其中,每级节点信息包括:节点名称、节点路径信息、节点对应的资源类型以及与该节点具有依赖关系的关联节点信息;其中,所述关联节点信息包括关联节点名称以及关联节点路径信息;通过加载到关联节点路径信息,在进行后续资源打包时,将关联节点资源同时打包,方便使用。
39.步骤2,所述浏览打包工具将所述assetbundle资源文件夹的节点目录按设计方式展示在所述浏览打包工具的对应界面部分,实现对所述assetbundle资源文件夹的预览功能,具体包括:
40.步骤2.1,参考图2,所述浏览打包工具的节点图形化界面划分为四个区域,分别为:assetbundle列表展示窗口、assetbundle详细信息展示窗口、资源列表展示窗口和资源详细信息展示窗口;
41.所述assetbundle列表展示窗口,用于通过对所述assetbundle资源文件夹的节点目录进行分析后,以树形结构折叠显示方式,展示所述assetbundle资源文件夹的各级节点;另外,根据所述节点目录,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行分析,如果某些节点包含的资源具有重复和冗余,或者,如果某个节点内包含的资源为空,则对该节点标记警告提示信息;
42.所述assetbundle详细信息展示窗口,用于当所述assetbundle列表展示窗口中的某级节点被点击时,获得并展示所述节点的详细信息;所述节点的详细信息包括:节点占用磁盘的总容量、节点所依赖的其他节点的名称和路径、节点所关联的提示信息;其中,所述提示信息包括:警告提示信息或错误提示信息;
43.所述资源列表展示窗口,用于当所述assetbundle列表展示窗口中的最底层级的节点被点击时,以列表方式展示所述节点包括的资源信息,并且,可按设定方式排序,例如,按照资源名称进行排序;其中,所述资源信息包括资源名称、资源类型和资源占用磁盘的总容量;其中,资源类型是指:在unity引擎中的资源类型,比如:场景、预制体、材质、贴图、网格等。
44.另外,根据所述节点目录,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行分析,如果某个资源包含在多个节点中,则表示该资源为重复冗余的资源,则对该资源标记警告提示信息;例如,如果当前资源包含在多个节点中,则在右侧显示警告信息。
45.本界面,可手动解决重复冗余资源的警告信息。具体的,可以手动将重复冗余的资源到新的共享文件夹中,再右键单击或者单击delete删除原位置的资源。
46.本发明指的资源,是assetbundle资源文件夹包体里面的模型、纹理、预制体、音频剪辑甚至整个场景资源。
47.所述资源详细信息展示窗口,用于当所述资源列表展示窗口中的某个资源被点击
时,显示所述资源的详细信息;其中,所述资源的详细信息,包括:资源路径、资源警告提示信息(如果有,则显示;如果没有,则不显示)和资源错误提示信息(如果有,则显示;如果没有,则不显示);
48.其中,资源详细信息展示窗口不具备交互功能,仅提供信息显示。
49.步骤2.2,当所述资源列表展示窗口显示的资源被标记警告提示信息时,如果为重复冗余的资源,则针对每种重复冗余的资源,在资源列表展示窗口新建共享文件夹;将重复冗余的资源移动到所述共享文件夹;然后,将同种所有重复冗余的资源均删除,并在删除位置建立指向共享文件夹的指针,实现资源共享;
50.因此,本发明提供的所述浏览打包工具的节点图形化界面,不仅可预览assetbundle资源文件夹,而且具有管理和修改资源的功能。
51.步骤3,所述浏览打包工具根据对所述assetbundle资源文件夹的预览功能,实现对所述assetbundle资源文件夹的打包:
52.步骤3.1,build target:构建资源打包发布到的目标平台;可选择为:电脑端、安卓端、苹果端等平台。
53.步骤3.2,output path:设置资源打包统一存储路径和资源打包参数;其中,所述资源打包参数包括:压缩格式。
54.通过统一存储路径,用于保存打包好的资源包。默认为assetbundles/,可手动编辑进行修改,选择“浏览”设置存放路径。如果要回复默认的命名约定,则点击“重置”。
55.资源打包参数具体包括:
56.compression:可选择的压缩格式——无压缩、标准lzma压缩或者lz4压缩。
57.exclude type information:在资源中不包括当前资源类型的信息。
58.force rebuild:重新构建资源,当有资源进行增删改的时候需要操作。
59.append hash:将哈希值附加到资源包名称。
60.strict mode:如果在构建期间出现任何错误,则无法成功构建。
61.dry run build:进行试运行构建,此操作不会产生实际资源。
62.build:最终构建打包完成。
63.步骤3.3,clear folders:将统一存储路径中最外层文件夹内的所有数据清空;
64.步骤3.4,根据所述assetbundle资源文件夹的预览窗口,与所述unity引擎存储的assetbundle资源文件夹建立信息读取关系,通过对所述unity引擎存储的assetbundle资源文件夹进行读取分析和去冗余操作,得到最终打包完成的assetbundle资源文件夹,并将所述打包完成的assetbundle资源文件夹按步骤3.2设置的统一存储路径,保存到目标文件夹;
65.步骤3.4具体为:
66.判断所述assetbundle资源文件夹的预览窗口是否具有资源冗余的警告提示信息,如果没有,则直接根据所述assetbundle资源文件夹的预览窗口展示的所述assetbundle资源文件夹的各级节点,从所述unity引擎存储的assetbundle资源文件夹加载到对应资源;
67.如果有,则判断所述assetbundle资源文件夹的预览窗口是否已建立资源共享,解决资源冗余问题,如果没有,则根据资源重复冗余的警告提示信息,在从所述unity引擎存
储的assetbundle资源文件夹加载资源时,针对重复冗余的资源,不进行重复加载,只加载一次并标记为共享资源;并在原资源对位位置建立指针指向共享资源;如果有,则直接根据资源列表展示窗口显示的资源信息以及共享资源信息,从所述unity引擎存储的assetbundle资源文件夹加载对应资源。
68.步骤3.5,将所述目标文件夹保存的assetbundle资源文件夹发布到步骤3.1配置的目标平台;
69.步骤4,退出所述浏览打包。
70.本发明提供一种assetbundle资源的浏览和打包方法,具有以下特点:
71.1)节点图形化资源打包的方法旨在减少围绕资源导入,构建资源依赖和构建工作流所需的工作量。使用此方法,可以将打包的工作流以节点图形化方式创建,如需修改和更改资源设置,扩展和拖动节点即可完成,甚至自动进行资源设置,从而使设计师和美术师、策划师从游戏开发过程中的重复工作中解放出来。
72.传统assetbundle资源打包方法则需要写大量自定义的代码处理资源导入规则设置以及打包的策略,当需要调整的时候相当麻烦,但本发明基于节点图形化资源打包,一切的调整以及配置可以通过图形化界面调整,通过创建和设置节点,设置节点之间的连接目录,将资源的打包流程变得相当简单。
73.2)assetbundle览工具是一个可以设置资源包、检查资源包内容的一种图形化操作工具。该工具使用户可以查看和编辑unity项目的资源依赖包。具有显示资源列表和每个资源的具体信息,比如:资源名称、依赖文件、资源大小等,并显示现有资源是否有冗余的资源存在。
74.其他同类型的分析工具则无法通过界面直观展示,管理和修改项目中的资源包。而本发明asset bundle浏览工具的优势就在于可以查看到资源包内的关联资源,以及可以预见资源的大小。
75.3)本发明提出一种基于节点图形化界面操作assetbundle资源打包方法、配套assetbundle浏览工具,通过节点图形化界面操作打包资源,配套打包资源后的浏览工具,从流程上解决了集打包和解析assetbundle、兼容unity2018、unity2019addressable资源一体化的流程,有效解决当前其他方法无法通过节点图形化操作和兼容新的资源生成格式的局限。
76.由此可见,本发明提供一种assetbundle资源的浏览和打包方法,具有以下优点:
77.1)具有unity引擎存储的assetbundle资源文件夹的目录预览功能;针对加载assetbundle资源文件夹中所有资源过于耗时问题,在预览资源时,仅加载并预览资源路径和资源类型信息,并不加载真正的资源;只有在进行资源打包时,才加载真正的资源;提高预览速度,降低预览时占用的存储空间;
78.2)在资源打包过程中,实现资源去冗余操作,从而降低资源包体积,缩短资源包访问时间。
79.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献