CN115357300A - 一种assetbundle资源的批量打包与分步加载系统及方法 - Google Patents
一种assetbundle资源的批量打包与分步加载系统及方法 Download PDFInfo
- Publication number
- CN115357300A CN115357300A CN202210992303.0A CN202210992303A CN115357300A CN 115357300 A CN115357300 A CN 115357300A CN 202210992303 A CN202210992303 A CN 202210992303A CN 115357300 A CN115357300 A CN 115357300A
- Authority
- CN
- China
- Prior art keywords
- loading
- data
- packaging
- name
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明公开了一种assetbundle资源的批量打包与分步加载系统及方法,该系统包括:原始数据层:描述核心数据的基本关系;交互数据层:从图形化界面的角度,来描述原始数据类的关系;加载数据层:从加载过程的角度,来描述打包完成后的数据;本系统通过原始数据层、交互数据层、以及加载数据层来完成对素材数据从原始的资源到AssetBundle资源再到实际场景中加载出来的资源这一过程中的参数界定与关系构建。本系统通过录入模块、打包模块、以及加载模块实现assetbundle资源的打包加载过程。本发明通过图形化打包操作界面、打包过程与加载过程的紧耦合,提高了资源的打包效率。
Description
技术领域
本发明涉及一种批量打包与分步加载系统及方法,尤其涉及一种assetbundle资源的批量打包与分步加载系统及方法。
背景技术
引擎发布的WebGL内容,可以将三维场景可视化,但是三维场景往往面数多,材质精细,在WebGL加载时,耗时很长,影响用户体验,而且在智慧工厂的三维可视化中,有大量的三维场景需要呈现,无法通过简单的方式回避,需要有一个可行性高,效率高,供开发人员快速上手的AssetBundle资源打包加载系统。
引擎支持编辑器自定义,支持将资源打包成适配不同平台的AssetBundle,并在运行时加载。现有的资源加载系统,提供快速打包方法、现有ab包的配置文件、以及ab包文件的加载方法。
但是现有的资源加载系统,打包与加载相对独立,无法控制加载的顺序,打包的方法需要在程序中调用,只有程序员才能快速上手,当面对大量的资源需要打包时,现有技术的打包方法十分不便,效率低下,耗时长。
发明内容
为了解决上述技术所存在的不足之处,本发明提供了一种assetbundle资源的批量打包与分步加载系统及方法。
为了解决以上技术问题,本发明采用的技术方案是:一种assetbundle资源的批量打包与分步加载系统,该系统包括:
原始数据层:描述核心数据的基本关系;
交互数据层:从图形化界面的角度,来描述原始数据类的关系;
加载数据层:从加载过程的角度,来描述打包完成后的数据;
本系统通过原始数据层、交互数据层、以及加载数据层来完成对素材数据从原始的资源到AssetBundle资源再到实际场景中加载出来的资源这一过程中的参数界定与关系构建。
优选的,原始数据层通过录入模块导入数据资源,原始数据层为包含personresponse、modeload、baseInterface、tag、name的EditorResponse数据类型,其中,personresponse包含combinebundleunit数组和singlebundleunit数组;
Singlebundleunit的含义为模型ab包单元,其包含枚举类型assettype、字符串类型type、字符串类型unittag、以及对象数组goes;
Combinebundleunit的含义为材质ab包单元,其包含字符串类型combinename、枚举类型assettype、字符串类型type、字符串unittag、以及对象数组goes。
优选的,交互数据层通过打包模块获取数据并生成打包好的assetbundle文件,交互数据层包括图形化界面,图形化界面依托于自定义编辑器的API,自定义可视化的EditorResponse、personresponse、singlebundleunit、以及combinebundleunit,每个原始数据层中核心数据的数据类,都有相对应的交互数据类呈现在自定义面板中。
优选的,图形化界面包括数据资源的导入、关键逻辑的开放式,通过图形化界面中的“确定”、“打印”、“预打包”、“打包”、“删除文件”、“测试”,自主式执行关键的打包逻辑,结合系统使用人员的判断,排除低级问题,降低系统的智能程度,节约开发时间。
优选的,在图形化界面中:
点击“确定”按钮,表示数据的输入已经完成;
点击“打印”按钮,会依据当前输入的材质数据,生成配置文件;
点击“预打包”按钮,会打印出来图形化界面内材质ab包单元、模型ab包单元的数据数目,目的是便于用户确认编辑器的数据更新获取完成,为下一步将素材资源打成AssetBundle包资源做准备;
点击“打包”按钮,如果点击之前没有点击“确定”按钮会报错而无法进行,正常进行时会将当前图形化界面内获取完成的数据,按照EditorResponse的tag和name,生成对应的文件夹,然后进行AssetBundle包打包操作,生成与配置文件一致的AssetBundle文件路径;
点击“删除文件”按钮,会删除预设的文件夹内先前生成的配置文件;
点击“测试”按钮,作为一个未设定方法的按钮,用于后期维护调试时,绑定具体方法。
优选的,加载数据层包括配置文件,配置文件包含的字段与原始数据层中核心数据的字段保持一致,ab包的加载路径由文件夹路径与文件名组成,加载数据层通过加载模块解析配制文件;
其中,文件夹路径由EditorResponse的tag和name组成,以name为名称的文件夹内包含EditorResponse中personresponse内所有材质ab包单元与模型ab包单元的打包文件,每个文件的名称由单元内的goes数组获取;
加载过程中通过字符串拼接的方法,由预定的最外层文件夹进入,遍历加载材质ab包单元与对应的模型ab包单元,直到所有的材质与模型按照先材质后模型的顺序全部完整的加载出来在场景中呈现。
assetbundle资源的批量打包与分步加载系统的方法,包括以下步骤:
步骤一、原始素材数据与用户输入的参数经过录入模块,生成对应的配置文件与打包操作所必须的打包路径、打包名称数据;
步骤二、录入模块为打包操作准备好的打包路径、打包名称数据,经过打包模块的获取,结合引擎相关AssetBundle的API,在对应的打包路径批量生成打包好的AssetBundle文件;
步骤三、在业务场景运行时,向加载模块传入配置文件,加载模块经过解析配置文件,找到打包好的路径与AssetBundle文件,依次加载。
优选的,录入模块:用户向图形化界面拖拽素材,录入素材数据,并输入tag和name参数;
录入完成后,点击“确定”按钮,生成json格式的素材数据,为配置文件的生成准备内容;点击“打印”按钮,将转换好的数据写入json文件中。
优选的,打包模块:点击“预打包”按钮,展示打包数据中模型ab包单元与材质ab包单元的数目,当数目为0时,会打包失败,需要刷新一下界面,更新数据;
点击“打包”按钮后,遍历读取SingleBundleUnits数组与CombineBundleUnits数组的单元数据,获取tag和name,从素材的名称扩展出ab包的名称,将文件夹路径与ab包名称组合,拼接出打包路径,将打包路径作为打包方法的参数,进行AssetBundle打包,以此完成整个SingleBundleUnits数组与CombineBundleUnits数组内所有素材的打包操作。
优选的,加载模块:在业务场景中,引入加载模块的脚本,运行时可依据需求执行加载;
加载模块需要获得response.json配置文件的整个内容,进行json格式解析;每个图形化界面打印出的配置内容,都会以对象的形式在配置文件的responselist中,加载时通过拼接responselist中每个对象的tag和name参数获得文件夹路径,通过解析对象中goes数组的每个名称,获得AssetBundle文件名称,结合预先设定的最外部文件夹路径或服务器url,获得整个AssetBundle文件的请求路径,借助引擎的WebRequest请求,加载得到单个AssetBundle资源。
本发明实现了图形化界面,降低了打包资源的操作门槛,设计了与智慧工厂的业务相匹配的配置文件结构,借助图形化界面,可以将一整个车间的资源批量打包,建立了打包与加载的关联,在资源加载的过程中,考虑车间的特性,依据配置文件,减少了车间加载过程中的等待时间,且兼顾了美观性。
本发明公开了一种assetbundle资源的批量打包与分步加载系统及方法,与现有技术相比,本发明具有以下有益效果:
1.图形化打包界面,降低了本系统的操作门槛,提高了资源的打包效率;
2.打包过程与加载过程的紧耦合,使得程序运行时的加载效果与程序独立出来,便于灵活修改,且减少了工作流程,提高了整体内容的生产效率。
3.可以将车间的场景资源以粗粒度大块儿加载,将车间的每个场景资源分别打包,一般的资源管理框架均可实现。
附图说明
图1为本发明实施例图形化界面的展示图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
由于每一次的打包素材是不一定的,而且是批量,需要通过图形化界面呈现,且可以由打包素材生成加载时的配置文件,综上可以看出,本系统的主要数据有三层:
原始数据层——描述核心数据的基本关系;
交互数据层——从图形化界面的角度,来描述原始数据类的关系;
加载数据层——从加载过程的角度,来描述打包完成后的数据。
本系统将通过原始数据层、交互数据层、以及加载数据层来完成对素材数据从原始的资源、到AssetBundle资源、到实际场景中加载出来的资源这一过程中的参数界定与关系构建,具体通过以下方案实现:
1、数据设计
原始数据层包含EditorResponse,EditorResponse是整个界面的数据类型,包含了personresponse、modeload、baseInterface、tag、name,其中personresponse包含了一个combinebundleunit数组和singlebundleunit数组。
Singlebundleunit的含义为模型ab包单元,包含了枚举类型assettype、字符串类型type、字符串类型unittag、以及对象数组goes。
Combinebundleunit的含义为材质ab包单元,包含了字符串类型combinename、枚举类型assettype、字符串类型type、字符串unittag、以及对象数组goes。
2、配置文件
配置文件的作用是为加载提供AssetBundle资源的路径与名称,常见的配置文件格式有xml与json格式,考虑到json格式体量小、适配平台多样、配套工具齐全且功能强大的特点,本系统选用json格式与litjson工具,litjson可以将全部由string类型的字段组成类,转换成json格式的数据,也可以将json格式的数据,转换成字段名称一致,字段类型为string类型的类,可以大大加快开发进度,便于将精力分配到核心功能上去。
配置文件的内容属于加载数据层,其中包含的字段,与数据设计中原始数据层的核心数据里面的字段基本一致,关于一个ab包的加载路径主要由文件夹路径与文件名组成,文件夹路径由EditorResponse的tag和name组成,以name为名称的文件夹内,包含了EditorResponse中personresponse内所有材质ab包单元与模型ab包单元的打包文件,每个文件的名称由单元内的goes数组获取。
加载过程中会通过字符串拼接的方法,由预定的最外层文件夹进入,遍历加载材质ab包单元与对应的模型ab包单元,直到所有的材质与模型,按照先材质后模型的顺序,全部完整的加载出来在场景中呈现。
3、图形化界面
图形化界面属于交互数据层,依托于自定义编辑器的API(应用程序界面),自定义可视化了的EditorResponse、personresponse、singlebundleunit、以及combinebundleunit,每个原始数据层中核心数据的数据类,都有相对应的交互数据类,呈现在自定义面板中。
图形化界面除了数据资源的导入,也包括关键逻辑的开放式,自主式执行,通过图形化界面中的“确定”、“打印”、“预打包”、“打包”、“删除文件”、“测试”,执行关键的打包逻辑,结合系统使用人员的判断,排除低级问题,降低系统的智能程度,节约开发时间。
点击“确定”按钮,表示数据的输入已经完成;
点击“打印”按钮,会依据当前输入的材质数据,生成配置文件;
点击“预打包”按钮,会打印出来图形化界面内材质ab包单元、模型ab包单元的数据数目,目的是便于用户确认编辑器的数据更新获取完成,为下一步将素材资源打成AssetBundle包资源做准备;
点击“打包”按钮,如果点击之前没有点击“确定”按钮会报错而无法进行,正常进行时会将当前图形化界面内获取完成的数据,按照EditorResponse的tag和name,生成对应的文件夹,然后进行AssetBundle包打包操作,生成与配置文件一致的AssetBundle文件路径;
点击“删除文件”按钮,会删除预设的文件夹内先前生成的配置文件;
点击“测试”按钮,作为一个未设定方法的按钮,用于后期维护调试时,绑定具体方法。
本系统分为录入模块、打包模块、以及加载模块,本系统通过上述模块实现了打包加载过程。
原始素材数据与用户输入的参数经过录入模块,生成对应的配置文件与打包操作所必须的打包路径、打包名称等数据;
录入模块为打包操作准备好的打包路径、打包名称等数据,经过打包模块的获取,结合引擎相关AssetBundle的API,在对应的打包路径批量生成打包好的AssetBundle文件;
在业务场景运行时,向加载模块传入配置文件,加载模块经过解析配置文件,找到打包好的路径与AssetBundle文件,依次加载。
关于三个模块的具体实现说明如下:
录入模块:用户向图形化界面拖拽素材,录入素材数据,并输入tag和name参数。录入完成后,点击“确定”按钮,生成json格式的素材数据,为配置文件的生成准备内容。点击“打印”,将转换好的数据写入json文件中。
为了便于保留原有的配置数据,每一个图形化界面的配置内容,都会累计到配置文件中的responselist数组中,以对象形式存在,每一个对象都包含录入模块的打包路径与AssetBundle文件名称等用于加载的关键参数。
打包模块:点击“预打包”,展示打包数据中模型ab包单元与材质ab包单元的数目,当数目为0时,会打包失败,需要刷新一下界面,更新数据。
在打包前需要注意,本系统的打包针对SingleBundleUnits数组与CombineBundleUnits数组,输入id,则开始打包两个数组内index为id的两个单元内的素材对象,此种打包方式适用于两个数组的长度一致,而且同一id的CombineBundleUnits数组内的材质素材是SingleBundleUnits数组内模型素材的材质。
点击“打包”后,遍历读取SingleBundleUnits数组与CombineBundleUnits数组的单元数据,获取tag和name,从素材的名称扩展出ab包的名称,将文件夹路径与ab包名称组合,拼接出打包路径,将打包路径作为打包方法的参数,进行AssetBundle打包,以此完成整个SingleBundleUnits数组与CombineBundleUnits数组内所有素材的打包操作。
加载模块:在业务场景中,引入加载模块的脚本,运行时可依据需求执行加载。加载模块需要获得response.json配置文件的整个内容,进行json格式解析。每个图形化界面打印出的配置内容,都会以对象的形式在配置文件的responselist中,加载时通过拼接responselist中每个对象的tag和name参数获得文件夹路径,通过解析对象中goes数组的每个名称,获得AssetBundle文件名称,结合预先设定的最外部文件夹路径或服务器url,获得整个AssetBundle文件的请求路径,借助引擎的WebRequest请求,加载得到单个AssetBundle资源。
在具体实现中,会从配置文件中的CombineBundleUnits数组对象的最后一个id起始,进行递归加载至数组对象的第一个对象结束。加载完CombineBundleUnits的当前id的AssetBundle资源后,会加载SingleBundleUnits数组中对应id的模型单元,保证了材质与模型加载的先后顺序,而递归的使用主要是考虑了引擎的WebRequest请求的下载时间,即需要等上一个id的资源下载完成后,再开始下一个资源的下载,因此使用了递归的方式,只有当资源下载完成后,会更新当前加载的id,直到所有id的资源都加载完成。
下面结合实施例对本发明作进一步详细的说明。
【实施例】
步骤1,开发设计具有树状结构的图形化界面、以及根据树状结构生成json格式的以打包出的ab包资源目录结构内容的配置文件,其中树状结构主要包括材质、模型两大部分,每一部分都可以通过图形化界面以拖拽的方式设定数量不限的模型预制体、及材质资源。
步骤2,图形化界面包含资源设定区、打包控制区,如图1所示,其中资源设定区主要包含整体参数设定、材质资源参数设定、材质资源列表、模型资源参数设定、以及模型资源列表,具体操作如下:
步骤2.1,设定打包文件的路径名称,选择下拉框为personresponse,在文本输入框中分别输入name参数、tag参数,则打包文件的路径为预设文件夹路径->personresponse->”tag”->”name”->打包文件列表,此路径会作为配置文件的参数。
步骤2.2,修改SingleBundleUnits列表的size为需要分步加载的步数,如把整个车间分为地面、墙体、屋顶3个部分加载,则size的数目设为3,则界面上出现与size的数目相同的3个SingleBundleUnits数据,在SingleBundleUnits数据中找到Goes列表,按照期望的加载顺序,自上而下,依次在3个SingleBundleUnit的goes列表中,以拖拽的方式,拖入地面、墙体、屋顶3个部分有关的预制体资源组,如地面由3个预制体组成,而且期望第一个加载地面,则在第一个SingleBundleUnit的goes中,拖拽组成地面的3个预制体。
每个SingleBundleUnit可看作一个模型ab包单元,模型ab包单元在列表里的顺序,既是模型ab包的加载顺序。
步骤2.3,修改CombineBundleUnits列表的size与SingleBundleUnits的size数目相同,如SingleBundleUnits的size数目为3时,在CombineBundleUnits的size后输入3,则界面上出现与size的数目相同的3个CombineBundleUnits数据,依次设定3个CombineBundleUnits的name参数,在name后输入全部由小写英文字母组成的名称,如mat_dimian,mat_qiangti等,输入完name参数后,依次在3个CombineBundleUnits中的goes列表中,以拖拽的方式,拖入与SingleBundleUnits的顺序一致的3组材质球,如组成地面的预制体的材质,共包括5个材质球,而且地面的加载顺序为第一个,则在自上而下第一个CombineBundleUnits的goes中,以拖拽的方式,拖入描述组成地面的5个材质球资源。
每个CombineBundleUnit可看作一个材质ab包单元,材质ab包单元在列表里的顺序,需要与模型ab包单元的顺序一致,如模型ab包单元的顺序是地面、墙体、屋顶,则材质ab包单元的顺序也应是地面、墙体、屋顶,模型ab包单元与材质ab包单元的一致性,提供了一个简单的对应结构,便于生成对应的配置文件,便于通过配置文件,设定材质在前、模型在后的加载顺序,保证按照模型ab包单元的顺序加载时,模型的材质资源被预先加载,避免模型材质丢失。
步骤3,按照步骤2设定完材质ab包单元、模型ab包单元、以及模型加载顺序、材质ab包单元与模型ab包单元的一致性后,需要在打包控制区进行操作,具体操作如下:
步骤3.1,点击确定按钮,然后点击打印按钮,在console窗口中,看到日志情况,日志中出现“已保存json”。
在此过程中材质ab包单元列表与模型ab包单元列表的ab包单元数据,被整合到一起,作为车间ab包配置文件的组成部分,生成json文件,输出值预先设定的json文件路径中。
步骤3.2,点击预打包按钮,日志文件中出现“----预检测-----”,日志内容包括personresponse[1]后面的内容,内容以“~~~~~”隔开,每个“~~~~~”之间是“数字1units数字2”,其中数字1是ab包单元在ab包单元列表的位置,如按照步骤2的期望加载顺序,与地面有关的材质ab包单元、模型ab包单元的位置为0,依次类推,墙体为1,屋顶为2,其中数字2是ab包单元中goes列表内元素的数目,如在地面有关的材质ab包单元中,拖入了5个材质球资源,那么地面对应的材质ab包单元的数字2,应该为5,除了personresponse[1]还有personresponse[2],personresponse[1]与personresponse[2]后面的内容类似,personresponse[1]后面的内容,描述了材质ab包单元列表的结构,personresponse[2]后面的内容,描述了模型ab包单元列表的结构,通过预检测的内容,可以直观的确认ab包打包的数目,与步骤2中拖拽的资源数目,是否一致,确认数目一致后,点击打包按钮,会在预先设定的ab包生成路径,生成主要由材质ab包、模型ab包组成,由图形化界面的name参数、tag参数确定文件路径的场景ab包文件夹,文件夹内是材质ab包与模型ab包。
步骤4,通过步骤3,打包文件与配置文件均已生成完成,在需要加载打包资源的场景中,新建空物体,绑定本工具中的加载脚本ModelBundleMgr,设定ModelBundleMgr中的BundleType和BundleTag参数,其中BundleTag参数应与图形化界面中设定的tag参数一致,BundleType应设定为“PersonResponse”,在编辑器内运行,即可看到打包资源按照期望的打包顺序分步加载。
上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。
Claims (10)
1.一种assetbundle资源的批量打包与分步加载系统,其特征在于:该系统包括:
原始数据层:描述核心数据的基本关系;
交互数据层:从图形化界面的角度,来描述原始数据类的关系;
加载数据层:从加载过程的角度,来描述打包完成后的数据;
本系统通过原始数据层、交互数据层、以及加载数据层来完成对素材数据从原始的资源到AssetBundle资源再到实际场景中加载出来的资源这一过程中的参数界定与关系构建。
2.根据权利要求1所述的assetbundle资源的批量打包与分步加载系统,其特征在于:所述原始数据层通过录入模块导入数据资源,原始数据层为包含personresponse、modeload、baseInterface、tag、name的EditorResponse数据类型,其中,personresponse包含combinebundleunit数组和singlebundleunit数组;
Singlebundleunit的含义为模型ab包单元,其包含枚举类型assettype、字符串类型type、字符串类型unittag、以及对象数组goes;
Combinebundleunit的含义为材质ab包单元,其包含字符串类型combinename、枚举类型assettype、字符串类型type、字符串unittag、以及对象数组goes。
3.根据权利要求1所述的assetbundle资源的批量打包与分步加载系统,其特征在于:所述交互数据层通过打包模块获取数据并生成打包好的assetbundle文件,交互数据层包括图形化界面,图形化界面依托于自定义编辑器的API,自定义可视化的EditorResponse、personresponse、singlebundleunit、以及combinebundleunit,每个原始数据层中核心数据的数据类,都有相对应的交互数据类呈现在自定义面板中。
4.根据权利要求3所述的assetbundle资源的批量打包与分步加载系统,其特征在于:所述图形化界面包括数据资源的导入、关键逻辑的开放式,通过图形化界面中的“确定”、“打印”、“预打包”、“打包”、“删除文件”、“测试”,自主式执行关键的打包逻辑,结合系统使用人员的判断,排除低级问题,降低系统的智能程度,节约开发时间。
5.根据权利要求4所述的assetbundle资源的批量打包与分步加载系统,其特征在于:在图形化界面中:
点击“确定”按钮,表示数据的输入已经完成;
点击“打印”按钮,会依据当前输入的材质数据,生成配置文件;
点击“预打包”按钮,会打印出来图形化界面内材质ab包单元、模型ab包单元的数据数目,目的是便于用户确认编辑器的数据更新获取完成,为下一步将素材资源打成AssetBundle包资源做准备;
点击“打包”按钮,如果点击之前没有点击“确定”按钮会报错而无法进行,正常进行时会将当前图形化界面内获取完成的数据,按照EditorResponse的tag和name,生成对应的文件夹,然后进行AssetBundle包打包操作,生成与配置文件一致的AssetBundle文件路径;
点击“删除文件”按钮,会删除预设的文件夹内先前生成的配置文件;
点击“测试”按钮,作为一个未设定方法的按钮,用于后期维护调试时,绑定具体方法。
6.根据权利要求1所述的assetbundle资源的批量打包与分步加载系统,其特征在于:所述加载数据层包括配置文件,配置文件包含的字段与原始数据层中核心数据的字段保持一致,ab包的加载路径由文件夹路径与文件名组成,加载数据层通过加载模块解析配制文件;
其中,文件夹路径由EditorResponse的tag和name组成,以name为名称的文件夹内包含EditorResponse中personresponse内所有材质ab包单元与模型ab包单元的打包文件,每个文件的名称由单元内的goes数组获取;
加载过程中通过字符串拼接的方法,由预定的最外层文件夹进入,遍历加载材质ab包单元与对应的模型ab包单元,直到所有的材质与模型按照先材质后模型的顺序全部完整的加载出来在场景中呈现。
7.根据权利要求1所述的assetbundle资源的批量打包与分步加载系统的方法,其特征在于:该方法包括以下步骤:
步骤一、原始素材数据与用户输入的参数经过录入模块,生成对应的配置文件与打包操作所必须的打包路径、打包名称数据;
步骤二、录入模块为打包操作准备好的打包路径、打包名称数据,经过打包模块的获取,结合引擎相关AssetBundle的API,在对应的打包路径批量生成打包好的AssetBundle文件;
步骤三、在业务场景运行时,向加载模块传入配置文件,加载模块经过解析配置文件,找到打包好的路径与AssetBundle文件,依次加载。
8.根据权利要求7所述的assetbundle资源的批量打包与分步加载系统的方法,其特征在于:所述录入模块:用户向图形化界面拖拽素材,录入素材数据,并输入tag和name参数;
录入完成后,点击“确定”按钮,生成json格式的素材数据,为配置文件的生成准备内容;点击“打印”按钮,将转换好的数据写入json文件中。
9.根据权利要求7所述的assetbundle资源的批量打包与分步加载系统的方法,其特征在于:所述打包模块:点击“预打包”按钮,展示打包数据中模型ab包单元与材质ab包单元的数目,当数目为0时,会打包失败,需要刷新一下界面,更新数据;
点击“打包”按钮后,遍历读取SingleBundleUnits数组与CombineBundleUnits数组的单元数据,获取tag和name,从素材的名称扩展出ab包的名称,将文件夹路径与ab包名称组合,拼接出打包路径,将打包路径作为打包方法的参数,进行AssetBundle打包,以此完成整个SingleBundleUnits数组与CombineBundleUnits数组内所有素材的打包操作。
10.根据权利要求7所述的assetbundle资源的批量打包与分步加载系统的方法,其特征在于:所述加载模块:在业务场景中,引入加载模块的脚本,运行时可依据需求执行加载;
加载模块需要获得response.json配置文件的整个内容,进行json格式解析;每个图形化界面打印出的配置内容,都会以对象的形式在配置文件的responselist中,加载时通过拼接responselist中每个对象的tag和name参数获得文件夹路径,通过解析对象中goes数组的每个名称,获得AssetBundle文件名称,结合预先设定的最外部文件夹路径或服务器url,获得整个AssetBundle文件的请求路径,借助引擎的WebRequest请求,加载得到单个AssetBundle资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992303.0A CN115357300A (zh) | 2022-08-18 | 2022-08-18 | 一种assetbundle资源的批量打包与分步加载系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992303.0A CN115357300A (zh) | 2022-08-18 | 2022-08-18 | 一种assetbundle资源的批量打包与分步加载系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357300A true CN115357300A (zh) | 2022-11-18 |
Family
ID=84003414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210992303.0A Pending CN115357300A (zh) | 2022-08-18 | 2022-08-18 | 一种assetbundle资源的批量打包与分步加载系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357300A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116736986A (zh) * | 2023-08-09 | 2023-09-12 | 北京君合创想科技发展有限公司 | 基于原理学习数据交互优化的方法、系统及装置 |
-
2022
- 2022-08-18 CN CN202210992303.0A patent/CN115357300A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116736986A (zh) * | 2023-08-09 | 2023-09-12 | 北京君合创想科技发展有限公司 | 基于原理学习数据交互优化的方法、系统及装置 |
CN116736986B (zh) * | 2023-08-09 | 2023-11-10 | 北京君合创想科技发展有限公司 | 基于原理学习数据交互优化的方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700888B (zh) | 一种基于jbpm工作流引擎的可视化快速开发平台 | |
US6634008B1 (en) | Methodology server based integrated circuit design | |
US20210034336A1 (en) | Executing a process-based software application in a first computing environment and a second computing environment | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
CN114115857B (zh) | 一种机器学习模型自动化生产线构建方法及系统 | |
CN107844424B (zh) | 基于模型的测试系统及方法 | |
CN104679488B (zh) | 一种流程定制开发平台及流程定制开发方法 | |
US6552721B1 (en) | Graphic data generating apparatus, graphic data generation method, and medium of the same | |
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
CN103744647B (zh) | 一种基于工作流可视化开发工具的Java工作流开发系统及其方法 | |
CN101005681A (zh) | 界面自动生成方法和界面自动生成系统 | |
CN106709980B (zh) | 一种基于形式化的复杂三维场景建模方法 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN105930344B (zh) | 一种基于产品研制流程的数据库应用系统快速开发平台 | |
CN111506304A (zh) | 一种基于参数配置的流水线构建方法及系统 | |
US20230102947A1 (en) | Providing operations in accordance with worksheet relationships and data object relationships | |
CN111694547A (zh) | 一种基于数据状态变化的自动编码数据处理应用设计工具 | |
US20060047723A1 (en) | Custom database system and method of building the same | |
CN115357300A (zh) | 一种assetbundle资源的批量打包与分步加载系统及方法 | |
CN106709985A (zh) | 一种虚拟祭祀三维场景的生成方法及装置 | |
CN114117645B (zh) | 一种舰船总体性能预报集成应用系统 | |
Handley et al. | Maintaining the consistency of sysml model exports to XML metadata interchange (XMI) | |
CN105242958B (zh) | 一种虚拟试验系统与hla仿真系统数据交换方法 | |
CN116627418B (zh) | 一种基于递归算法的多级表单界面可视化生成方法及装置 | |
US20100011018A1 (en) | Custom database system and method of building the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |