CN112416325A - 一种Unity中构建ab包的方法及终端 - Google Patents

一种Unity中构建ab包的方法及终端 Download PDF

Info

Publication number
CN112416325A
CN112416325A CN201910777544.1A CN201910777544A CN112416325A CN 112416325 A CN112416325 A CN 112416325A CN 201910777544 A CN201910777544 A CN 201910777544A CN 112416325 A CN112416325 A CN 112416325A
Authority
CN
China
Prior art keywords
file
unidentifiable
unity
package
temporary
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
Application number
CN201910777544.1A
Other languages
English (en)
Inventor
刘德建
罗弘
郭玉湖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN201910777544.1A priority Critical patent/CN112416325A/zh
Publication of CN112416325A publication Critical patent/CN112416325A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/48Incremental compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开一种Unity中构建ab包的方法及终端,在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;所述不可识别文件对应的ab包构建完成后,删除所述临时文件;对不可识别文件的复制及修改均在ab编辑器中,并且是在编译中执行,步骤简化,不需要依赖第三方工具,也不需要用户去维护,整个过程完全自动,避免出错,实现简便、准确地对Unity不识别文件构建ab包。

Description

一种Unity中构建ab包的方法及终端
技术领域
本发明涉及软件开发领域,尤其涉及一种unity中构建ab包的方法及终端。
背景技术
在Unity3D开发中,无论模型、音频,还是图片等,都做成Prefab,然后打包成AssetBunbdle(简称ab包),方便后续的使用,达到资源的更新。AssetBunbdle是一个资源压缩包,包含模型、贴图、预制体、声音,甚至整个场景,可以在游戏运行的时候被加载。
Unity在构建ab包时,对有些文件格式并不支持,无法识别一些格式的文件,比如lua文件,Unity并无法识别。
为了能够对Unity无法识别的文件也能够构建ab包,现有的一种方式是用户手动修改文件后缀并加入ab包列表进行构建。但是,修改了后缀的文件在lua编辑器进行打开时,所有的语法也会失效,所以又需要用户改回后缀进行代码编写。这种处理方式过程麻烦,并且修改文件后缀也会修改了Unity的目录结构,造成文件管理的混乱。另一种方式是在lua文件编译之前借助第三方工具提前在其他的临时文件夹中生成对应的临时文件,然后对临时文件进行打包再编译。但是,这种方式步骤较多,需要借助第三方工具,并且在对lua文件进行修改时容易出现遗漏。
发明内容
本发明所要解决的技术问题是:提供一种Unity中构建ab包的方法及终端,能够实现对Unity不识别文件构建ab包,不仅简便,而且出错率低。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种Unity中构建ab包的方法,包括步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种Unity中构建ab包的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
本发明的有益效果在于:在ab包的构建过程中复制待生成ab包的Unity不可识别文件,作为临时文件,并将临时文件修改为Unity可识别的文件类型,修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包,构建完成后自动删除所述临时文件,对不可识别文件的复制及修改均在ab编辑器中,并且是在编译中执行,步骤简化,不需要依赖第三方工具,也不需要用户去维护,整个过程完全自动,避免出错,实现简便、准确地对Unity不识别文件构建ab包。
附图说明
图1为本发明实施例的一种Unity中构建ab包的方法的步骤流程图;
图2为本发明实施例的一种Unity中构建ab包的终端的结构示意图;
图3为本发明实施例的在Unity中构建不识别文件成ab包后ab包编辑器的示意图;
图4为本发明实施例的在Unity中构建不识别文件成ab包后Unity目录的示意图;
图5为本发明实施例的在Unity中构建不识别文件成ab包后ab包的示意图;
标号说明:
1、一种Unity中构建ab包的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种Unity中构建ab包的方法,包括步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
从上述描述可知,本发明的有益效果在于:在ab包的构建过程中复制待生成ab包的Unity不可识别文件,作为临时文件,并将临时文件修改为Unity可识别的文件类型,修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包,构建完成后自动删除所述临时文件,对不可识别文件的复制及修改均在ab编辑器中,并且是在编译中执行,步骤简化,不需要依赖第三方工具,也不需要用户去维护,整个过程完全自动,避免出错,实现简便、准确地对Unity不识别文件构建ab包。
进一步的,所述步骤S1之前包括步骤:
S0、对待构建ab包的不可识别文件的后缀进行标记后加入ab编辑器,并将所述标记对应的标识添加到所述ab编辑器的查询列表中;
所述步骤S1包括:
根据所述查询列表中的标识在ab编辑器中识别并找到加入的待构建ab包的不可识别文件。
由上述描述可知,在添加ab编辑器前,通过对Unity不可识别文件的后缀的标记,并将所述标记对应的标识添加到ab编辑器的查新列表中,能够实现Unity对不可识别文件的识别,并且能够实现高效可靠地对ab编辑器中的不可识别文件的查找。
进一步的,所述修改所述不可识别文件对应的ab包的内容索引至所述临时文件包括:
获取所述临时文件的目录索引,将所述不可识别文件对应的ab包的文件索引更新为所述临时文件的目录索引。
由上述描述可知,通过在打包过程中动态修改ab包的文件索引使得整个ab包的生成过程用户看不到临时文件的生成,不会有文件管理的错乱感。
进一步的,所述不可识别文件包括lua文件。
进一步的,所述将所述临时文件的后缀修改为Unity可识别的文件类型包括:
将所述临时文件的后缀修改为.byte或.obj或.unity或.prefab或.txt。
由上述描述可知,改成任意Unity可识别的文件类型即可,灵活性高;unity显示可以主动加标记的方式来实现(这样可以让任意类型的的文件在unity编辑时显示);但unity内部的构建ab包逻辑是包含在unity内部代码中;所以在构建AB包这一步需要还原到unity能够识别的文件;.byte或.obj或.unity或.prefab或.txt都行。
请参照图2,一种Unity中构建ab包的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
从上述描述可知,本发明的有益效果在于:在ab包的构建过程中复制待生成ab包的Unity不可识别文件,作为临时文件,并将临时文件修改为Unity可识别的文件类型,修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包,构建完成后自动删除所述临时文件,对不可识别文件的复制及修改均在ab编辑器中,并且是在编译中执行,步骤简化,不需要依赖第三方工具,也不需要用户去维护,整个过程完全自动,避免出错,实现简便、准确地对Unity不识别文件构建ab包。
进一步的,所述步骤S1之前包括步骤:
S0、对待构建ab包的不可识别文件的后缀进行标记后加入ab编辑器,并将所述标记对应的标识添加到所述ab编辑器的查询列表中;
所述步骤S1包括:
根据所述查询列表中的标识在ab编辑器中识别并找到加入的待构建ab包的不可识别文件。
由上述描述可知,在添加ab编辑器前,通过对Unity不可识别文件的后缀的标记,并将所述标记对应的标识添加到ab编辑器的查新列表中,能够实现Unity对不可识别文件的识别,并且能够实现高效可靠地对ab编辑器中的不可识别文件的查找。
进一步的,所述修改所述不可识别文件对应的ab包的内容索引至所述临时文件包括:
获取所述临时文件的目录索引,将所述不可识别文件对应的ab包的文件索引更新为所述临时文件的目录索引。
由上述描述可知,通过在打包过程中动态修改ab包的文件索引使得整个ab包的生成过程用户看不到临时文件的生成,不会有文件管理的错乱感。
进一步的,所述不可识别文件包括lua文件。
进一步的,所述将所述临时文件的后缀修改为Unity可识别的文件类型包括:
将所述临时文件的后缀修改为.byte或.obj或.unity或.prefab或.txt。
由上述描述可知,改成任意Unity可识别的文件类型即可,灵活性高;unity显示可以主动加标记的方式来实现(这样可以让任意类型的的文件在unity编辑时显示);但unity内部的构建ab包逻辑是包含在unity内部代码中;所以在构建AB包这一步需要还原到unity能够识别的文件;.byte或.obj或.unity或.prefab或.txt都行。
实施例一
请参照图1,一种Unity中构建ab包的方法,包括步骤:
S0、对待构建ab包的不可识别文件的后缀进行标记后加入ab编辑器,并将所述标记对应的标识添加到所述ab编辑器的查询列表中;
所述不可识别文件包括lua文件,也可以是其他不可识别文件;
由于要进行构建ab包的文件是Unity不可识别的文件,为了让Unity能够进行识别,需要对这些不可识别文件进行标记,并将所述标记对应的标识添加到ab编辑器的识别列表;
具体的,可以对.lua后缀进行标记EditorConst.LuaScriptAssetLabel,也可是对其它任何Unity不可识别文件后缀进行标记;
标记完后,将后缀标记后的不可识别文件添加到Unity的ab编辑器中,并将所述标记对应的标识添加到ab编辑器的查询列表;
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
具体的,根据所述查询列表中的标识在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
所述将所述临时文件的后缀修改为Unity可识别的文件类型包括:
将所述临时文件的后缀修改为.byte或.obj或.unity或.prefab或.txt;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
其中,所述修改所述不可识别文件对应的ab包的内容索引至所述临时文件包括:
获取所述临时文件的目录索引,将所述不可识别文件对应的ab包的文件索引更新为所述临时文件的目录索引;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件;
在完成不可识别文件的标记并识别之后,接下来是ab包的构建流程,具体流程如下:
Unity的每一个ab包的内容都是AssetBundleBuild[];
在ab包构建之前,提取AssetBundleBuild[];找到后缀为lua的文件,在同目录下复制该lua文件,作为临时文件,将所述临时变为后缀为.byte的文件;
获取修改了后缀的临时文件的Unity目录索引asset.Guid;
修改AssetBundleBuild[]的文件索引为所述目录索引asset.Guid;
待ab包构建结束后,将所述临时文件删除;
每个文件在Unity中都有唯一路径md5指向,在打包过程中,通过动态修改ab包的文件路径信息,实现打包;
上述构建ab包的方法可以适用于任何Unity不可识别的文件的ab包的构建;
图3所示为通过上述方法完成ab包构建后的ab包编辑器的示意图,可以看到,lua文件完整的加入到ab包中;
图4所示为通过上述方法完成ab包构建后的Unity目标的示意图,可以看到,Unity目录结构不做任何改变,文件还是后缀为.lua;
图5所示为通过上述方法完成ab包构建后的ab包的示意图,可以看到生成了完整的lua ab资源包。
实施例二
请参照图2,一种Unity中构建ab包的终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
综上所述,本发明提供的一种Unity中构建ab包的方法及终端,对Unity不可识别的文件进行标记,并加入ab编辑器,在ab包的构建过程中,根据所述标记识别不可识别文件,并在同一目录下复制所述不可识别文件,作为临时文件,将临时文件的后缀修改为Unity可识别的文件类型,并在打包过程中,动态修改不可识别文件对应的ab包的目录索引,在构建完成后,删除所述临时文件,实现Unity能够识别到不可识别的文件,并在ab编辑器中显示,并且在ab打包过程中文件名不变的情况下,修改文件指向索引,整个过程用户无感知到临时文件的生成,不会有文件管理的错乱感,并且实现了简便、准确的在Unity中构建不识别文件成ab包。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种Unity中构建ab包的方法,其特征在于,包括步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
2.根据权利要求1所述的一种Unity中构建ab包的方法,其特征在于,所述步骤S1之前包括步骤:
S0、对待构建ab包的不可识别文件的后缀进行标记后加入ab编辑器,并将所述标记对应的标识添加到所述ab编辑器的查询列表中;
所述步骤S1包括:
根据所述查询列表中的标识在ab编辑器中识别并找到加入的待构建ab包的不可识别文件。
3.根据权利要求1所述的一种Unity中构建ab包的方法,其特征在于,所述修改所述不可识别文件对应的ab包的内容索引至所述临时文件包括:
获取所述临时文件的目录索引,将所述不可识别文件对应的ab包的文件索引更新为所述临时文件的目录索引。
4.根据权利要求1至3中任一项所述的一种Unity中构建ab包的方法,其特征在于,所述不可识别文件包括lua文件。
5.根据权利要求1至3中任一项所述的一种Unity中构建ab包的方法,其特征在于,所述将所述临时文件的后缀修改为Unity可识别的文件类型包括:
将所述临时文件的后缀修改为.byte或.obj或.unity或.prefab或.txt。
6.一种Unity中构建ab包的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、在ab编辑器中识别并找到加入的待构建ab包的不可识别文件;
S2、在ab编辑器的同目录下复制所述不可识别文件,作为临时文件,将所述临时文件的后缀修改为Unity可识别的文件类型;
S3、修改所述不可识别文件对应的ab包的内容索引至所述临时文件,构建所述不可识别文件对应的ab包;
S4、所述不可识别文件对应的ab包构建完成后,删除所述临时文件。
7.根据权利要求6所述的一种Unity中构建ab包的终端,其特征在于,所述步骤S1之前包括步骤:
S0、对待构建ab包的不可识别文件的后缀进行标记后加入ab编辑器,并将所述标记对应的标识添加到所述ab编辑器的查询列表中;
所述步骤S1包括:
根据所述查询列表中的标识在ab编辑器中识别并找到加入的待构建ab包的不可识别文件。
8.根据权利要求6所述的一种Unity中构建ab包的终端,其特征在于,所述修改所述不可识别文件对应的ab包的内容索引至所述临时文件包括:
获取所述临时文件的目录索引,将所述不可识别文件对应的ab包的文件索引更新为所述临时文件的目录索引。
9.根据权利要求6至8中任一项所述的一种Unity中构建ab包的终端,其特征在于,所述不可识别文件包括lua文件。
10.根据权利要求6至8中任一项所述的一种Unity中构建ab包的终端,其特征在于,所述将所述临时文件的后缀修改为Unity可识别的文件类型包括:
将所述临时文件的后缀修改为.byte或.obj或.unity或.prefab或.txt。
CN201910777544.1A 2019-08-22 2019-08-22 一种Unity中构建ab包的方法及终端 Pending CN112416325A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910777544.1A CN112416325A (zh) 2019-08-22 2019-08-22 一种Unity中构建ab包的方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910777544.1A CN112416325A (zh) 2019-08-22 2019-08-22 一种Unity中构建ab包的方法及终端

