(1)传统的两种方式:
    ①Unity编辑器开发,使用自定义打包工具

    (一般进公司别人都做好了)

    ②官方提供好的打包工具:Asset Bundle Browser(本篇案例使用)

    官方方式出现相对较晚。

    image.png(记得下载安装)

    如果是2018或者更老的版本,可通过官方GitHub搜索AssetBundles下载。解压到项目中资源路径即可。

    (2)如何让资源和AB包关联起来?
    选定好相应AB包或自己新定义一个AB包。即可关联相应AB包。

    Unity3d里面C#代码是不能打成AB包的!!!

    1654506589927.png
    image.png
    (3)拓展:明明组件里面能挂载组件,为啥C#代码不能打包成AB包!?

    其实组件的本质是利用反射来做的一个机制,预制体内记录的只是一堆数据而已。 我们真正打包的不是C#代码本身,而是预制体关联的C#代码。

    image.png
    (4)最终的打包:选到Build,进行详细操作。
    image.png
    image.png
    image.png
    image.png

    属性解析:
    >Build Target:平台目标(IOS/Window/Android等)
    >Outoput Path:输出路径(如:AssetBundles/PC等自命名文件路径)
    >Clear Folders:是否清空文件夹。

    打包很多次,每次打包生成的时候,是否把默认文件夹清空。 √选择的话:可以删减掉一些没用的AB包内容 ×未选择的话:包体越来越大,每次都需要花费大量时间打包。

    Copy to StreamingAssets:复制到StreamingAssets文件夹(特殊)
    >Compression:压缩方式 第一种NoCompression不压缩,解压快,包较大,不推荐使用。 第二种LZMA压缩最小,但解压比较麻烦。弊端:需要用里面的一个资源的话,会把所有东西都解压出来。麻烦耗性能。 第三种LZ4压缩比LZMA大一点点,但有好处。好处:用时解压缩,用一个解压一个,不会把所有资源解压出来。内存占用相对比较低。

    image.png
    Build后该干什么?
    ①等待后,右键Refresh文件夹,即可看到StreamingAssets文件夹。(如果勾选的话)
    ②实际打包位置如下:(与Assets同级;工程文件夹下AssetBundles内)
    image.png
    详细内部解析:
    image.png
    PC:主包,储存依赖关系。包与包之间关键的依赖信息。(非常重要)
    model(此处为自命名AB包文件、真正AB包文件):自己打包的AB包文件。

    ①打包出去没有后缀名的文件,其实就是我们的资源文件。 ②manifest后缀名的文件,其实就是对应的资源文件相关的配置信息。包含:资源、依赖等等…

    image.png
    第三个页签Inspect是什么?(不是特别常用)
    其实就是检查页签。主要用于观测AB包信息、大小等,大致了解。
    image.png