(1)传统的两种方式:
①Unity编辑器开发,使用自定义打包工具
(一般进公司别人都做好了)
②官方提供好的打包工具:Asset Bundle Browser(本篇案例使用)
官方方式出现相对较晚。
(记得下载安装)
如果是2018或者更老的版本,可通过官方GitHub搜索AssetBundles下载。解压到项目中资源路径即可。
(2)如何让资源和AB包关联起来?
选定好相应AB包或自己新定义一个AB包。即可关联相应AB包。
Unity3d里面C#代码是不能打成AB包的!!!
(3)拓展:明明组件里面能挂载组件,为啥C#代码不能打包成AB包!?
其实组件的本质是利用反射来做的一个机制,预制体内记录的只是一堆数据而已。 我们真正打包的不是C#代码本身,而是预制体关联的C#代码。
(4)最终的打包:选到Build,进行详细操作。
属性解析:
>Build Target:平台目标(IOS/Window/Android等)
>Outoput Path:输出路径(如:AssetBundles/PC等自命名文件路径)
>Clear Folders:是否清空文件夹。
打包很多次,每次打包生成的时候,是否把默认文件夹清空。 √选择的话:可以删减掉一些没用的AB包内容 ×未选择的话:包体越来越大,每次都需要花费大量时间打包。
Copy to StreamingAssets:复制到StreamingAssets文件夹(特殊)
>Compression:压缩方式 第一种NoCompression不压缩,解压快,包较大,不推荐使用。 第二种LZMA压缩最小,但解压比较麻烦。弊端:需要用里面的一个资源的话,会把所有东西都解压出来。麻烦耗性能。 第三种LZ4压缩比LZMA大一点点,但有好处。好处:用时解压缩,用一个解压一个,不会把所有资源解压出来。内存占用相对比较低。
Build后该干什么?
①等待后,右键Refresh文件夹,即可看到StreamingAssets文件夹。(如果勾选的话)
②实际打包位置如下:(与Assets同级;工程文件夹下AssetBundles内)
详细内部解析:
PC:主包,储存依赖关系。包与包之间关键的依赖信息。(非常重要)
model(此处为自命名AB包文件、真正AB包文件):自己打包的AB包文件。
①打包出去没有后缀名的文件,其实就是我们的资源文件。 ②manifest后缀名的文件,其实就是对应的资源文件相关的配置信息。包含:资源、依赖等等…
第三个页签Inspect是什么?(不是特别常用)
其实就是检查页签。主要用于观测AB包信息、大小等,大致了解。