Publications (1)

Publication Number Publication Date
CN112416325A true CN112416325A (zh) 2021-02-26

Family

ID=74779750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910777544.1A Pending CN112416325A (zh) 2019-08-22 2019-08-22 一种Unity中构建ab包的方法及终端

Country Status (1)

Country Link
CN (1) CN112416325A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113317A1 (zh) * 2015-12-31 2017-07-06 深圳配天智能技术研究院有限公司 一种文件编辑方法和文件编辑器
CN108984171A (zh) * 2018-05-30 2018-12-11 福建天泉教育科技有限公司 基于Unity3D的场景持续构建方法、存储介质
CN109508319A (zh) * 2018-11-09 2019-03-22 武汉兴联云立方科技有限公司 一种3d跨平台资源管理系统和方法
CN109598080A (zh) * 2018-12-13 2019-04-09 佛山市超体软件科技有限公司 一种3d设计图快速自动式转化处理系统及其使用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113317A1 (zh) * 2015-12-31 2017-07-06 深圳配天智能技术研究院有限公司 一种文件编辑方法和文件编辑器
CN108984171A (zh) * 2018-05-30 2018-12-11 福建天泉教育科技有限公司 基于Unity3D的场景持续构建方法、存储介质
CN109508319A (zh) * 2018-11-09 2019-03-22 武汉兴联云立方科技有限公司 一种3d跨平台资源管理系统和方法
CN109598080A (zh) * 2018-12-13 2019-04-09 佛山市超体软件科技有限公司 一种3d设计图快速自动式转化处理系统及其使用方法

