Unity打包Asset Bundle

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Exclaiming/article/details/81050256

1.将打包的资源做成prefab,修改prefab的AssetBundle;


2.在Assets下新建Editor文件夹,在Editor下新建打包脚本;

using UnityEditor;
using System.IO;
public class CreateAssetBundles
{
[MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles() //按照标签打包所有资源
    {
        string dir = "AssetBundles";
        if (Directory.Exists(dir) == false)//判断在根目录下是否含有AssetBundles文件夹,如果没有,进行创建
        {
            Directory.CreateDirectory(dir);
        }
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);//注意平台的选择,这里选择PC端运行,
                                                                                                         //可选择安卓或iOS等
    }

}

3.会将资源打包到根目录下的Asset Bundle文件夹;

4.Build Asset Bundles

1),dir为Build的路径(随意只要是在硬盘上都可以的)
2),BuildAssetBundleOptions
BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。
BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快
BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。


注意使用LZ4压缩,可以获得可以跟不压缩想媲美的加载速度,而且比不压缩文件要小。

3)build平台


猜你喜欢

转载自blog.csdn.net/Exclaiming/article/details/81050256