AssetsBundle

1.什么是AssetsBundle

AssetBundle首先从字面意思理解为资源捆绑,那么他的作用就是将一部分资源(模型,贴图,材质,预制体,声音场景等等),打包压缩在一起。

2.AssetsBundle的作用

1.减少包体大小
2.热更新

3.如何使用AssetsBundle

1.创建一个预制体,如示例Player
在这里插入图片描述
2.选中预制体,设置AssetsBundle的名字,如示例Player
设置了assetsbundle的名字,则表明该预制体需要打包,同样名字的资源,会打进同一个assertsbundle里
在这里插入图片描述
3.添加打包工具按钮,执行打包操作
在这里插入图片描述

using UnityEngine;
using System.Collections;
using UnityEditor;
public class CreatAssetBundle {
    [MenuItem("Assets/BuildAssetBundle")]
    static void BuildAssetBundle()
    {
        Debug.Log("Make AssetsBundle");
        BuildPipeline.BuildAssetBundles("Assets/AssetsBundle", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal);
    }
}

打包AIP是BuildPipeline.BuildAssetBundles(“Assets/AssetsBundle”, BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal);
参数解析(打包后的AssetsBundle存放路径,压缩方式,平台)
压缩方式:
1)BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长,需要解压全部
2)BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快 
3)BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。
注意:使用LZ4压缩,可以获得可以跟不压缩相媲美的加载速度,而且比不压缩文件要小。
4.打包后的资源
在这里插入图片描述

文件后缀为.manifest是包信息
5.通过WWW加载打包文件
在场景创建一个空物体,命名为AssetManager,然后加上LoadAssetBundle.cs脚本

在这里插入图片描述

using UnityEngine;
using System.Collections;

public class LoadAssetBundle : MonoBehaviour {
    public string url;
    public string assetname;
	// Use this for initialization
	IEnumerator Start () {
        using( WWW www = new WWW(url))
        {
            yield return www;
            if (www.error != null)
            {
                Debug.Log("网络错误");
            }
            else
            {
                AssetBundle bundle = www.assetBundle;
                Object obj = bundle.LoadAsset(assetname);
                Instantiate(obj);
                bundle.Unload(false);
            }
            www.Dispose();
        }
	}
}

创建两个string对象,一个传入assetsbundle所在路径,一个传入assetsbundle的名字

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值