Similar Documents

Publication Publication Date Title
CN107918666B (zh) 一种区块链上的数据同步方法和系统
US5623661A (en) System for and method of providing delta-versioning of the contents of PCTE file objects
US7739679B2 (en) Object ordering tool for facilitating generation of firmware update friendly binary image
CN106407111B (zh) 终端测试装置、终端测试设备及变量维护方法
CN107341014A (zh) 电子设备、技术文档的生成方法及装置
EP2751675A1 (en) Describing native application programming interfaces of an operating system with metadata
WO2024045382A1 (zh) 区块链中实现反射机制
CN112817657B (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN102073633A (zh) 资源文件的存储访问方法及装置
EP2988226A1 (en) Electronic document data updating method and device
WO2019041891A1 (zh) 升级包的生成方法及装置
US7966600B2 (en) Distributed resource understanding tool management
JP2005063449A (ja) オブジェクトからオブジェクトへのJavaネイティブインタフェースマッピングの方法及び装置
CN112698868A (zh) 一种应用于多系统的统一错误码方法和存储设备
CN110245311B (zh) 局部页面动态渲染方法及装置
CN107423291A (zh) 一种数据翻译方法以及客户端设备
CN112860232B (zh) 组件实施方法及装置
CN112416325A (zh) 一种Unity中构建ab包的方法及终端
CN106484375B (zh) 一种指令块加载方法、软交换设备及系统
CN108595160B (zh) Js调用原生对象的方法、存储介质
CN111414107A (zh) 可缩放矢量图形处理方法及系统
CN116400914A (zh) 一种基于数据模型快速构建web应用的方法
CN116975437A (zh) 信息处理方法、装置、设备、存储介质及程序产品
CN106469048A (zh) 一种调用属性配置文件中内容的方法和装置
CN107506299A (zh) 一种代码分析方法及终端设备

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