Lua笔记三——AssetBundle介绍使用

什么是AssetBundle

        可以归为两点: 1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件) serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个) resource files:某些二进制资源(图片、声音)被单独保存,方便快速加载    2,它是一个AssetBundle对象,我们可以通过代码从一个特定的压缩包加载出来的对象。这个对象包含了所有我们当初添加到这个压缩包里面的内容,我们可以通过这个对象加载出来使用。

用处

        1,AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;     2,AssetBundle自身保存着互相的依赖关系;     3,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输;     4,把一些可以下载内容放在AssetBundle里面,可以减少安装包的大小;

使用流程

        1,指定资源的AssetBundle属性     (xxxa/xxx)这里xxxa会生成目录,名字为xxx    2,构建AssetBundle包    3,上传AB包   4,加载AB包和包里面的资源(接下来将讲解如何将打包)

 

首先在Unity的Project视图创建一个Editor文件夹,然后再创建一个脚本叫做CreateAssetBundle,打开编辑它如下:

using UnityEditor;
using System.IO;

public class CreateAssetBundle {
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundle() {
        string dir = "AssetBundles";
        //判断该项目中是否存在dir文件夹,如果没有就在根目录创建一个文件夹
        if (Directory.Exists(dir) == false) {
            Directory.CreateDirectory(dir);
        }
        //创建ab包,下面方法的第一个参数表示包的路径,第二个参数None表示一种压缩算法,第三个参数表示发布平台
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }
}

[MenuItem("Assets/Build AssetBundles")]  这行代码的意思是在Unity的视图的Assets项中添加Build AssetBundles一项,当鼠标点击这一项后,将会执行该类中的BuildAllAssetBundle方法,来压缩创建得到ab包。当然要想压缩得到ab包,必须要有场景资源。

我们可以选择Unity中的任何一个预设体,在其Inspector面板的右下角拉大,有一个AssetBundle的框,如下:

填写时,左边是资源名称,右边是后缀名(后缀名可以自行设定,如unity),若左边的资源名有斜杠,如 character/player, 表示将在AssetBundle文件夹下面创建了一个character文件夹, 里面有一个player资源

指定以上资源名称后,在点击Unity视图中的Assets --> Build AssetBundles, 即可创建ab包,然后打开该项目文件夹,可以在根目录下面发现已经创建了一个AssetBundle文件夹,里面有一个character文件夹,其里面有一个player.unity文件和一个.manifest文件。下一篇文章将介绍如何从网站加载ab包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值