本文只讲述使用AssetBundle打包出来的几种文件信息。如果想学习怎么打包资源的话,请挪步UnityAssetBundle打包

目录

  • 前提1:只有一个AssetBundle,打包资源数量为一个
    • 打包成功后生成的文件
    • 文件“AssetBundles”
    • 文件“AssetBundles.manifest”
    • 文件“wall.vvb”
    • 文件“wall.vvb.manifest”
  • 前提2:只有一个AssetBundle,打包资源数量为多个
    • 打包成功后生成的文件
    • 文件“AssetBundles”
    • 文件“wall.vvb.manifest”
    • 文件“wall.vvb”
    • 文件“AssetBundles.manifest”
  • 前提3:两个AssetBundle
    • 打包成功后生成的文件
    • 文件“AssetBundles”
    • 文件“AssetBundles.manifest”
    • 文件“wall.vvb”
    • 文件“wall.vvb.manifest”
    • 文件“wall2.vvb”
    • 文件“wall2.vvb.manifest”
  • 总结:

前提1:只有一个AssetBundle,打包资源数量为一个

以打包一个cube预制体为例。cube预制体设置如下图

打包成功后生成的文件

打包完成,会生成以下文件

文件“AssetBundles”

这个文件我也没搞懂。不过应该是此目录的一些配置文件吧。跟AssetBundle包的使用好像并无太大关联。(知道的朋友可以留言说明一下)

文件“AssetBundles.manifest”

这个文件大家可以使用记事本打开,可以看到里面存储的是ab包的信息。由于这里只有一个ab包,所以看不出来。实际上这里记录着所有ab包。打开如下

文件“wall.vvb”

这个文件就是我们获取资源时,需要读取的文件。此文件才是真正包含着所有资源。你可把它当做Unity资源打包时,压缩后的资源集合。

文件“wall.vvb.manifest”

这个文件包含了“wall.vvb”资源中打包了哪些信息。因为暂时只打包了一个wall,所以“Assets”字段只有一条记录。而一来项“Dependencies”字段为空是因为我们并没有设置一来ab包;具体有关AssetBundle依赖的问题就不在此详述。打开如下

前提2:只有一个AssetBundle,打包资源数量为多个

将与cube相关的资源都进行打包,且打包到同一个AssetBundle包中。新增资源如下图

打包成功后生成的文件

依然是四个文件。因为我们依然只有一个ab包。

文件“AssetBundles”

同上,不多做解释。

文件“wall.vvb.manifest”

先打开看看:

很容易发现,除了CRC,其他均无变化。这是因为AssetBundleInfos中保存的是包数量的信息。我们因为只有一个包,所以没变化。至于CRC,简单来说就是你的资源放到服务器上,别人要下载时,可以通过这个进行文件完整性验证。详细内容大家可以去查阅官方文档。

文件“wall.vvb”

大家应该发现这个文件变大了;这是因为我们加进去的资源变多了。所以这个资源“压缩包”就变大了。

文件“AssetBundles.manifest”

打开先看看:
这里Assets多了几条记录,也就是我们新加进此AssetBundle的资源。然后CRC也发生了变化。

前提3:两个AssetBundle

两个AssetBundle同时打包出来,会发生什么呢?
首先,保持前提2,我们再将之前的cube进行赋值一份,但我们设置成两个AssetBundle进行打包。如下图:


下面是AssetBundle设置

打包成功后生成的文件


我们发现,比之前多了一个“wall2.vvb”和“wall2.vvb.manifest”

文件“AssetBundles”

同上,不赘述。

文件“AssetBundles.manifest”

先打开看看:

与之前相比,除CRC依然变化了之外,AssetBundleInfos也发生了变化。这是因为我们新增了一个名字为“wall2”的AssetBundle。

文件“wall.vvb”

与之前相同,大小也无变化。
因为我们对此AssetBundle没做更改,既没增也没减。

文件“wall.vvb.manifest”

打开看:

我们发现,这个没有发生任何变化。是因为记录中并没有新增吗?这个大家可以尝试删除之前打包好的文件再重新打包一下,看看CRC是否是因为资源量没变更而保持一致呢?

文件“wall2.vvb”

这个跟“wall1.vvb”作用一模一样,就是相当于一个资源的集合。我们在程序代码中引用的,也是这个。

文件“wall2.vvb.manifest”

我相信很多小伙伴已经才到里面的内容了。话不多说,来看看是否与你想的一样呢。

没错,这个就跟前提1时的“wall1.vvb.manifest”一样。

同时“Dependencies”也多了一条记录。简单说一下,由于我们在"wall.vvb"包中已经对材质和贴图进行打包,而“Wall2.prefab”是从“Wall1.prefab”赋值过来的,也就是使用的资源在“wall.vvb”已经打包了,这样Unity会自动生成一个依赖,而不至于再次进行打包。

这里还涉及到打包分组策略的一下知识。我也就不多说了。大伙儿可以自己通过文章开头链接学习一下打包过程,自己多打包几次,观察一下打包大小还有manifest文件内容变化。

