AssetBundle - 打包
作者:互联网
AssetBundle
Asset Bundle的作用
- AssetBundle是一个压缩包包含模型、贴图、预制体、声音、场景,可以在游戏运行的时候被加载;
- AssetBundle自身保存着互相的依赖关系;
- 压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输;
- 把一些可以下载内容放在AssetBundle里面,可以减少安装包的大小;
自己创建 AssetBundle 简易打包菜单
using UnityEditor;
using System.IO;
public class CreateAssetbundles {
[MenuItem("AssetsBundle/Build AssetBundles")]
static void BuildAllAssetBundles()//进行打包
{
string dir = "AssetBundles";
//判断该目录是否存在
if (Directory.Exists(dir) == false)
{
Directory.CreateDirectory(dir);//在工程下创建AssetBundles目录
}
//参数一为打包到哪个路径,参数二压缩选项 参数三 平台的目标
BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None,BuildTarget.StandaloneWindows64);
}
}
BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。
BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快
BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。
推荐使用LZ4压缩,可以获得跟不压缩模式相媲美的加载速度,而且比不压缩文件要小,比LZMA包体略大。
项目中直接导入现有的 AssetBundle 打包工具
-
2017版本前的unity,可以去 git hub上下载 Unity Asset Bundle Browser tool https://github.com/Unity-Technologies/AssetBundles-Browser
这是一个AssetBundle的查看工具,是Unity官方发布的一个扩展工具,可以查看帮助打包AssetBundle和
-
unity 2017 以上版本的,package manager中已经集成了相关文件的下载,可直接在项目中 Install
AssetBundle 打包操作说明
注:打包操作说明,以现有的集成好的打包工作为使用案例进行说明
- 先随便先创建两个3D对象,Cube和Capsule,并将他们做成Prefab,然后去指定资源的AssetBundle属性,这里我将这两个模型都打包成model.ab包
(xxx/common)这里xxx会生成目录,名字为common ,后面的ab是后缀名,可自己制定。
然后使用 asset bundle browser 工具进行打包
输出后的包在项目目录下可以查看
Asset Bundle Browser tool 页面说明
1. 所需打包资源的相关预览界面
2. Build界面
- Build Target - 构建捆绑包的目标平台 Output Path - 用于保存构建的捆绑包的路径。默认为
AssetBundles/。可以手动编辑该路径,也可以选择“Browse”。要恢复默认命名约定,请点击“Reset”。 - Clear Folders - 在构建之前删除构建路径文件夹中的所有数据。
- Copy to StreamingAssets - 构建完成后,将结果复制到 Assets/StreamingAssets。对测试很有用,但不会用于生产。
- Advanced Settings
- Compression - 在无压缩、标准 LZMA 压缩或基于块的 LZ4 压缩之间进行选择。
- Exclude Type Information - 在资源包中不包括类型信息
- Force Rebuild - 重新构建需要构建的捆绑包。与“Clear Folders”不同,因为此选项不会删除不再存在的捆绑包。
- Ignore Type Tree Changes - 在执行增量构建检查时忽略类型树更改。
- Append Hash - 将哈希附加到资源包名称。
- Strict Mode - 如果在此期间报告任何错误,则构建无法成功。
- Dry Run Build - 进行干运行构建。
3. Inspect 检查已打包的相关资源
标签:LZMA,压缩,LZ4,AssetBundle,构建,打包 来源: https://blog.csdn.net/hycai_007/article/details/121380465