unity 《专题系列》资源打包 Asset Bundles 第二节 Asset Bundles 构建

unity 《专题系列》资源打包 Asset Bundles 


第二节 Asset Bundles 构建


一、AssetBundle构建时使用的关键API


参数简单解释:

1)string outputPath :打包到哪个路径

2)BuildAssetBundleOptions assetBundleOptions:构建方式选择 ,主要有三个选项可选择

a)BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用

LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。

b)BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快

c)BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。

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

3)BuildTarget targetPlatform:构建在哪里使用的目标平台(包括:iOS,Android,PC等)



二、Asset Bundles 构建步骤

1)打开Unity2017,随便构建个GameObject,并给他添加材质,如下图



2)然后把建好的GameObject,作为预制体保存(原来的可以删掉),如下图


3)给预制件,AssetBundle 命名,取后缀,操作如下图




4)新建文件夹和C#脚本(注意:改脚本一定要放在新建的Editor文件夹下,不然后面会有影响),如下图



5)C# 脚本代码,如下图

using UnityEditor;
using System.IO;

public class CreateAssetBundles {

    //在Unity菜单栏中“Assets”下拉菜单中添加“Build AssetBundles”
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        string assetBundleDirectory = "Assets/AssetBundles";
        if (!Directory.Exists(assetBundleDirectory)) {
            //如果目录中没有“AssetBundles”文件夹,就新建该文件夹
            Directory.CreateDirectory(assetBundleDirectory);
        }
        //在 “Assets/AssetBundles”目录下构建到目标平台为StandaloneWindows64的AB包
        BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }

}



6)保存脚本,回到 Unity ,你可以构建你的第一个 AssetBundle 包,如下图



7)构建完,会出现构建生成的文件夹及文件,如下图



8)在工程文件夹下你也会找到这些文件,AssetBundle 基本构建完毕,很简单吧,如下图




参考资料:

声明:如无意中涉及侵权到您的内容,请及时沟通修改,谢谢


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值