总结:

其实还有一种情况没有说明,那就是在指定AssetBundle时,可以使用“AB/Scene/Wall”这种形式。系统会根据你的目录结构查找,如果没有文件则会创建文件。大家可以动手测试一下。
最后,如果有什么讲错的地方,希望大伙评论区指正。谢谢!

Unity中AssetBundle打包文件大致解读相关推荐

  1. 【Unity3D】资源文件 ① ( Unity 中常用的文件类型 | Unity 文件操作 | 文件系统中查看文件 | 添加文件 | 删除文件 | 导入文件 | 复制文件 | 缩略图显示 )

    文章目录 一.Unity 中常用的文件类型 二.Unity 文件操作 1.文件系统中查看文件 2.添加目录 / 文件 3.删除目录 / 文件 4.导入资源 5.复制资源 6.缩略图显示 7.meta ...

  2. unity中监听文件夹并且创建文件夹后做资源更新

    unity中监听文件夹并且创建文件夹后做资源更新 有时候我们在设计的时候,可能对项目的文件内容进行监听,也可能需要在监听某个文件夹的操作,并且做出相对应的处理,例如项目资源的大小监听等,以下就提供两种 ...

  3. Unity中UGUI之Canvas属性解读版本二

    Canvas Render Modes(渲染模式) 1.在screen空间中渲染 2.在world空间中渲染 Screen Space-Overlay 在这个渲染模式中,UI元素将在场景的上面.如果场 ...

  4. Unity 中的特殊文件夹

    Unity官方文档: Special folder names You can usually choose any name you like for the folders you create ...

  5. Unity中导出apk文件

    文章目录 一.JDK下载与配置 JDK下载 配置环境变量 二.Android SDK下载 一.通过Android Studio下载 二.直接下载Android SDK 三.导出APK文件 四.注意事项 ...

  6. Unity中Web.Config文件的配置与调用

    在上一篇文章"Unit简单依赖注入"我们可以实现构造对象和被依赖对象之间的 松耦合,使我们的抽象层(Player)能够保持稳定,但是在并没有把客户类和Player类之间彻底解耦,即 ...

  7. Unity中启动外部文件

    启动指定文件夹中的文件,按照其默认的打开方式 例如: 1.mp4格式的会使用电脑的视频播放器 2.ppt格式的会使用office或者wps启动 UnityEngine.Application.Open ...

  8. [FairyGUI][Unity]FGUI资源打包AssetBundle

    参考资料3 将发布后的文件打包为两个AssetBundle,即定义文件和资源各打包为一个bundle(desc_bundle+res_bundle).这样做的好处是一般UI的更新都是修改元件位置什么的 ...

  9. dll放在unity哪个文件夹下_unity中调用dll文件总结

    unity中调用dll文件总结 根据收集的资料,对unity中调用dll文件进行总结,目前常用的两种,在给出vs中封装dll文件的步骤. 一.调用c#中的dll文件 1.1封装dll文件 首先新建一个 ...

最新文章

  1. node给java发送文件_如何实现node上传文件到后台?
  2. junit 单元测试 - 参数化测试
  3. 用st-link通过stvp给stm8下载程序的坑
  4. 把自己的思想记录下来
  5. java基础—GUI概述
  6. vuejs npm chromedriver 报错
  7. Filter -- 过滤敏感词汇
  8. Oracle账号及客户端下载
  9. 2020软考系统架构设计师总结
  10. C语言学习(一)软件篇
  11. Flixel Dame 坦克大战(三)完成基本逻辑
  12. 关于百度ueditor图片上传到OSS问题解决
  13. Vue :将头像/文本生成二维码
  14. Linux云计算好学吗?Linux云计算运维学习资料 Vim编辑器
  15. 2021好用的CI/CD工具推荐清单
  16. Esrally性能测试步骤与调优
  17. Ubuntu安装Madagascar
  18. 一个赛马问题 25匹马5个赛道,每个赛道每次只能跑一匹马,问需要跑几次,能求出跑得最快的三匹马。...
  19. 游戏存档破解、售卖的危害及解决办法
  20. 规模较大的四大计算机互联网络,我国的四大互联网络是什么?

热门文章

  1. 第一只python小爬虫
  2. 4 变量、作用域与内存
  3. 8255a初始化c语言程序,单片机8255型号大全(工作字的选择,单片机连接,初始化程序分析)...
  4. LCHub 1月低代码平台排行榜出炉:宜搭遥遥领先微搭低代码
  5. 20172328--蓝墨云班课实验--哈夫曼树的编码
  6. discuz论坛中,如何上传并插入一段本地视频,并支持实时展示、实时播放
  7. oracle 物料属性批次过期,系列之五:ORACLE EBS 系统主数据管理(C)
  8. 网景创始人:软件应用无所不在 正吞噬整个世界
  9. XCTF 攻防世界 MISC杂项 高手进阶区
  10. 小队pkc++_骑士小队2人金属第一印象