Unity中AssetBundle打包文件大致解读
本文只讲述使用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打包文件大致解读相关推荐
- 【Unity3D】资源文件 ① ( Unity 中常用的文件类型 | Unity 文件操作 | 文件系统中查看文件 | 添加文件 | 删除文件 | 导入文件 | 复制文件 | 缩略图显示 )
文章目录 一.Unity 中常用的文件类型 二.Unity 文件操作 1.文件系统中查看文件 2.添加目录 / 文件 3.删除目录 / 文件 4.导入资源 5.复制资源 6.缩略图显示 7.meta ...
- unity中监听文件夹并且创建文件夹后做资源更新
unity中监听文件夹并且创建文件夹后做资源更新 有时候我们在设计的时候,可能对项目的文件内容进行监听,也可能需要在监听某个文件夹的操作,并且做出相对应的处理,例如项目资源的大小监听等,以下就提供两种 ...
- Unity中UGUI之Canvas属性解读版本二
Canvas Render Modes(渲染模式) 1.在screen空间中渲染 2.在world空间中渲染 Screen Space-Overlay 在这个渲染模式中,UI元素将在场景的上面.如果场 ...
- Unity 中的特殊文件夹
Unity官方文档: Special folder names You can usually choose any name you like for the folders you create ...
- Unity中导出apk文件
文章目录 一.JDK下载与配置 JDK下载 配置环境变量 二.Android SDK下载 一.通过Android Studio下载 二.直接下载Android SDK 三.导出APK文件 四.注意事项 ...
- Unity中Web.Config文件的配置与调用
在上一篇文章"Unit简单依赖注入"我们可以实现构造对象和被依赖对象之间的 松耦合,使我们的抽象层(Player)能够保持稳定,但是在并没有把客户类和Player类之间彻底解耦,即 ...
- Unity中启动外部文件
启动指定文件夹中的文件,按照其默认的打开方式 例如: 1.mp4格式的会使用电脑的视频播放器 2.ppt格式的会使用office或者wps启动 UnityEngine.Application.Open ...
- [FairyGUI][Unity]FGUI资源打包AssetBundle
参考资料3 将发布后的文件打包为两个AssetBundle,即定义文件和资源各打包为一个bundle(desc_bundle+res_bundle).这样做的好处是一般UI的更新都是修改元件位置什么的 ...
- dll放在unity哪个文件夹下_unity中调用dll文件总结
unity中调用dll文件总结 根据收集的资料,对unity中调用dll文件进行总结,目前常用的两种,在给出vs中封装dll文件的步骤. 一.调用c#中的dll文件 1.1封装dll文件 首先新建一个 ...
最新文章
- node给java发送文件_如何实现node上传文件到后台?
- junit 单元测试 - 参数化测试
- 用st-link通过stvp给stm8下载程序的坑
- 把自己的思想记录下来
- java基础—GUI概述
- vuejs npm chromedriver 报错
- Filter -- 过滤敏感词汇
- Oracle账号及客户端下载
- 2020软考系统架构设计师总结
- C语言学习(一)软件篇
- Flixel Dame 坦克大战(三)完成基本逻辑
- 关于百度ueditor图片上传到OSS问题解决
- Vue :将头像/文本生成二维码
- Linux云计算好学吗?Linux云计算运维学习资料 Vim编辑器
- 2021好用的CI/CD工具推荐清单
- Esrally性能测试步骤与调优
- Ubuntu安装Madagascar
- 一个赛马问题 25匹马5个赛道,每个赛道每次只能跑一匹马,问需要跑几次,能求出跑得最快的三匹马。...
- 游戏存档破解、售卖的危害及解决办法
- 规模较大的四大计算机互联网络,我国的四大互联网络是什么?
热门文章
- 第一只python小爬虫
- 4 变量、作用域与内存
- 8255a初始化c语言程序,单片机8255型号大全(工作字的选择,单片机连接,初始化程序分析)...
- LCHub 1月低代码平台排行榜出炉:宜搭遥遥领先微搭低代码
- 20172328--蓝墨云班课实验--哈夫曼树的编码
- discuz论坛中,如何上传并插入一段本地视频,并支持实时展示、实时播放
- oracle 物料属性批次过期,系列之五:ORACLE EBS 系统主数据管理(C)
- 网景创始人:软件应用无所不在 正吞噬整个世界
- XCTF 攻防世界 MISC杂项 高手进阶区
- 小队pkc++_骑士小队2人金属第一印象