一.资源打包选项
在AssetBundle 打包过程中,有一个BuildAssetBundleOptions 枚举类型,通过设置不同的枚举参数,可以实现不同的压缩方式。 1.BuildAssetBundleOptions.None 使用LZMA 压缩算法进行压缩,打包后的资源体积最小。 [代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class test
{
//LZMA压缩
[MenuItem(“Build/AssetBundle(LZMA压缩)”)]
static void Build01()
{
string path = Application.dataPath + “/AssetBundless”;
BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
Debug.Log("LZMA压缩打包成功");
}
//无压缩
\[MenuItem("Build/AssetBundle(无压缩)")\]
static void Build02()
{
string path = Application.dataPath + "/AssetBundless";
BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.UncompressedAssetBundle, BuildTarget.StandaloneWindows64);
Debug.Log("无压缩打包成功");
}
//LZ4压缩
\[MenuItem("Build/AssetBundle(LZ4压缩)")\]
static void Build()
{
string path = Application.dataPath + "/AssetBundless";
BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.StandaloneWindows64);
Debug.Log("LZ4压缩打包成功");
}
}
二.manifest 文件
AssetBundle 打包完毕后的资源包,由两部分组成。 一:资源打包出来的AssetBundle 文件; 二:AssetBundle 文件配套的manifest 文本文件。 1.meta文件: .meta 文件不属于AssetBundle 打包后的产物。 在Unity3D 环境内,每个资源都会自动生成一个同名同后缀的.meta 文件。这个文件用于存储该资源的一些基本信息。 比如:“创建时间,版本ID,AssetBundle 名称,后缀等信息”。 找到player的prefab文件,打开它的meta文件,如图所示,可以看到meta记录了player被打包的名字和后缀。 [